从另一个Servlet Post方法调用Servlet Get方法?

时间:2015-08-28 12:18:24

标签: java spring jsp servlets

我有包含Get和Post方法的ServletDemo1.java类。 我有包含Get方法的ServletDemo2.java类。

有两个jsp文件: - demo1.jsp(有表单布局)和demo2.jsp(只是为了显示"欢迎")。

这是ServletDemo1.java,如下所示: -

@WebServlet("/demo1")
public class ServletDemo1 extends HttpServlet {
private static final long serialVersionUID = 1L;


protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   request.getRequestDispatcher("demo1.jsp").include(request, response);    
}


protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    System.out.println("-------demo 1request post-------");
    String name = request.getParameter("userName");
    String pwd = request.getParameter("userPass");
    System.out.println("-------name-------> "+name);
    System.out.println("-------pwd-------> "+pwd);
    response.sendRedirect("demo2/?userName="+name+"&&pwd="+pwd);
 } 
}

ServletDemo2.java如下: -

@WebServlet("/demo2")
public class ServletDemo2 extends HttpServlet {
private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    System.out.println("-------demo2 request get-------");
    request.getRequestDispatcher("demo2.jsp").include(request, response);
 }
}

执行以下步骤: -

  1. 我加载了调用ServletDemo1.java网址的demo1.jsp页面。

  2. 在demo1.jsp中填写用户名和密码,登录按钮为
    点击。

  3. 调用ServletDemo1.java类Post方法并在浏览器中调用它 给出404未找到的错误。

  4. 我想使用ServletDemo2.java的Get方法加载demo2.jsp页面

    我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

试试这个

response.sendRedirect(req.getContextPath()+"/demo2/?userName="+name+"&&pwd="+pwd);

另请注意,某些容器(例如Tomcat)在请求分派时存在编码问题/错误,如果可能,请尝试使用客户端重定向。