网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

转发和重定向的过程和区别

转发  req.getRequestDispatcher("/要跳转的地址").forward(req, resp);

转发的过程:(以servlet和jsp为例)

创新互联公司专注于企业成都全网营销、网站重做改版、南岸网站定制设计、自适应品牌网站建设、html5商城建设、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为南岸等各大城市提供网站开发制作服务。

浏览器首先发送一个请求到服务器端,服务器端发现匹配的 servlet,并指定它去执行,当这个 servlet 执行完之后,它要调用getRequestDispacther()方法,把请求转发给指定的jsp页面,整个流程都是在服务器端完成的,而且是在同一个请求里面完成的,因此 servlet 和 jsp 共享的是同一个request,在 servlet 里面存放的所有东西,在jsp页面中都能取出来。整个过程是一个请求,一个响应。

易错点:

a)地址栏不会改变

b)转发只能转发到当前web应用内的资源

c)在转发过程中,可以把数据保存到request域对象中(因为转发使用同一个request域)

d)转发是在服务器端的跳转,浏览器并不知情

 

**重定向  resp.sendRedirect("/要跳转的地址");

重定向的过程:(以servlet和jsp为例)**

浏览器发送一个请求到服务器端,服务器端匹配servlet,这都和请求转发一样,servlet 处理完之后调用了sendRedirect()这个方法,这个方法是response的方法,所以当这个servlet处理完之后,看到response.senRedirect()方法,立即向浏览器返回这个响应(包含响应报头和新的URL地址),响应告诉浏览器你必须要再发送一个请求,去访问 jsp页面,紧接着浏览器收到这个请求后,立刻又重新发出一个新的请求,去请求 jsp页面。这两个请求互不干扰,相互独立,在前面request里面 setAttribute() 的任何东西,在后面的request里面都获取不了。可见,在重定向里面是两个请求,两个响应。

易错点:

a)地址栏会改变,变成重定向后的地址

b)重定向可以跳转到当前web应用或其他web应用,甚至是外部域名网站

c)不能在重定向的过程中,把数据保存到request中(因为发送第二个request请求时,第一个的request域会失效)

d) 重定向是在浏览器的跳转,浏览器知情

 

转发和重定向的区别:

转发是在服务器端的跳转,就是浏览器向服务器发送一个请求,服务器直接将请求相关的参数的信息原封不动的传递到该服务器的其他jsp或servlet去处理。而重定向是在浏览器的跳转,服务器会返回给浏览器一个响应报头和新的URL地址,原来的参数或者其他的一些信息,如果服务器端没有特别处理就不存在了,浏览器会访问新的URL所指向的servlet 或 jsp。


当前文章:转发和重定向的过程和区别
分享地址:http://bjjierui.cn/article/gjhcjo.html

其他资讯