一个 Servlet 需要调用另一个 Servlet 以及响应和请求



这是代码(验证.java Servlet 文件(

    protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    String username = request.getParameter("u");
    String password = request.getParameter("p");
    Connection con = DBConnection.Connect();
    String sql = "select *from users where name=? and pass=?";
    try {
        PreparedStatement ps = con.prepareStatement(sql);
        ps.setString(1, username);
        ps.setString(2, password);
        ResultSet rs = ps.executeQuery();
        request.getRequestDispatcher("WelcomeServlet").forward(request, response); //This line calls another servlet
        
    } catch (SQLException e) {
        System.out.println(e.toString());
    }
}

}

<小时 />

WelcomeServlet.java Servlet File

public class WelcomeServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    String username = request.getParameter("username");
    response.setContentType("html/text");
    PrintWriter pw = response.getWriter();
    pw.write("<html><body>");
    pw.write("<title>Welcome User</title>");
    pw.write("<h1>" + username + "</h1>");
    pw.write("</body></html>");
    pw.close();
}
<小时 />

输出

我希望验证 servlet 调用欢迎 servlet,但它询问我是否下载验证 servlet 文件。PFA 了解更多详情我正在收到弹出窗口以下载验证服务器

内容类型

应该是text/html(你写html/text(,否则浏览器不知道如何处理文件并要求下载它。

代码还有一些其他值得一提的问题

  1. 您并没有真正检查数据库的结果,因此即使用户不存在,您也会转发。
  2. 您可以在一个 Servlet 中使用参数名称u,但在另一个 servlet 中使用参数名称username

相关内容

  • 没有找到相关文章

最新更新