您现在的位置是:首页 >

对象具有属性和行为两个方面 浅析JSP开发中的对象和范围属性

火烧 2022-07-19 12:53:48 1070
浅析JSP开发中的对象和范围属性 在JSP页面中的对象 包括用户创建的对象(例如 JavaBea 对象)和JSP的隐含对象 都有一个范围属性 范围定义了在什么时间内 在哪一个JSP页面中可以访问这些对

浅析JSP开发中的对象和范围属性  

在JSP页面中的对象 包括用户创建的对象(例如 JavaBean对象)和JSP的隐含对象 都有一个范围属性 范围定义了在什么时间内 在哪一个JSP页面中可以访问这些对象 例如 session对象在会话期间内 可以在多个页面中被访问 application对象在整个Web应用程序的生命周期中都可以被访问 在JSP中 有 种范围 如下所示   ·page范围   具有page范围的对象被绑定到javax Servlet jsp PageContext对象中 在这个范围内的对象 只能在创建对象的页面中访问 可以调用pageContext这个隐含对象的getAttribute()方法来访问具有这种范围类型的对象(pageContext对象还提供了访问其他范围对象的getAttribute方法) pageContext对象本身也属于page范围 当Servlet类的_jspService()方法执行完毕 属于page范围的对象的引用将被丢弃 page范围内的对象 在客户端每次请求JSP页面时创建 在页面向客户端发送回响应或请求被转发(forward)到其他的资源后被删除   ·request范围   具有request范围的对象被绑定到javax servlet ServletRequest对象中 可以调用request这个隐含对象的getAttribute()方法来访问具有这种范围类型的对象 在调用forward()方法转向的页面或者调用include()方法包含的页面中 都可以访问这个范围内的对象 要注意的是 因为请求对象对于每一个客户请求都是不同的 所以对于每一个新的请求 都要重新创建和删除这个范围内的对象   ·session范围   具有session范围的对象被绑定到javax servlet HttpSession对象中 可以调用session这个隐含对象的getAttribute()方法来访问具有这种范围类型的对象 JSP容器为每一次会话 创建一个HttpSession对象 在会话期间 可以访问session范围内的对象   ·application范围   具有application范围的对象被绑定到javax servlet ServletContext中 可以调用application这个隐含对象的getAttribute()方法来访问具有这种范围类型的对象 在Web应用程序运行期间 所有的页面都可以访问在这个范围内的对象   下面我们通过几个简单的例子 来看一下这 种范围对象的应用    .测试page范围   test jsp <%pageContext setAttribute( name zhangsan );out println( test jsp: );out println(pageContext getAttribute( name ));out println( <p> );pageContext include( test jsp );%>  test jsp <%out println( test jsp: );out println(pageContext getAttribute( name ));%>  访问test jsp 将看到如下的输出   test jsp: zhangsan   test jsp: null  说明保存在pageContext对象中的属性具有page范围 只能在同一个页面中被访问    .测试request范围   修改test jsp和test jsp 如下所示   test jsp <%request setAttribute( name zhangsan );out println( test jsp: );out println(request getAttribute( name ));out println( <p> );pageContext include( test jsp );%>  test jsp <%out println( test jsp: );out println(request getAttribute( name ));%>

  访问test jsp 将看到如下的输出   test jsp: zhangsan    test jsp: zhangsan  说明保存在request对象中的属性具有request范围 在请求对象存活期间 可以访问这个范围内的对象 将

对象具有属性和行为两个方面 浅析JSP开发中的对象和范围属性
pageContext include( test jsp );  这一句注释起来 先访问test jsp 再访问test jsp 可以看到如下输出   test jsp: null  这是因为客户端开始了一个新的请求    .测试session范围   修改test jsp和test jsp 如下所示   test jsp <%session setAttribute( name zhangsan );%>  test jsp <%out println( test jsp: );out println(session getAttribute( name ));%>  先访问test jsp 然后在同一个浏览器窗口中访问test jsp 可以看到如下输出   test jsp: zhangsan   说明保存在session对象中的属性具有session范围 在会话期间 可以访问这个范围内的对象   如果我们在访问完test jsp后 关闭浏览器 重新打开浏览器窗口 访问test jsp 将看到如下输出   test jsp: null  这是因为客户端与服务器开始了一次新的会话    .测试application范围   修改test jsp和test jsp 如下所示   test jsp <%application setAttribute( name zhangsan );%>  test jsp <%out println( test jsp: );out println(application getAttribute( name ));%> lishixinzhi/Article/program/SQL/201311/16142  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码