Java Servlet throws 404



Hey Guys正在尝试制作一个返回JSON的简单Java Servlet。web.xml在web-INF目录中,我已经检查了我是否键入了false或类似的链接。这是我的Servlet类:

import java.io.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
@WebServlet(name = "BetaAuthServlet", value = "/betaAuthServlet")
public class BetaAuthServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
String message = "Test";
out.print(message);
out.flush();
}
}

这是我的web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<servlet>
<servlet-name>BetaAuthServlet</servlet-name>
<servlet-class>de.hanimehagen.tridentdevelopment.betaauth.BetaAuthServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>BetaAuthServlet</servlet-name>
<url-pattern>/BetaAuthServlet</url-pattern>
</servlet-mapping>
</web-app>

当我在localhost:8080/betaAuthList上打开应用程序时,我得到了一个404错误。我不确定我是否需要一个index.jsp,但我认为我不需要它。Tomcat服务器应该可以正常工作。如果有人能帮我就太好了。问候Hagen

我找到了解决问题的方法:我使用了Tomcat版本10。在我使用了版本9之后,它就起作用了!

以下是一些需要检查的建议-这取决于Tomcat服务器中的配置。

假设您的代码被打包到xyz.war。xyz.wal中的所有路径都将具有相同的根路径,如果没有注册明确的路径,Tomcat可能会使用默认的xyz,因此您的web应用程序下的所有servlet都将是形式(视情况而定替换xyz(:

http://localhost:8080/xyz/someotherpaths

您已经指定了@WebServletweb.xml,但每个都提供了不同的servlet路径/BetaAuthServlet/betaAuthServlet。如果Tomcat设置为自动扫描带有@WebServlet注释的web应用程序,请尝试设置:

http://localhost:8080/xyz/betaAuthServlet

如果Tomcat没有设置为自动扫描web应用程序,请尝试web.xml设置:

http://localhost:8080/xyz/BetaAuthServlet

相关内容

  • 没有找到相关文章

最新更新