JAVA web四个属性的范围汇总
2015-08-07 11:01
211 查看
首先,你需要知道client跳跃和server差别:
client跳转: response.sendRedict(String path),地址栏发生改变。
不能传递request属性。
server端跳转:<jsp:forward> 地址栏不发生改变。能传递request属性。
request属性范围: 仅仅有在server端跳转以后,全部设置的内容才会停留下来。
session属性范围: 无论是client跳转还是server端跳转,仅仅要是是属性设置了都能够取得。
1:page:(pageContext)
仅仅在一个页面中保存属性。跳转之后无效。
表示将一个属性设置在本页面上,跳转之后无效。
当通过<jsp:forward>server跳转(地址栏不发生改变)之后。属性无法取得!
2:request:
server跳转(<jsp:forward>)之后有效;
通过超链接(<a href=""></a>)request设置的属性是无法取得的;
request属性在MVC设计模式中使用比較多。
3:session:
再一次会话范围中,不管何种跳转都能够使用,可是新开的浏览器无法使用;
能够再不论什么一个与设置页面相关的页面中取得;
在超链接中属性也能够取得(超连接地址栏改变,属于client跳转)。
每个新的浏览器连接上server后就是一个新的session。所以新开的浏览器中是无法取得session属性的。
4:application:
在整个server上保存,全部用户都能够使用;
无论新开多少浏览器application属性均可取得,可是一旦server又一次启动,则之前设置的属性将所有消失。
client跳转: response.sendRedict(String path),地址栏发生改变。
不能传递request属性。
server端跳转:<jsp:forward> 地址栏不发生改变。能传递request属性。
request属性范围: 仅仅有在server端跳转以后,全部设置的内容才会停留下来。
session属性范围: 无论是client跳转还是server端跳转,仅仅要是是属性设置了都能够取得。
1:page:(pageContext)
仅仅在一个页面中保存属性。跳转之后无效。
表示将一个属性设置在本页面上,跳转之后无效。
当通过<jsp:forward>server跳转(地址栏不发生改变)之后。属性无法取得!
2:request:
server跳转(<jsp:forward>)之后有效;
通过超链接(<a href=""></a>)request设置的属性是无法取得的;
request属性在MVC设计模式中使用比較多。
3:session:
再一次会话范围中,不管何种跳转都能够使用,可是新开的浏览器无法使用;
能够再不论什么一个与设置页面相关的页面中取得;
在超链接中属性也能够取得(超连接地址栏改变,属于client跳转)。
每个新的浏览器连接上server后就是一个新的session。所以新开的浏览器中是无法取得session属性的。
4:application:
在整个server上保存,全部用户都能够使用;
无论新开多少浏览器application属性均可取得,可是一旦server又一次启动,则之前设置的属性将所有消失。
相关文章推荐
- Java List Copy,Remove容易出现的问题
- Spring IOC + AOP 的实现
- java开发webservice的几种方式[待总结:cxf、xfire、axis2]
- How to change context root of a dynamic web project in Eclipse
- eclipse中Android项目架构
- JAVA bean与XML互转的利器---XStream
- java垃圾回收
- Thinking in Java -- 类型信息RTTI
- 封装SpringJdbcTemplate
- spring默认为单例模式
- Java String类型数据的字节长度
- Java中关于String学习总结
- eclipse快捷键
- java线程研究---(1)建立Thread和产生线程对象
- Spring3.1+Hibernate3+Struts2的最新整合所需要的jar包
- Spring学习笔记-类型转换器
- java动态代理(JDK和cglib)
- 从两个平方算法到分治算法-java
- Spring @Autowired,@Resource,@Required注解的用法和作用
- 使用Java代码将IP地址转换为int类型的方法