JSP的context和page、request、session、application的属性有区别么?
context有getAttribute和setAttribute我觉得它能修改的只能是page、request、session、application这些内置对象的属性...
context 有getAttribute和setAttribute
我觉得它能修改的只能是page、request、session、application这些内置对象的属性
但这些内置对象各自都有getAttribute和setAttribute方法,
那context是不是多余了?
比如ServletContextListener和ServletContextAttributeListener
是在context创建修改销毁的时候会调用。
我现在完全分不清request和session的创建修改销毁和context的创建修改销毁是不是一个意思啊? 展开
我觉得它能修改的只能是page、request、session、application这些内置对象的属性
但这些内置对象各自都有getAttribute和setAttribute方法,
那context是不是多余了?
比如ServletContextListener和ServletContextAttributeListener
是在context创建修改销毁的时候会调用。
我现在完全分不清request和session的创建修改销毁和context的创建修改销毁是不是一个意思啊? 展开
2个回答
展开全部
JSP中没有context.
page、request、session、application的比较:
application:
全局作用范围,整个应用程序共享,就是在部署文件中的同一个webApp共享,生命周期为:应用程序启动到停止。
session:
会话作用域,当用户首次访问时,产生一个新的会话,以后服务器就可以记住这个会话状态。生命周期:会话超时,或者服务器端强制使会话失效。
request:
请求作用域,就是客户端的一次请求。
page:
一个JSP页面。
以上作用范围使越来越小, request和page的生命周期都是短暂的。他们之间的区别就是:一个request可以包含多个page页。
这四者都可以用setAttribute(“”,”"); getAttribute(“”,”");其中用page时,为pageContext.setAttribute(“”,”");它只能在同一个页面中有效。
Request 的作用范围在一次请求间有效,请求完毕则失效。一次请求可以从一个页面跳转到另一个页面或者servlet,只有响应返回到客户单浏览器,则本次请求结束。只要将数据存入request对象,数据的范围就为Request。
Session 的作用范围为一段用户持续和服务器所连接的时间,但与服务器断线 ,这个属性就无效。只要将数据存入session对象,数据的范围就为Session。
Application 的作用范围在服务器一开始执行服务,到服务器关闭为止Application 的范围最、停留的时间也最久,所以使用时要特别注意,不然可能会造成服务器负载越来越重。只要将数据存入application对象,数据的范围范围 (Scope) 就为Application。
page、request、session、application的比较:
application:
全局作用范围,整个应用程序共享,就是在部署文件中的同一个webApp共享,生命周期为:应用程序启动到停止。
session:
会话作用域,当用户首次访问时,产生一个新的会话,以后服务器就可以记住这个会话状态。生命周期:会话超时,或者服务器端强制使会话失效。
request:
请求作用域,就是客户端的一次请求。
page:
一个JSP页面。
以上作用范围使越来越小, request和page的生命周期都是短暂的。他们之间的区别就是:一个request可以包含多个page页。
这四者都可以用setAttribute(“”,”"); getAttribute(“”,”");其中用page时,为pageContext.setAttribute(“”,”");它只能在同一个页面中有效。
Request 的作用范围在一次请求间有效,请求完毕则失效。一次请求可以从一个页面跳转到另一个页面或者servlet,只有响应返回到客户单浏览器,则本次请求结束。只要将数据存入request对象,数据的范围就为Request。
Session 的作用范围为一段用户持续和服务器所连接的时间,但与服务器断线 ,这个属性就无效。只要将数据存入session对象,数据的范围就为Session。
Application 的作用范围在服务器一开始执行服务,到服务器关闭为止Application 的范围最、停留的时间也最久,所以使用时要特别注意,不然可能会造成服务器负载越来越重。只要将数据存入application对象,数据的范围范围 (Scope) 就为Application。
展开全部
A context不多余
context JspContext类型
context提供了一些特性,以简化开发,包扩:
a single API to manage the various scoped namespaces
a mechanism to obtain the JspWriter for output
a mechanism to expose page directive attributes to the scripting environment
B 作用于有大和小的区别
application ServletContext类型,指web容器的环境。一个web程序,一个jvm只有一个ServletContext。
session指单个特定用户的访问环境。
request指一次请求的上下文环境。
pageContext指单个页面的环境。
具体讲:一个application是容器级别的,包含所有访问程序的会话。一个用户的连续访问是一个会话,其间包含多个请求。一个请求一般为单一页面,但是可能多个页面。比如a页面跳转到b页面响应。
context JspContext类型
context提供了一些特性,以简化开发,包扩:
a single API to manage the various scoped namespaces
a mechanism to obtain the JspWriter for output
a mechanism to expose page directive attributes to the scripting environment
B 作用于有大和小的区别
application ServletContext类型,指web容器的环境。一个web程序,一个jvm只有一个ServletContext。
session指单个特定用户的访问环境。
request指一次请求的上下文环境。
pageContext指单个页面的环境。
具体讲:一个application是容器级别的,包含所有访问程序的会话。一个用户的连续访问是一个会话,其间包含多个请求。一个请求一般为单一页面,但是可能多个页面。比如a页面跳转到b页面响应。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询