我有包含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);
}
}
执行以下步骤: -
我加载了调用ServletDemo1.java网址的demo1.jsp页面。
在demo1.jsp中填写用户名和密码,登录按钮为
点击。
调用ServletDemo1.java类Post方法并在浏览器中调用它 给出404未找到的错误。
我想使用ServletDemo2.java的Get方法加载demo2.jsp页面
我怎样才能做到这一点?
答案 0 :(得分:1)
试试这个
response.sendRedirect(req.getContextPath()+"/demo2/?userName="+name+"&&pwd="+pwd);
另请注意,某些容器(例如Tomcat)在请求分派时存在编码问题/错误,如果可能,请尝试使用客户端重定向。