Java Tomcat 上的 servlet 出现 404 错误,但它在本地主机上工作正常
Java servlets on Tomcat take to 404 error but it works fine on localhost
我用 NetBeans 设计了一个 webApp IDE。它在本地主机上运行良好,但是当我将它部署在我的主机上时,尝试访问 servlet 时出现 404 错误。
我的 servlet dos 包括 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 (甚至正如我所说,它在本地主机上执行。
我已经检查过 .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>
我不知道我的问题是什么,这可能是一件非常愚蠢的事情,但我找不到它。
谢谢大家
已解决:
正如我所说,这应该是一件简单的事情。
托管服务器在 Tomcat 10x 和 JDK 10 上配置,而我的项目是在 jdk 8 和 tomcat 7 上构建的。
解决方案是询问托管服务提供商并更改服务器配置以适合我的项目。
我用 NetBeans 设计了一个 webApp IDE。它在本地主机上运行良好,但是当我将它部署在我的主机上时,尝试访问 servlet 时出现 404 错误。
我的 servlet dos 包括 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 (甚至正如我所说,它在本地主机上执行。
我已经检查过 .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>
我不知道我的问题是什么,这可能是一件非常愚蠢的事情,但我找不到它。
谢谢大家
已解决:
正如我所说,这应该是一件简单的事情。 托管服务器在 Tomcat 10x 和 JDK 10 上配置,而我的项目是在 jdk 8 和 tomcat 7 上构建的。 解决方案是询问托管服务提供商并更改服务器配置以适合我的项目。