1

我创建了一个 Eclipse 动态 web 项目,home.jsp 在 WEB-INF 文件夹中

我使用的服务器是 Tomcat 7.0.35

项目的名称是 Pilot_1,我有一个 servlet,它在 URL 模式为 /home 时触发

@WebServlet(description = "Initalizes the table", urlPatterns = { "/home" })

我想指定 URL,以便每次按 Project > Run > Run on Server 时,URL 都是 localhost:8080/Pilot_1/home (同时触发 servlet 和 jsp 页面)。

我尝试将上下文根更改为仅“Pilot_1”,它提供了 URL“localhost:8080/Pilot_1”并且不会触发 servlet

我尝试将上下文根更改为“Pilot_1/home”,它提供了 URL“localhost:8080/Pilot/1/home/”,额外的“/”确保 servlet 不会触发

我尝试将 Context Root 更改为“home”,这给出了 URL“localhost:8080/home/”,并且再次,额外的 '/' 确保 servlet 不会触发

我一直在玩 URL,似乎唯一一次触发 servlet 是当 URL 为“localhost:8080/Pilot_1/home”时

有什么解决方法吗?

这是我的 web.xml

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.jsp</welcome-file>
<welcome-file>home.jsp</welcome-file>

4

1 回答 1

4

不要弄乱上下文根。相反,转到web.xml文件并更改welcome-file-list

<welcome-file-list>
    <!-- note that THIS IS NOT home.jsp, just home (the URL mapping of your servlet) -->
    <welcome-file>home</welcome-file>
</welcome-file-list>

顺便说一句,还原您对应用程序上下文根所做的任何更改。

有关示例,请参阅此答案。

于 2013-03-01T19:44:25.187 回答