Primero, configuración web.xml
< ASSPATH: SpringMvc-Servlet.xml </param-value> </it-param> <load-on-startup> 1 </load-on-startup> </servlet> <servlet-mapping> <ervlet-name> springservlet </servlet-name> <url-pattern>/</sl-pattern> </servlet-mapping>
URL-Pattern Configuration/, si está configurado/*, hará preguntas e incluso volverá a la vista JSP se interceptará. Por la razón específica, consulte el código fuente
Pregunta: Si configura de esta manera, todos ignorarán un problema, es decir, se puede acceder a A/B/C, pero A/B/C.DO; A/B/C.MM; A/B/C.ZZ puede acceder a todos los controladores A/B/C. Sin modificar el código fuente, lo haremos
Resolver este problema. Aunque interceptamos/tales solicitudes, solo dejamos que las solicitudes como A/B/C ingresen al controlador. Si el sufijo de [.] Está sufijo, no lo dejaremos entrar. Iremos directamente a la página 404.
Solución:
Agregue para filtrar en web.xml
<!- Filtrado simple de URL-> <filter> <filter-name> ServLetRequest </filter-name> <filter-class> cn.tomcat.quickstart.common.filter.servletRequestFilter </filter-class> <// Filtro> <filter-mapping> <filter-name> ServLetRequest </filter-name> <url-pattern>/*</sl-pattern> </filtre-mapping> servletRequestFilter.javaimport java.io.ioException; import javax.servlet.filterchain; import javax.servlet.servletException; import javax.servlet.http.httpservletRequest; import javax.servlet.http.httpservletResponse; import org.springframework.web.filter.onceperRequestFilter;/**** Procese la URL entrante y colóquela delante del filtro, springmvc <uRl-pattern>/</url-Pattern>* de forma predeterminada, todas las solicitudes se interceptan, ex: A/B/B/B/B/C.HTML, A/B/B/B/B/B/B/B/C/C/C.* imitar el estilo RESTFOR, y solo acepte solicitudes de A/B/C * */public Class ServLetRequestFilter se extiende una vez porRequestFilter {@OverrideProtected void dofilterInternal (httpServletRequest solicitud, respuesta httpServletResponse, filtrina de filtro de filtro) lanza serviLtexception, iOexception {String requestPath = = request.getServletPath (); // No se preocupe por interceptar archivos estáticos. Por ejemplo, *.js, *.CSS es similar a esto, y se procesa en Web.xml // Todas las solicitudes con el sufijo [.] Se usan directamente para ir a 404, y no acepta dichas solicitudes si (requestPath.lastIndexOf (".")! =-1) {request.getRequestDispatcher ("/webinf/page/error/404.jsp"). respuesta);} else {filterChain.dofilter (solicitud, respuesta);}}}}} GO directo 404 con el final, jaja, tal vez preguntaría si este es el caso, ¿no se filtraría el archivo estático? Similar a *.js, *.css, ... n muchos tipos de archivos de estos archivos