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

java-servlet页面调用未找到错误404,java,web-applications,Java,Web Applications,我用java编写了一个servlet页面,用于从MySQL中的表中检索记录。然后,我将在JSP页面中调用servlet页面,以在浏览器上显示结果 MyServlet.java: @WebServlet(name = "MyServlet") public class MyServlet extends HttpServlet { private Statement statement; protected void doGet(HttpServletRequest req

我用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();
 }


    }
}
@WebServlet(name=“MyServlet”)
公共类MyServlet扩展了HttpServlet{
私人声明;
受保护的void doGet(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{
response.setContentType(“text/html”);
PrintWriter out=response.getWriter();
试一试{
Class.forName(“com.mysql.jdbc.Driver”);
Connection conn=DriverManager.getConnection(“jdbc:mysql://126.32.3.11:3306/test“,”根“,”根“);
String sql=“从文件队列中选择*”;
statement=conn.createStatement();
ResultSet ResultSet=statement.executeQuery(sql);
String str=“UniqueIDFilePathStatusDateTimeError”;
while(resultSet.next()){
str+=''+resultSet.getString(1)+''+resultSet.getString(2)+''+resultSet.getString(3)+''+resultSet.getString(4)+''+resultSet.getString(5)+'';
//显示每条记录
}
str+=”;
out.println(str);
resultSet.close();
语句。close();
康涅狄格州关闭();
}捕获(例外e){
系统输出打印ln(e);
}最后{
out.close();
}
}
}
在my 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>

Servlet
MyServlet
MyServlet
MyServlet
/Servlet
在my index.jsp中:

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


  </body>

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

编辑:

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

尝试删除
MyServlet
中的空间,最好从MyServlet类中添加一个包。比如
org.app.MyServlet

/Servlet
表示此Servlet的URL是
{hostname:port}/Servlet
,而不是
MyServlet

不要忘记应用程序名。如果您的项目部署名为“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>

Servlet
MyServlet
MyServlet
MyServlet
/servlet
index.jsp:

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

简单文件队列表

请重构代码以提高可读性。我知道您尝试了各种方法,但如果您不能正确阅读java,那么帮助您并不容易。谢谢有什么需要更改的?我删除了空格,但还是一样issue@Daredevil您的MyServlet(文件中的第一行代码)的包装是什么?没有包装,可能我附上了一个屏幕截图。见编辑post@Daredevil您使用什么URL来打开索引页?