快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

转发和重定向的过程和区别-创新互联

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

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

成都创新互联公司主营桂林网站建设的网络公司,主营网站建设方案,重庆APP开发公司,桂林h5小程序开发搭建,桂林网站营销推广欢迎桂林等地区企业咨询

浏览器首先发送一个请求到服务器端,服务器端发现匹配的 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。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文标题:转发和重定向的过程和区别-创新互联
文章网址:http://6mz.cn/article/hdedp.html

其他资讯