网站技巧之转发与重定向的区别

重定向过程:客户浏览器发送http请求----》web服务器接受后发送302响应要求客户浏览器发送一个新的http请求----》客户端浏览器接受此响应后在发送一个新的http请求到服务器----》服务器根据此请求寻找资源并发送给客户,它可以重定向到任意URL,不能共享request范围内的数据。

转发过程:客户浏览器发送http请求----》web服务器接受此请求后调用内部的一个方法在容器内部完成请求处理和转发动作----》将目标资源发送给客户,它只能在同一个web应用中使用,可以共享request范围内的数据。

怎么选择是重定向还是转发呢?通常情况下转发更快,而且能保持request内的对象,所以他是第一选择。但是由于在转发之后,浏览器中URL仍然指向开始页面,此时如果重载当前页面,开始页面将会被重新调用。如果你不想看到这样的情况,则选择重定向。

(0)

相关推荐

  • JavaEE通过response实现请求重定向

    请求重定向指的是一个web资源收到客户端请求后,通知客户端去访问另外一个web资源,这称之为请求重定向.302状态码和location头即可实现重定向. 请求重定向最常见的应用场景就是用户登录. 下面的示例代码从另一个页面重定向到用户登录页面: 复制代码 代码如下: package com.yyz.response;  import java.io.IOException;  import javax.servlet.ServletException;  import javax.servlet

  • java转发和重定向的区别

    重定向和转发有一个重要的不同:当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程. 与之相反,重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求.因为,当你使用重定向时,浏览器中所显示的URL会变成新页面的URL, 而当使用转发时,该URL会保持不变.重定向的速度比转发慢,因为浏览器还得发出一个新的请求.同时,由于重定向方式产生了一个新的请求,所以经过一次重定向后,request内的对象将无法使用. 怎么选择是重定向还是转发

  • JSP转发和重定向的区别分析

    好长时间不看,又把基础只是给忘了.今天好好的再看看.呵呵呵......温故而知新啊!!! 1.RequestDispatcher.forward()――转发    是在服务器端起作用,当使用forward()时, Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个Servlet,JSP 或普通HTML文件,也即你的 form提交至a.jsp,在a.jsp用到了forward()重定向至b.jsp,此时form提交的所有信息在 b.jsp都可以获得,参数自动

  • 网站技巧之转发与重定向的区别

    重定向过程:客户浏览器发送http请求---->web服务器接受后发送302响应要求客户浏览器发送一个新的http请求---->客户端浏览器接受此响应后在发送一个新的http请求到服务器---->服务器根据此请求寻找资源并发送给客户,它可以重定向到任意URL,不能共享request范围内的数据. 转发过程:客户浏览器发送http请求---->web服务器接受此请求后调用内部的一个方法在容器内部完成请求处理和转发动作---->将目标资源发送给客户,它只能在同一个web应用中使用

  • 简单谈谈SpringMVC转发和重定向的区别

    在servlet中,转发和重定向是由request和response完成的.两者之间的区别请看我之前的文章.那么在springMVC中是如何完成的呢? /**转发**/ @RequestMapping("/login.do") public String login(HttpServletRequest request,HttpServletResponse response){ request.setAttribute("message", "hello

  • SpringMVC中转发与重定向的区别浅析

    转发和重定向 相同点 都是web开发中资源跳转的方式. 不同点 转发:是服务器内部的跳转,浏览器的地址栏不会发生变化.从一个页面到另一个页面的跳转还是同一个请求,也即是只有一个请求响应.可以通过request域来传递对象. 重定向:是浏览器自动发起对跳转目标的请求,浏览器的地址栏会发生变化.从一个页面到另一个页面的跳转是不同的请求,也即是有两个或两个以上的不同的请求的响应.无法通过request域来传递对象. 在SpringMVC中实现转发和重定向 (1)在SpringMVC中仍然以传统方式进行

  • JavaWeb中请求转发和请求重定向的区别以及使用

    什么是请求转发? 请求转发是指,服务器收到请求后,从一次资源跳转到另一个资源的操作. 请求转发的特点 1.浏览器地址栏不会发生变化 2.他们一次请求,服务器完成转发操作 3.共享Request域中的数据 4.可以转发到WEB-INF目录下 5.不可以访问工程以外的资源 举个例子: 1.一个公司有多个部门,其中部门1(Servlet1)向客户提供了自己能够提供的服务,但是还有一部分服务自己提供不了,需要其他部门的服务: 2.所以部门1(Servlet1)将客户的文件盖一个章,证明部门1已经提供了服

  • java 转发和重定向区别及实例代码

    java中转发和重定向 转发: request.getRequestDispatcher("success.jsp").forward(request,response); 在服务器组件收到用户请求后.经过它的处理后有传递给了另一个组件.不修改用户的请求码.各组件处理完之后在返回给用户,例如主页面的框架. 用户请求----->服务器------->组件1------->组件2------->服务器------->用户 (请求不变) 重定向: respons

  • Python实现网络端口转发和重定向的方法

    本文实例讲述了Python实现网络端口转发和重定向的方法.分享给大家供大家参考,具体如下: [任务] 需要将某个网络端口转发到另一个主机(forwarding),但可能会是不同的端口(redirecting). [解决方案] 两个使用threading和socket模块的类就能完成我们需要的端口转发和重定向. #encoding=utf8 #author: walker摘自<Python Cookbook(2rd)> #date: 2015-06-11 #function: 网络端口的转发和重

  • 使用301永久重定向和302临时重定向作用区别详解

    目录 简介 重定向的作用 1.网站有一些具有流量的无效URL 2.网站更换了主机托管公司 3.网站更换程序 4.网站实施URL规范化 5.网站因为各种原因而改变现有的URL 301重定向 302重定向 弊端 总结 简介 永久重定向(301): 在搜索结果中显示新的重定向目标: 新网址将替代旧网址 “上位”,就网址的排名会清零.(如果你不确定将来是否会撤销相应的重定向设置,请谨慎使用永久重定向) 临时重定向(302): 在搜索结果中显示源网页 虽然对旧的网址没什么影响,但是新的网址也不会有排名 重

  • 对Django 转发和重定向的实例详解

    转发和重定向: 转发:一次请求和响应,请求的地址没有发生变化,如果此时刷新页面,就会出现重做现象. 重定向:一次以上的请求和响应,请求地址发生一次以上的变化,如果此时刷新页面,就不会发生重做现象. 我来举个简单的列子,比如我手机号上不了4G网,我打电话给10086,说了我这个情况后,她会把这个情况反映给技术人员,来帮我解决这个问题,如果说我又有这个问题的话直接点击重播就好了,但我重播的是10086这个号码,然后再有她转给技术人员,如果再有问题还得继续这样,那么就显得很麻烦了,那这时候10086的

随机推荐