Saya percaya semua orang akrab dengan konsep pencegat dan bagian. Dalam artikel ini, kita akan melihat beberapa penggunaan pencegat dan bagian di pasar aplikasi.
Penggunaan Interceptor: Setiap kali permintaan diterima, metode dalam pencegat ini akan dipanggil. Jika metode prehandle mengembalikan true, itu berarti bahwa pengontrol yang sesuai akan terus dipanggil. Jika mengembalikan false,
Public Class CheckLogInInterceptor mengimplementasikan handlerInterceptor {private Logger Logger = Logger.getLogger (checkLogInInterceptor.class); string statis private Token_valid_msg; static {Token_valid_msg = jsonutil.writeBject2json (codenresultVo (codenuTil.writeDject2json (codenresultvo (codeneMo.wenvalid. Codemessage.token_valid));} prehandle boolean publik (permintaan httpservletrequest, respons httpservletResponse, penangan objek) melempar pengecualian {//request.getMethod mendapatkan permintaan, posting, dll. Jika ("opsi" .Equals (request.getmethod ()))) {ifices. response.setHeader("Access-Control-Allow-Origin", "*");// Response type response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");// Response header set response.setHeader("Access-Control-Allow-Headers", "Content-Type, x-requested-with, X-Custom-Header");response.setStatus(204);return true;}// Get the data obtained from the header String userName = request.getHeader(CommonConsts.PARAM_USER_NAME);String userToken = request.getHeader(CommonConsts.PARAM_USER_TOKEN);Boolean result = true;String method = request.getRequesturi (); if (Method.equals ("/AMS/Fileupload")) {return true;} if (stringutil.isempty (username) || stringutil.isempty (userToken)) {result = false;} lain {result = tokenutil.validtoken (username) (userertoke; uSter {hasil = tokenutil.validtoken (username, userer, using {tokenutil. {response.setContentType ("Text/html; charset = utf-8"); response.getWriter (). print (token_valid_msg); response.getwriter (). flush (); response.getwriter (). Tutup (); hasil pengembalian; ModelAndView ModelAndView) melempar Exception {} public void afterCompletion (permintaan httpservletRequest, respons httpservletResponse, penangan objek, exception ex) melempar pengecualian {}}Penggunaan bagian:
// pemberitahuan sunat yang buruk: Anda perlu membawa parameter dari ProcePingJoinpoint Type // Seluruh proses pemberitahuan surround mirip dengan proxy dinamis: parameter dari jenis ProcePingJoINPoint dapat menentukan apakah akan menjalankan metode target // pemberitahuan surround harus memiliki nilai pengembalian, dan nilai pengembalian nilai pengembalian dari metode target. @Around ("Eksekusi (*com.sowell.controller.*Controller.*(..))") Objek publik di sekitar Method (ProsidingJoINPoint pjd) {Object hasil = null; string methodName = pjd.getSignature (). GetName (); objek args = arrays.aslist (pjd.getargature (). {logger.info ("Saluran permintaan dimulai, param {pagenum:" + methodName + ", halaman:" + args); // pemberitahuan sebelumnya, menunjukkan bahwa kode sebelum ini akan memanggil hasil = pjd.proed (); quoting ("Methodname, MethodName, hasilnya); // post noifikasi. e) {e.printStackTrace();//Exception notification logger.error("Arround:The method "+ methodName+"occur exception:"+e);//throw new RuntimeException(e);//If the exception is not thrown, the exception will be caught by the above, and then execute it, return result, the result value is null, converted to int}//Return notification Logger.info ("Atround: Metode"+ MethodName+ "berakhir dengan hasil"+ hasil); hasil pengembalian;}Meringkaskan
Di atas adalah penjelasan lengkap dari penjelasan terperinci tentang contoh penggunaan Java Interceptors dan bagian di pasar aplikasi. Saya harap ini akan membantu semua orang. Teman yang tertarik dapat terus merujuk ke topik terkait lainnya di situs ini. Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya. Terima kasih teman atas dukungan Anda untuk situs ini!