如何从 servlet 重定向到新页面
how to redirect to a new page from servlet
我正在使用 JQuery 以 json 格式向 servlet 从 login.html
向 servlet 发送数据,匹配记录后我想打开一个新页面 home.html
而且我还想将数据发送到 home.html
:
DTORegisteration dto=new DTORegisteration();
public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
res.setContentType("text/html");
PrintWriter pw = res.getWriter();
String id = req.getParameter("id");
String password = req.getParameter("password");
System.out.println("id "+id);
System.out.println("password "+password);
dto.setId(id);
dto.setPassword(password);
String str=new ServiceRegisteration().getDetails(dto);
JSONObject json=new JSONObject();
if(str.equals("success")) {
try { json.put("welcome", "welcome"); json.put("name",
DAORegisteration.name);
}catch(JSONException e) { e.printStackTrace(); }
pw.print(json);
}
}
HttpServletResponse 接口的 sendRedirect() 方法可用于将响应重定向到另一个资源,可以是 servlet、jsp 或 html 文件。
if(check your param values here) { // if its as expected
res.sendRedirect("home.html");
}
实际上
我们不能使用 sendRedirect() 方法发送 post 请求,因为按照标准重定向应该使用 get。
您可以使用 RequestDispatcher Class 转发带有参数的请求,
例如-
req.setAttribute("Greetings", "Greeting of day");
RequestDispatcher dispatcher = servletContext().getRequestDispatcher("url");
dispatcher.forward(req, res);
我正在使用 JQuery 以 json 格式向 servlet 从 login.html
向 servlet 发送数据,匹配记录后我想打开一个新页面 home.html
而且我还想将数据发送到 home.html
:
DTORegisteration dto=new DTORegisteration();
public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
res.setContentType("text/html");
PrintWriter pw = res.getWriter();
String id = req.getParameter("id");
String password = req.getParameter("password");
System.out.println("id "+id);
System.out.println("password "+password);
dto.setId(id);
dto.setPassword(password);
String str=new ServiceRegisteration().getDetails(dto);
JSONObject json=new JSONObject();
if(str.equals("success")) {
try { json.put("welcome", "welcome"); json.put("name",
DAORegisteration.name);
}catch(JSONException e) { e.printStackTrace(); }
pw.print(json);
}
}
HttpServletResponse 接口的 sendRedirect() 方法可用于将响应重定向到另一个资源,可以是 servlet、jsp 或 html 文件。
if(check your param values here) { // if its as expected
res.sendRedirect("home.html");
}
实际上 我们不能使用 sendRedirect() 方法发送 post 请求,因为按照标准重定向应该使用 get。
您可以使用 RequestDispatcher Class 转发带有参数的请求,
例如-
req.setAttribute("Greetings", "Greeting of day");
RequestDispatcher dispatcher = servletContext().getRequestDispatcher("url");
dispatcher.forward(req, res);