SpingMVC前置控制器过滤问题

/
<
servlet-mapping> <servlet-name>Springmvcservlet-name> <url-pattern>/url-pattern> servlet-mapping> /* <servlet-mapping> <servlet-name>Springmvcservlet-name> <url-pattern>/*url-pattern> servlet-mapping> *.action
<servlet-mapping> <servlet-name>Springmvcservlet-name> <url-pattern>*.actionurl-pattern> servlet-mapping>

 

 

其中/和/*的区别:
< url-pattern > /   不会匹配到*.jsp,即:*.jsp不会进入spring的 DispatcherServlet类 。
< url-pattern > /* 会匹配*.jsp,会出现返回jsp视图时再次进入spring的DispatcherServlet 类,导致找不到对应的controller所以报404错。 原因是返回的jsp被迁至控制器再次拦截,但无法找到这个资源的处理器

总之,关于web.xml的url映射的小知识:
< url-pattern>/  会匹配到/login这样的路径型url,不会匹配到模式为*.jsp这样的后缀型url
< url-pattern>/* 会匹配所有url:路径型的和后缀型的url(包括/login,*.jsp,*.js和*.html等)

转载于:https://www.cnblogs.com/keenoooo/p/9886975.html

你可能感兴趣的:(SpingMVC前置控制器过滤问题)