转发与重定向

页面转发的时候获取不到参数

在转发的方法中获取一下值即可

request.getSession().setAttribute("name", userName);

在jsp页面中可以写成<jsp:forward> 请求转发(重定向)

public void doGet(HttpServletRequest request, HttpServletResponse response)
		throws ServletException, IOException {
	//获取表单数据
	String userName = request.getParameter("userName");
	String pwd = request.getParameter("pwd");
	//处理业务逻辑
	if("tom".equals(userName)&&"123".equals(pwd)){
		request.getSession().setAttribute("name", userName);
		request.getRequestDispatcher("/success.jsp").forward(request, response);
		//response.sendRedirect(request.getContextPath()+"/success.jsp");
	}else{
		//response.sendRedirect(request.getContextPath()+"/login.jsp");
		request.setAttribute("msg", "用户名或密码不正确!");
		request.getRequestDispatcher("/login.jsp").forward(request, response);
	}
	
	//分发转向
}

转发和跳转的区别
      1、转发使用的是getRequestDispatcher()方法;重定向使用的是sendRedirect();

      2、转发:浏览器URL的地址栏不变。重定向:浏览器URL的地址栏改变;

      3、转发是服务器行为,重定向是客户端行为;

      4、转发是浏览器只做了一次访问请求。重定向是浏览器做了至少两次的访问请求的;

      5、转发2次跳转之间传输的信息不会丢失,重定向2次跳转之间传输的信息会丢失(request范围)。

request能取到重定向作用域的值,不能取到转发域的值

页面跳转的两种方式(转发和重定向)区别及应用场景分析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值