服务器端重定向和客户端重定向

一、服务器端重定向

forward(dispatch)服务器端重定向
服务器端从一个servlet转向另一个servlet
在一个servlet中可以通过setAttribute往request中传递一些值
在另一个servlet中,可以通过getAttribute从request中获取值
在两个servlet中访问到的request数据是一样的



  
    MyHtml.html
	
    
    
    
    
    

  
  
  
  
   
姓名:
密码:
//在AddUser这个servlet中重写doPost()
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
        //从前台获取参数
		String name=request.getParameter("username");
		int total=100;
        //设置Attribute
		request.setAttribute("name", name);
		request.setAttribute("count", total);
        //服务器端重定向
		request.getRequestDispatcher("/AddUserSuccess").forward(request, response);;
	}

二、客户端重定向

redirect:客户端重定向
服务器实际上已经向客户端产生了响应
客户端根据HTTP Head 中包含的redirect地址,向服务器重新发起一个请求(用GET方式)
后面这个请求与一开始那个请求不是同一个请求,所以,在前一个请求中放进去的数据已经丢失

response.sendRedirect();

你可能感兴趣的:(服务器端重定向和客户端重定向)