gpt4 book ai didi

java - 添加上下文路径后,Servlet 给出 404

转载 作者:行者123 更新时间:2023-12-01 13:08:17 25 4
gpt4 key购买 nike

我已经为一个看似微不足道的问题摸不着头脑有一段时间了。我有一个 web 应用程序,其中 webappcontext 的上下文定义如下。此代码用于在启动之前设置嵌入式 jetty Web 服务器。 (我不想在运行时更改上下文)。

webAppContext.setContextPath("/MyApp");

如果我随后将以下代码用于我的 servlet 上下文,则一切正常:

    servletContext.setContextPath("/");
servletContext.addServlet(new ServletHolder(new LoginServlet()), "/LoginServlet");

但是,现在有 2 个不同的 session ID。一种用于“/”,另一种用于“/MyApp”。

如果我将 servlet 上下文代码更改为以下内容,我将无法找到它的 url:

    servletContext.setContextPath("/MyApp");
servletContext.addServlet(new ServletHolder(new LoginServlet()), "/LoginServlet");

我尝试过诸如此类的网址,但它们都给出 404 not found:

 - http://localhost:8123/LoginServlet [which works in the first case]
- http://localhost:8123/MyApp/LoginServlet
- http://localhost:8123/MyApp/MyApp/LoginServlet

我的 servlet url 定义为

urlPatterns = { "/LoginServlet" }

我使用 Eclipse 进行开发,并使用嵌入式 Jetty 作为 Web 服务器。任何帮助或指示将不胜感激。无论如何,我都不是这方面的专家,并且在网络上进行大量的攻击也无济于事。

提前致谢...

已解决发现了“微不足道”的问题。 WebAppContext 上有一个空白 session 处理程序,该处理程序正在消耗发送到“/MyApp”的所有请求。

最佳答案

发现问题了!

有一个空的 sessionHandler 指向 webAppContext,它正在消耗所有请求。一旦我删除它,一切就如广告所示。

感谢所有回复者。

关于java - 添加上下文路径后,Servlet 给出 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23103088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com