Creo que todos están familiarizados con los conceptos de interceptores y secciones. En este artículo, analizaremos parte del uso de interceptores y secciones en el mercado de aplicaciones.
Uso del interceptor: cada vez que se recibe una solicitud, se llamará al método en este interceptor. Si el método Prehandle devuelve verdadero, significa que el controlador correspondiente continuará siendo llamado. Si devuelve falso,
clase public de checklogInInterceptor implementa HandlerInterceptor {private logger logger = logger.getLogger (checklogInInterceptor.class); stats static static static token_valid_msg; static {token_valid_msg = jsonutil.writeObject2json (new AmsResultvo (codeNum.Token_Valid,,,,,,,,,, CodeMessage.token_valid));} Public boolean prehandle (httpservletRequest solicitud, respuesta httpServletResponse, manejador de objetos) lanza la excepción {//request.getMethod get la solicitud se gana, post, etc. if ("opciones" .equals (request.getMethod ())) Respuesta.Setheader ("Access-Control-Allow-Origin", "*"); // Respuesta Tipo Respuesta.Setheader ("Access-Control-Allow-Methods", "Post, Get, Options, Delete"); // Respuesta Conjunto de encabezado Respuesta.Setheader ("Access-Control-Allweaders", "," X-custom-header "); respuesta.setStatus (204); return true;} // Obtenga los datos obtenidos de la cadena de encabezado UserName = request.getheader (CommonConsts.Param_user_Name); String userToken = request.getheader (CommonConsts.Param_User_token); boolean result = string Method request.getRequestUri (); if (método.equals ("/ams/fileUpload")) {return true;} if (stringUtil.isEmpty (username) || stringUtil.isEmpty (userToken)) {result = false;} else {result = tokenutil.validoKoken (useName, userToken);} // a tokeken) {Response.SetContentType ("Text/Html; Charset = UTF-8"); Response.getWriter (). Print (Token_Valid_Msg); Response.getWriter (). Flush (); Respuesta.getWriter (). Close ();} Resultado de retorno;} Public Void Void posThandle (httpServletRequest request, hettiter (). ModelAndView ModelAndView) lanza la excepción {} public void AfterCompletion (HttpServletRequest Solicitud, respuesta httpServletResponse, Handler de objetos, Exception Ex) lanza la excepción {}}Uso de secciones:
// Notificación de circuncisión mala: debe llevar parámetros del tipo de punto de procedimiento // Todo el proceso de notificación envolvente es similar al proxy dinámico: los parámetros del tipo de punto de procedimiento pueden determinar si para ejecutar el método de destino // la notificación envolvente debe tener un valor de retorno, y el valor de retorno es el valor de retorno del método objetivo. @Around ("ejecutor (*com.sowell.controller.*Controlador.*(..))") Objeto público alrededor {logger.info ("Los canales de solicitud Begin, Param {PageNum:" + MethodName + ", PageSize:" + args); // Notificación anterior, indicando que el código antes de esto llame a resultado = pjd.proceed (); registrationLog (resultado, método, resultado, resultado);/Post Notificación Logger.info ("Arrancado: el método" Method "MethodeM" TATHNELET (TATHT (TITA TITA SETT (TOTHNAME + "); e) {E.PrintStackTrace (); // Notificación de excepción logger.error ("Arround: el método"+MethodName+"Ocurrió Excepción:"+e); // tirar nueva runtimeException (e); // Si la excepción no se lanza, la excepción será atrapada por lo anterior, y luego ejecutarlo, el resultado de retorno, el valor del resultado está nulo, se obtiene a int} // logger.info ("Arround: el método"+ MethodName+ "termina con el resultado"+ resultado); return resultado;}Resumir
Lo anterior es la explicación completa de la explicación detallada de los ejemplos de uso de interceptores y secciones de Java en el mercado de aplicaciones. Espero que sea útil para todos. Los amigos interesados pueden continuar referiéndose a otros temas relacionados en este sitio. Si hay alguna deficiencia, deje un mensaje para señalarlo. ¡Gracias amigos por su apoyo para este sitio!