servlet 默认index.jsp 和 /的问题

发布于 2022-09-11 16:28:51 字数 849 浏览 11 评论 0

我设置了 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

岁月无声 2022-09-18 16:28:51

我已经知道咋回事了。
因为我web根目录有index.jsp,然后我缺省路径访问,tomcat会将你的路径映射成xxx/index.jsp,然后根据Servlet匹配规则,精确匹配上一个叫JspServlet的控制器去处理。如果将index.jsp改成index.html就会用我的servlet处理了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文