web.xml中 /和/*的区别
一般在springmvc中我们都会将web.xml中的url配置成 /
- < url-pattern>/ 会匹配到/login这样的路径型url,不会匹配到模式为*.jsp这样的后缀型url
- < url-pattern>/ 会匹配所有url:路径型的和后缀型的url(包括/login,.jsp,.js和.html等)
因为 springmvc 要使用DispatcherServlet类 处理 前端的 请求,所以配置为< url-pattern > / </ url-pattern > 将路径型url 交给springMVC处理
例如 中文乱码处理、shiro 安全认证处理需要处理所有的 url ,所以配置为< url-pattern > /* </ url-pattern >
- < url-pattern > / </ url-pattern > 不会匹配到*.jsp,即:*.jsp不会进入spring的 DispatcherServlet类 。
- < url-pattern > /* </ url-pattern > 会匹配*.jsp,会出现返回jsp视图时再次进入spring的DispatcherServlet 类,导致找不到对应的controller所以报404错.