JSP中的page,request,session,application

application|js|request|session

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

时间: 2024-08-01 16:42:02

JSP中的page,request,session,application的相关文章

Struts2中操作request,session,application的方法

  Map类型--request,session,application 真实类型--HttpServletRequest,HttpSession,ServletContext Map类型是Struts对真实类型的一个封装,会将真实类型映射到Map类型中   取得上述元素有以下4种方法 1  通过ActionContext来访问request,session,application对象 2  通过实现RequestAware.SessionAware.ApplicationAware接口来访问r

jsp 网站开发-在 jsp中为什么用request.getParameter()的方法获取不到表单中的值?

问题描述 在 jsp中为什么用request.getParameter()的方法获取不到表单中的值? //新闻编号 int nid=Integer.parseInt(request.getParameter("nid")); //新闻主题编号 int ntid=1; String ntitle=request.getParameter("title"); String nauthor=request.getParameter("atuthor")

struts2 获得request session application的四种方式

(一)Map(在web.xml中必须使用2.1以上的配置) public class LoginAction1 extends ActionSupport { private Map request;private Map session;private Map application; public LoginAction1() {request = (Map)ActionContext.getContext().get("request");session = ActionCont

jsp中error page设置方法

1.设置errorPage:errorPage.jsp <%@page isErrorPage="true"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body>

JSP中Out和Request对象详解

内置表示不需要new便可直接使用. 一.基础知识 1.缓冲区:IO最原始是一个一个字节的读取,这就像吃米饭的时候一粒一粒的吃,很没有效率,这时候就有了碗,一碗一碗的吃,岂不痛快. 2.Get提交不能超过2k,安全性不高,查询.搜索时做,效率高,Post提交的信息在Html header里,信息量大,在注册.修改.上传时候. 二.out内置对象 向客户端输出信息,是JspWriter的对象,常用的有println.flush和clear和clearbuffer,后两者的区别是,潜着在flush调用

jsp中使用javabean实例

  这篇文章主要介绍了jsp中使用javabean的实例,同时介绍了相关属性,需要的朋友可以参考下 test.jsp中的代码如下所示 代码如下: 消息: :表示定义一个java bean的实例,实例的名称是test,类的名称是SimleBean. :表示设置实例test的属性name,其值是"Hello JSP". :表示设置实例test的属性message,其值是"fuck JSP". :表示在页面中输出实例test的属性name的值. :示在页面中输出实例tes

JSP中一些JSTL核心标签用法总结_JSP编程

一.JSTL介绍JSTL(JavaServer Pages Standard Tag Library)由JCP(Java Community Process)指定标准,提供给 Java Web 开发人员一个标准通用的标签函数库.和 EL 来取代传统直接在页面上嵌入 Java 程序(Scripting)的做法,以提高程序可读性.维护性和方便性.JSTL 主要由Apache组织的Jakarta Project 实现,容器必须支持Servlet 2.4 且JSP 2.0 以上版本. JSTL下载地址:

jsp中使用javabean实例介绍_JSP编程

test.jsp中的代码如下所示 复制代码 代码如下: <%@ page language = "java" import="test.SimpleBean;" %> <html><head><title>JSP中使用 Java Bean的测试</title></head><body><jsp:useBean id="test" class="te

JSP中常用的JSTL fmt(format格式化)标签用法整理_JSP编程

JSTL标签提供了对国际化(I18N)的支持,它可以根据发出请求的客户端地域的不同来显示不同的语言.同时还提供了格式化数据和日期的方法.实现这些功能需要I18N格式标签库(I18N-capable formation tags liberary).引入该标签库的方法为: <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> I18N格式标签库提供了11个标签,这些 标签从功能上