Resumo: Muitas vezes, modificaremos bugs de outros colegas, ou mesmo bugs de colegas que já foram embora. Às vezes, clicamos na página e não podemos ir para qual controlador corresponde ao plano de fundo. Em resposta a esse problema, podemos realmente usar o interceptador SPRNGMVC para bloquear as solicitações do usuário para saber qual classe as solicitações da página. Obviamente, essas informações de log impressas podem não ser adequadas para a colocação no ambiente de produção, ou esse interceptador também é desnecessário. . . .
1. Uso do manipulador
Etapa 1: registre o interceptador
<!-Registro Interceptores-> <MVC: Interceptores> <Bean /> < /MVC: Interceptores>
Etapa 2: herdar o HandlerInterceptor e implementar o interceptador
pacote com.iflashbuy.limanman; importar java.util.iterator; importar java.util.map; importar javax.servlet.http.httpServletReQuest; import javax.Servlet.http.httpSletResponse; import.slf4j.lfger; org.springframework.web.servlet.HandlerIntercept; importar org.springframework.web.servlet.modelandView; classe pública ControlInterceptor implementa HandlerIntercept@@@Argger Logger = LoggerFactory.GetLogger (getClass ()/** * chamado depois Aftercompletion (httpServletRequest Solicy, httpServletResponse Resposta, objeto arg2, exceção arg3) lança exceção {} @OverridePublic void postHandle (htTPServLetRequest arg0, httpSertLeondResponse arg1, objeto arg2, modelAndView Arg0, excepct0, excepct0s, excepct0s, //10), o que é o que é o que não é o que é o que não é o que não é o que você está fazendo com o uso de pessoas com muita alegona seleção de pessoas. Pré -Mandle Boolean (HttpServletReQuest Solicy, httpServLeTResponse arg1, objeto arg2) lança exceção {int i = 1; tente {@suppresswarnings ("desmarque") mapa <string, object> parmmap = requestParameterMAP (); (iter.hasNext ()) {key itens = iter.Next (); valor do objeto = parmmap.get (key); logger.info ("th" + i + "param ----> {}-{}", chave, valor); i = i + 1;}}} (} {i = 1;}; i; i; i; i; i; i; i; i; i; i 1; 1;2. O efeito das informações de impressão em segundo plano
3. Expanda o uso de interceptores para obter autenticação HTTP básica
/** * Chamado após a execução do controlador, ou seja, ao sair */@@SubstitionPublic void After compliction (solicitação httpServletRequest, resposta httpServletResponse, objeto arg2, exceção arg3) lança excepção {logger.info ("className --->" + + arg2); Logger.info (Logger.info ("className --->" + + Postandle (solicitação httpServletRequest, resposta httpServletResponse, objeto arg2, modelAndView arg3) lança exceção {} @OverridePublic boolean prehandle (httpServLeTRequest Solicy, httpSertLeSponse ResponsegEtg2) (string. (sessionauth! = null) {System.out.println ("Esta é a próxima etapa"); Nextstep (solicitação, resposta);} else {if (! checkheaderauth (request, resposta)) {Response.setStatus (401); Response.setheader ("Cache-Control", "No Store"); 0); Response.setheader ("www-autenticate", "Reino básico =/" Por favor, digite a senha da conta do administrador/""); retornar false;}} retornar true;} private boolean checkHeaderauth (httpServleTrequest Solicy, httpSleTroSponse) THROWS IOExcept.n; codificado na base64 é " + getFombase64 (auth)); if ((auth! = null) && (auth.length ()> 6)) {auth = auth.substring (6, aut.length ()); string decodedauth = getFombase64 (auth); system.out.println (" autentiled 4 decodedauth); request.getSession (). SetAttribute ("auth", decodedauth); retorna true;} else {return false;}} private string getFombase64 (string s) {if (s == null) return null; try {byte [] String (EncodeBase64);} Catch (não suportadoEncodingException e) {return null;}} public void nextStep (solicitação httpServletRequest, httpServletResponse resposta) lança IoException {System.out.println ("Você pode ir para o controlador";Resumir
O exposto acima é o conteúdo inteiro deste artigo sobre o exemplo de código do código de uso do SpringMVC Interceptor HandlerInterceptor, espero que seja útil para todos. Amigos interessados podem continuar se referindo a este site:
Spring Interceptor HandlerInterceptor Interceptor Interface Code Analysis
Compartilhamento de código interceptador de login implementado pelo Spring MVC
Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!