学习javaweb开发jsp的学习是基础,而且jsp四种内置对象的属性范围是整个web开发的核心操作,规定了属性的有效范围,为了方便以后的记忆和查询对于其属性范围作了以下饿总结。应该有不规范或者不够全面的地方,希望大家大家谅解,并给予修正和补充。
PageContext :只能保存在一个页面,其可以直接操作四种属性范围。
Request :只是局限于同一个请求期间,即:如果要在服务器跳转之后属性可以继续保存下来,则可以使用request属性,request属性范围表示的是在服务器跳转之后,所有设置的内容依然会被保留下来,
注:request表示的客户端请求,正常情况下,一次请求服务器只会给予一次回应,如果是服务器端跳转,请求的地址栏没有改变,所以相当于回应了一次,如果是客户端跳转,即地址栏改变,就相当于是发出了第二次请求,则第一次的请求的内容肯定就已经消失了,所以无法得到。
Session :在同一个进程中公用他的属性,即只保存在当前的浏览器之中,并且可以从相关的页面中取得,所以无论是客户端跳转还是服务器跳转,都可以得到。
注:对于服务器而言,每一个连接到它的客户端都是一个session。
Application :属性保存在服务器上,所有的用户(每一个session)都可以对其进行访问。注:在服务器没有重启的情况下,所有的session 对象都可以得到application所设置的属性值。服务性关闭后,内容消失,如果在想访问,则可以重新设置。
四种内置对象的使用原则:能用page范围的就不用request,能用request的就不用session,能用session的就不用application,因为保存的范围越窄,则肯定对于服务器的压力就越大。