gpt4 book ai didi

java - servlet 页面调用给出错误 404 未找到

转载 作者:行者123 更新时间:2023-12-02 10:31:05 25 4
gpt4 key购买 nike

我用 java 编写了一个 servlet 页面来从 MySQL 的表中检索记录。然后,我将在JSP页面中调用servlet页面,将结果显示在浏览器上。

MyServlet.java:

@WebServlet(name = "MyServlet")
public class MyServlet extends HttpServlet {

private Statement statement;




protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType("text/html");

PrintWriter out=response.getWriter();

try{
Class.forName("com.mysql.jdbc.Driver");

Connection conn = DriverManager.getConnection( "jdbc:mysql://126.32.3.11:3306/test", "root", "root");

String sql ="Select * from filequeue;";

statement = conn.createStatement();

ResultSet resultSet = statement.executeQuery(sql);




String str = "<table border=1><tr><th>UniqueID</th><th>FilePath</th><th>Status</th><th>DateTime</th><th>Error</th></tr>";


while(resultSet.next()){

str += "<tr><td>"+ resultSet.getString(1) + "</td><td>" + resultSet.getString(2)+ "</td><td>" +resultSet.getString(3)+ "</td><td>" +resultSet.getString(4)+ "</td><td>" +resultSet.getString(5)+"</td></tr>";
// display each record

}
str+= "</table>";
out.println(str);
resultSet.close();
statement.close();
conn.close();


}catch(Exception e){

System.out.println(e);

}finally {
out.close();
}


}
}

在我的 web.xml 中:

<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>
<description></description>
<display-name>Servlet</display-name>
<servlet-name>MyServlet</servlet-name>
<servlet-class> MyServlet</servlet-class>

</servlet>

<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/Servlet</url-pattern>
</servlet-mapping>


</web-app>

在我的index.jsp中:

<body>
<h1>Simple File Queue table</h1>
<a href="MyServlet">View table</a>


</body>

但是,当我单击“查看表”时,它显示错误:404 未找到。我不知道为什么,因为它应该在页面中显示记录。我在这里犯了什么错误吗?

编辑:

这是我的文件结构的屏幕截图:

Servlet

最佳答案

尝试删除 <servlet-class> MyServlet</servlet-class> 中的空格最好从 MyServlet 类添加一个包。喜欢<servlet-class>org.app.MyServlet</servlet-class> .

<url-pattern>/Servlet</url-pattern>表示该 servlet 的 URL 是 {hostname:port}/Servlet ,不是MyServlet (<a href="MyServlet">View table</a>)

并且不要忘记应用程序名称。如果您使用名称“myapp”进行项目部署(并且您的索引页是 {host:port}/myapp),则所有 servlet 都会拦截此路径:“{host:port}/myapp/{url-pattern from servlet-mapping} ”。

在 web.xml 中尝试一下:

<servlet>
<description></description>
<display-name>Servlet</display-name>
<servlet-name>MyServlet</servlet-name>
<servlet-class>MyServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/servlet</url-pattern>
</servlet-mapping>

index.jsp:

  <body>
<h1>Simple File Queue table</h1>
<a href="/{application-name}/servlet">View table</a>
</body>

关于java - servlet 页面调用给出错误 404 未找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53609618/

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