问题记录:在web.xml 中配置springmvc的dispatcher,url应该为/,不能配置为 /星,否则jsp文件找不到
问题说明
Tomcat Servlet 匹配url 优先级如下
1.精确匹配 ,/get/user
2.前缀匹配(通配符匹配),/星,/get/星
3.扩展名匹配,星.jsp,/get/user.jsp
4.资源处理文件 welcome resource
5.默认Servlet,/
其中tomcat 自带了
*匹配 星.jsp和星.jspx 的扩展名匹配Servlet,
匹配/的默认defaultServlet
都会映射到web根目录
springmvc的dispatcher url应该为 /星 时
拦截所有url的请求,进入dispatcher,找到对应的handler进行处理,返回逻辑视图,内部视图解析器拼接具体的物理视图后,进行服务器跳转forward,例如/WEB-INFO/jsp/login.jsp,dispatcher 拦截服务器跳转url.,找到对应的handler /WEB-INFO/jsp/login.jsp由于未找到,报错
springmvc的dispatcher url应该为/时
dispatcher会覆盖掉上面的默认Servlet,请求进入dispatcher后返回逻辑视图,视图解析器拼接具体的物理视图后,进行服务器跳转forward,例如/WEB-INFO/jsp/login.jsp,由于tomcat中存在匹配*.jsp和*.jspx 的扩展名匹配Servlet,会拦截物理视图url,由tomcat容器的Servlet,渲染jsp页面,正确返回