当文档移动到新的位置,我们需要向客户端发送这个新位置时,我们需要用到网页重定向。当然,也可能是为了负载均衡,或者只是为了简单的随机,这些情况都有可能用到网页重定向。
重定向请求到另一个网页的最简单的方式是使用 response 对象的 sendRedirect() 方法。
转发页面跳转 1.request.getRequestDispatcher("//WEB-INF/jsp/reg.jsp").forward(request,response);
2.response.sendRedirect("/web/user?m=login");
public class UserController extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
doGet(request,response);
} protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//接受客户端发送的参数
String m = request.getParameter("m");
if("reg".equals(m)){
//显示注册界面
//1.转发
request.getRequestDispatcher("//WEB-INF/jsp/reg.jsp").forward(request,response);
//跳转页面,forward执行转发 需要request,response两个参数
}if("regDo".equals(m)){ //执行注册 将获取参数注册到数据库中
regDo(request,response);
}else if("login".equals(m)) {
//转发
//获取分发器
RequestDispatcher dis = request.getRequestDispatcher("/WEB-INF/jsp/login.jsp");
//执行转发
dis.forward(request, response);
}
}
private void loginDo(HttpServletRequest request, HttpServletResponse response) throws IOException {
String username =request.getParameter("username");
String password =request.getParameter("password");
UserEntity user =SqlUtil.login(username,password); //返回对象
if(user !=null){ //对象不为空登录成功
response.sendRedirect("/web/user?m=main");
}else { //登录失败
response.sendRedirect("/web/user?m=login");
} }