springmvc之redirect重定向
2016-01-09 16:16
369 查看
java类中跳转链接的方式有两种一种是forword,一种是redirect。
forword是请求服务器资源,是服务器直接访问目标地址的url,把url相应的信息返回给浏览器。然而浏览器并不知道url的地址,所以说地址还是原来的地址。
redirect是服务器端根据逻辑代码返回一个状态码,告诉浏览器去访问最新的url地址。
数据库上说
forword请求的话访问的地址,可以接受request请求的参数。
redirect的话不能共享数据。
运用上面:
forword一般用于请求主页面,登陆成功后,通过用户的角色访问不同的功能。
redirect的话主要用于用户注销操作后跳转主页面的操作。
效率上
forword的效率高
redirect效率低
重定向,其实是两次request,
第一次,客户端request A,服务器响应,并response回来,告诉浏览器,你应该去B。这个时候IE可以看到地址变了,而且历史的回退按钮也亮了。重定向可以访问自己web应用以外的资源。在重定向的过程中,传输的信息会被丢失。
例子:
请求转发是服务器内部把对一个request/response的处理权,移交给另外一个
对于客户端而言,它只知道自己最早请求的那个A,而不知道中间的B,甚至C、D。 传输的信息不会丢失。
forword是请求服务器资源,是服务器直接访问目标地址的url,把url相应的信息返回给浏览器。然而浏览器并不知道url的地址,所以说地址还是原来的地址。
redirect是服务器端根据逻辑代码返回一个状态码,告诉浏览器去访问最新的url地址。
数据库上说
forword请求的话访问的地址,可以接受request请求的参数。
redirect的话不能共享数据。
运用上面:
forword一般用于请求主页面,登陆成功后,通过用户的角色访问不同的功能。
redirect的话主要用于用户注销操作后跳转主页面的操作。
效率上
forword的效率高
redirect效率低
重定向,其实是两次request,
第一次,客户端request A,服务器响应,并response回来,告诉浏览器,你应该去B。这个时候IE可以看到地址变了,而且历史的回退按钮也亮了。重定向可以访问自己web应用以外的资源。在重定向的过程中,传输的信息会被丢失。
例子:
请求转发是服务器内部把对一个request/response的处理权,移交给另外一个
对于客户端而言,它只知道自己最早请求的那个A,而不知道中间的B,甚至C、D。 传输的信息不会丢失。
相关文章推荐
- SpringMVC框架中多数据源的配置问题、datasource
- javaEE开发中使用session同步和token机制来防止并发重复提交
- Ubuntu jdk安装及环境配置
- spring mvc 上传图片
- java操作Properties属性文件及获取项目部署服务器路径
- springmvc之接收model类
- WIN7 JDK 环境变量配置
- spring 事务 Transactional
- Eclipse luna启动后立马就卡死的一种原因及解决办法(HotSpot虚拟机上)
- 简单配置Spring MVC里面的UEditor
- Java中的SSH框架之spring(1)
- JAVA CPU 100 分析
- SpringMVC入门实例及详细讲解 (一)
- java-拆包和装包简单分析
- java高并发框架 SSM框架 Spring+SpringMVC+MyBatis
- Java类加载原理解析
- 用自己的keystore替换eclipse默认签名文件
- 内省(introspector)和javabean
- Java泛型通配符extends与super
- eclipse自动补全代码以及jadoc文档注释