JavaWeb转发和重定向的区别

本文讲述了服务器端转发和重定向的区别,前者在服务器内部进行,保留原始URL,能访问前后请求信息;后者在客户端,显示新URL,无法访问转发前的参数。并给出了Servlet和JSP中设置和获取自定义属性的代码示例。
摘要由CSDN通过智能技术生成

转发和重定向都是服务器端将请求转发到另一个资源,但是它们有不同的处理方式和使用场景:

  • 转发是在服务器内部完成的,客户端浏览器不知道服务器端进行了转发操作,浏览器中的 URL 地址仍然是原始的 URL 地址。转发可以访问转发前的请求信息,比如 request 参数等,也可以访问转发后的资源信息,比如 request 参数等。转发一般通过request.getRequestDispatcher("URL").forward(request,response)来实现。

  • 重定向是在客户端进行的,客户端浏览器能够看到新的 URL 地址,因为客户端浏览器必须重新发送新的请求。重定向不能访问转发之前的请求的参数,因为新的请求地址和原始的请求地址不同。重定向一般通过response.sendRedirect("URL")来实现。

  1. 自定义属性代码演示:

在Servlet中,我们可以使用setAttribute()方法去设置自定义属性,使用getAttribute()方法可以获取属性值。

在JSP中,可以使用<%= request.getAttribute("name") %>获取自定义属性值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值