您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > JSP >

JSP中的page,request,session,application

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 21:46 点击:
(标准化越来越近了):namespace prefix = jsp(SUN企业级应用的首选) />(SUN企业级应用的首选):include>(SUN企业级应用的首选):include>application和session比较简单,这里主要说明request和page的作用范围。
application:全局作用范围,整个应用程序共享,就是在部署文件中的同一个webApp共享,生命周期为:应用程序启动到停止。
session:会话作用域,当用户首次访问时,产生一个新的会话,以后服务器就可以记住这个会话状态。生命周期:会话超时,或者服务器端强制使会话失效。
request:请求作用域,就是客户端的一次请求。
page:一个jsp(SUN企业级应用的首选)页面。
以上作用范围使越来越小, request和page的生命周期都是短暂的,他们之间的区别就是:一个request可以包含多个page页(include,forward以及filter)。举个简单的例子:
jsp(SUN企业级应用的首选)1.jsp(SUN企业级应用的首选)
<jsp(SUN企业级应用的首选):useBean id="beanID" class="xxx .xxx.BeanClass" scope="request" />
<jsp(SUN企业级应用的首选):include page="jsp(SUN企业级应用的首选)2.jsp(SUN企业级应用的首选)" />           
jsp(SUN企业级应用的首选)2.jsp(SUN企业级应用的首选)
<jsp(SUN企业级应用的首选):getProperty name="beanID" property="sample" />
运行jsp(SUN企业级应用的首选)1.jsp(SUN企业级应用的首选)可以正常显示数据,因为作用范围是request,相当于调用了request.setAttribute()方法,
jsp(SUN企业级应用的首选)2页通过request.getAttribute来获得这个bean.如果把request改为page,就会抛出NullPointerExceptioin.
一个请求可以跨好几个jsp(SUN企业级应用的首选)(include和forword)和Servlet(如filter).不过这里有一个需要注意的就是区别
<jsp(SUN企业级应用的首选):include> 和<%@ include %>.如果上面的<jsp(SUN企业级应用的首选):include page="jsp(SUN企业级应用的首选)2.jsp(SUN企业级应用的首选)" />改为<%@ include file="jsp(SUN企业级应用的首选)2.jsp(SUN企业级应用的首选)" %>,即使scope为page也是正确的,<%@ include %>是编译时包含,<jsp(SUN企业级应用的首选):include>是运行时包含.前者就相当于宏,编译时替代,后者相当于函数,运行时返回.
(SUN企业级应用的首选):include>
(SUN企业级应用的首选):include>

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • JSP与Servlet
      • 自己动手写MiniBBS系列(基本篇)之用户登录
      • JSP取当前日期
      • JDBC 入门(一)
      • 打开一个jsp页面默认查询所有数据,调用action
      • 使用JSP标签库验证用户的输入(2)完
      • WIN98/2000下的jsp服务器
      • 自定义JSP标签(tag)浅议
      • Struts学习傻瓜式入门篇
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1