servlet请求转发和重定向

Servlet请求转发

在这里插入图片描述
实现原理:
1、客户端只发送一次请求
2、浏览器的地址栏地址没有变化
3、请求过程中只有一个request和response
4、几个servlet共享一个request和response
5、对客户端透明,客户端不需要知道服务端都做了哪些操作

注意:请求servlet的时候,写相对路径,同时后续不需要逻辑代码的处理

实现代码:

request.getRequestDispatcher("").forward(request,response);

在jsp中也可以实现servlet的请求转发功能
<jsp:forward page="forward.jsp"></jsp:forward>
page填写的是jsp页面的相对路径

注意:在标签中间不可以添加任何字符.除了<jsp:param name="" value="">

在转发的页面中想要获取到属性值通过request.getParameter(String key)



Servlet重定向

与servlet请求转发是一样,都是实现跳转到某个页面,假设一个登录的案例,验证密码正确后,使用请求转发跳转到新的页面,在登录成功的页面不断刷新,它还是会不断向服务器发送请求,所以引入了重定向的概念,重定向则是跳转到该页面,避免表单重复提交


在这里插入图片描述
原理:
1、浏览器发送两次请求
2、浏览器的地址发生变化
3、请求过程产生两个request对象和两个response对象
4、两个servlet不能共享同一个request和response对象

实现代码:

response.sendRedirect();


Servlet请求转发和重定向区别

请求次数地址栏信息是否共享数据跳转限制发生行为
请求转发1不变本站资源服务端
重定向2变化任意url客户端
  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值