gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 11:11:46 24 4
gpt4 key购买 nike

我有 ServletDemo1.java 类,其中包含 Get 和 Post 方法。我有包含 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 url 加载 demo1.jsp 页面。

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

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

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

我怎样才能实现这个目标?

最佳答案

试试这个

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

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

关于java - 从另一个 Servlet Post 方法调用 Servlet Get 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32270921/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com