我设置了 servlet mapping
<servlet>
<servlet-name>Site</servlet-name>
<servlet-class>com.demo.controller.App</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Site</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
同时 在 webapp目录下有个 index.jsp
这样我访问 http://localhost:8080/ 还是会走 index.jsp
而不会触发我的默认 App控制器的 doGet方法
除非我随便写个目录 比如说 http://localhost:8080/a/ 才会触发
这是为什么呢?
我已经知道咋回事了。
因为我web根目录有index.jsp,然后我缺省路径访问,tomcat会将你的路径映射成xxx/index.jsp,然后根据Servlet匹配规则,精确匹配上一个叫JspServlet的控制器去处理。如果将index.jsp改成index.html就会用我的servlet处理了