修复动态Web项目中的JDBC

我正在尝试通过servlet检查数据库中的数据,但是html页面没有读取servlet页面..

错误:

  

原始服务器找不到目标的当前表示形式   资源或不愿透露存在。

我的登录页面:

<form action="validate" method="Post">
    User name:
    <br>
    <input type="text" name="username">
    <br>
    User password:
    <br>
    <input type="password" name="psw">
    <input type="submit" value="Submit">
</form>

我的Serlvlet代码:

protected void doPost(HttpServletRequest request,HttpServletResponse response)
        throws ServletException,IOException {
    response.SetContenttype("text/html");
    String uname = request.getParameter("username");
    String password = request.getParameter("psw");

    Class.forName("com.mysql.jdbc.Driver");
    Connection Con = DriverManager.getconnection("jdbc:mysql://localhost:3306/students","root","1234");
    PreparedStatement pstmt = Con.prepareStatement("SELECT * FROM data WHERE username = ? AND password = ?");
    pstmt.setString(1,uname);
    pstmt.setString(2,password);
    ResultSet rs = pstmt.executeQuery();
    if (rs.next()) {
        System.out.println("record found");
        RequestDispatcher rd = request.getRequestDispatcher("Stu.jsp");
        rd.forward(request,response);
    } else {
        System.out.println("record not found");
        RequestDispatcher rd = request.getRequestDispatcher("Login.html");
        rd.forward(request,response);
    }
    rs.close();
    pstmt.close();
    Con.close();

    doGet(request,response);
}
dajiaonline 回答:修复动态Web项目中的JDBC

在登录页面中,您应该指定

    <form action="/LoginServlet" method="post">  

还要检查是否在web.xml中指定了servlet映射或使用以下方法注释servlet类       @WebServlet(“ / LoginServlet”)

      <servlet>
        <servlet-name>servletname</servlet-name>
        <servlet-class>/LoginServlet</servlet-class>
      </servlet>

      <servlet-mapping>
        <servlet-name>servletname</servlet-name>
        <url-pattern>*.html</url-pattern>
      </servlet-mapping>

希望有帮助!

,

当操作找不到指定的servlet时,就会出现此问题,并且可能引起很多共鸣。

  • 请检查您的@WebServlet注释,可能是

    @WebServlet(name =“ validate”)

类似的东西,你必须给它

@WebServlet(urlPatterns = "/validate")

,或者您可以使用

@WebServlet("/validate")

您可以在操作部分的表单中添加其他问题

<form action="${requestScope.getContextPath}/validate" method="Post">

希望我会有所帮助。

本文链接:https://www.f2er.com/3128638.html

大家都在问