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

时间:2017-06-22 04:22:07

标签: java jsp servlets javax

这是代码(Validate.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文件

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调用welcome servlet,但是它询问我是否要下载验证servlet文件.PFA以获取更多详细信息 I am getting the popup to download Validate Ser

1 个答案:

答案 0 :(得分:1)

内容类型应为text/html(您编写了html/text),否则浏览器不知道如何处理该文件并要求下载。

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

  1. 您实际上并未检查数据库中的结果,因此即使用户不存在,您也会转发。
  2. 您在一个servlet中使用参数名u,而在另一个servlet中使用username