发布网友 发布时间:2024-10-05 05:17
共6个回答
热心网友 时间:2024-10-05 18:42
res.sendRedirect(),是重定向,相当于两次请求,两次相应,地址栏会发生变化。
在实际使用中,重定向不能传指。也就是在requset中储存的值在跳转到另外一个页面后,在目标页面提取不出来。
req.getRequestDispatcher().forward(req,res)是跳转,转发,前后页面共同使用一个request,地址栏没变化,等于一次请求两次相应,
实际应用中你在上一个页面储存在request中的值在跳转到目标页面后在目标页面仍然可以request.getAttribute();这个方法取出来。
热心网友 时间:2024-10-05 18:40
sendRedirect()是向浏览器发送一个重定向信息,http代号好像是302.
而req.getRequestDispatcher()是在服务器内部进行处理,再返回到客户端
热心网友 时间:2024-10-05 18:41
第一个是绝对跳转,地址栏相应变化,相当于重启ie到新的地址
第二个是相对跳转,保留了一下信息,而且地址栏里边的地址不变
热心网友 时间:2024-10-05 18:34
res.sendRedirect();两次请求 两次响应 通俗一点就是 地址栏变化
request.getRequestDispatcher()是请求转发,前后页面共享一个request ;
forward(req,res);一次请求 两次响应 地址栏不变化
热心网友 时间:2024-10-05 18:35
1)他们的路径写法不同 sendRedirect(/工程名/xx.jsp)
req.getRequestDispatcher().forward(req,res) 是/xx.jsp
2)后者可以绑定requeset的属性,前者不能
3)剩下的他们说的都对
热心网友 时间:2024-10-05 18:35
不带参数与带参数跳转