【发布时间】:2020-10-29 19:52:25
【问题描述】:
我已经使用 NetBeans IDE 设计了一个 webApp。它在 localhost 上运行良好,但是当我在主机上部署它时,尝试访问 servlet 时会出现 404 错误。
我的 servlet 包含 URL 模式和名称规范,像这样
@WebServlet(name = "FAQ", urlPatterns = {"/faq"})
public class FAQ extends HttpServlet {
servlet 只是“重定向”到 .jsp
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.getRequestDispatcher("/faq.jsp").forward(request, response);
}
如果我使用 URL www.mysite/faq.jsp 它可以正常工作,但是当我尝试使用 servlet www.mysite/faq 时就不行了(正如我所说,即使它在 localhost 上也是如此)。
我检查了 .class 文件是否已编译并包含在 WEB-INF 文件夹中,这似乎不是问题。
我也尝试像下面那样添加 servlet 的 web.xml 描述,但它也不起作用。
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<servlet>
<servlet-name>FAQ</servlet-name>
<servlet-class>beans.FAQ</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FAQ</servlet-name>
<url-pattern>/faq</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>
我不知道这可能是我的问题,这可能是一件非常愚蠢的事情,但我找不到。
谢谢大家。
【问题讨论】:
-
是的,我试过了。问题似乎不在于 servlet 内容,而在于服务器找不到 servlet 本身。
-
你的代码和配置没有问题。与您的应用程序主机相关的配置似乎存在一些问题。您是否咨询过您的托管服务提供商?
-
他们告诉我服务器配置的托管没有问题。他们建议我在编译应用程序时检查类路径,但我找不到可能是什么问题。
标签: java tomcat servlets http-status-code-404