`

JSP九大内置对象之application对象

阅读更多

原文:http://www.hxstrive.com/article/146.htm

 

我们已经知道,当一个客户一次访问服务器上的一个JSP页面时,JSP引擎创建一个和该客户相对应的session对象,当客户在所访问的网站的各个页面之间浏览时,这个session 对象都是同一个,直到客户关闭浏览器,这个session对象才被取消;而且不同客户的session对象是 互不相同的。与 session对象不同的是application对象。服务器启动后,就产生了这个application对象。当一个客户访问服务器上的一个JSP页面时,JSP引擎为该客户分配这个application对象,当客户在所访问的网站的各个页面之间浏览时,这个application对象都是同一个,直到服务器关闭,这个application对象才被取消。与session对象不同的是,所有客户的application对象是相同的一个,即所有的客户共享这个内置的application对象。我们已经知道,JSP引擎为每个客户启动一个线程,也就是说,这些线程共享这个application对象。

 

application对象的常用方法

(1) public void setAttribute(String key ,Object obj)

        application对象可以调用该方法将参数Object指定的对象obj添加到application对象中,并为添加的对象指定了一个索引关键字,如果添加的两个对象的 关键字相同,则先前添加对象被清除。

 

(2) public Object getAttibue(String key) 

        获取application对象含有的关键 字是key的对象。由于任何对象都可以添加到application 对象中,因此用该方法取回对象时,应强制转化为原来的类型。

 

(3) public Enumeration getAttributeNames()

        application对象调用该方法产生一个枚举对象,该枚举对象使用nextElemets()遍历application对象所含有的全部对象。

 

(4) public void removeAttribue(String key) 

        从当前application对象中删除关键字是key的对象。

(5) public String getServletInfo() 

        获取 Servlet 编译器 的当前版本的信息。由于application对象对所有的客户都是相同的,任何客户对该对象中存储的数据的改变都会影响到其他客户,因此,在某些情况下,对该对象的操作 需要实现同步处理。在下面的例子中,我们用application对象实现一个计数器,将计数存放在 application对象中,每个客户对该对象中“计数”的改变都会影响到其他客户。

 

注意:

        有些务器不直接支持使用application对象,必须用 ServletContext 类声明这个对象,再使用getServletContext()方法对这个application对象进行初始化。

 

实例:记录页面被访问次数(同一个浏览器算一次)

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

    "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<title>JSP九大内置对象之 —— application对象</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

</head>

<body>

<%!

synchronized void countPeople() {

    ServletContext application = getServletContext(); 

    Integer number = (Integer)application.getAttribute("Count"); if(number == null) {

        number = new Integer(1); 

        application.setAttribute("Count", number); } else {

        number = new Integer(number.intValue()+1); 

        application.setAttribute("Count", number); }

}

%>

<%

if( session.isNew() ) {

    countPeople(); 

    Integer myNumber = (Integer)application.getAttribute("Count"); session.setAttribute("MyCount", myNumber); 

}

%> 

<P><P>

您是第 

<%int a=((Integer)session.getAttribute("MyCount")).intValue(); %>

<%=a %>

个访问本站的客户。

 

</body>

</html>

 

分享到:
评论

相关推荐

    Jsp九大内置对象,request,session,application

    熟练使用这些内置对象是开发JSP应用程序的基本要求,尤其是对于request、session和application对象更是必须要掌握的。 会使用对象所具有的方法,能熟练使用每一种对象的几种常用方法。希望对大家有用。。。

    jsp九大内置对象

     Session对象是一个JSP内置对象,它在第一个JSP页面被装载时自动创建,完成会话期管理。从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。当一个客户访问一个服务器...

    jsp九大内置对象.xmind

    JSP九大内置对象思维导图,对正在学习JSP的同学很有帮助。session、request、response、application等等。

    jsp的九大内置对象和四大作用域

    jsp的九大内置对象和四大作用域.一共有九大内置对象: request、response、out、session、application、pageContext、page、config、exception 四大作用域 page(页面作用域),request(请求作用域),session(会话...

    JSP 内置对象:application 对象.pptx

    application 对象 application 对象常用方法

    jsp九大内置对象实例代码学习,可运行,有注释

    jsp九大内置对象:pageContext,request,response,out,session,application、exception、config、实例代码讲解,有注释可运行

    JSP内置对象归纳与总结

    JSP内置对象的归纳与总结,内置对象概述 out对象 request对象 response对象 session对象 application对象 pageContext对象 exception对象

    JSP 9大内置对象学习总结

    JSP9大内置对象学习总结 JSP内置9大对象 request常用方法 response session与客户端取得会话 application实现网页计数器

    JSP内置对象 session application的应用

    编写简单的留言本,可保存留言(使用application对象,以便网站所有用户可查看留言),可记录每个用户的名称(使用session对象),以便在留言页面显示用户的名称。可显示所有已保存的留言。

    jsp内置对象ppt

    jsp内置对象是jsp语言关键的部分 有application,session等

    jsp全部内置对象详解

    jsp全部内置对象详解,out request response session application

    原生jsp进行Web编程—作业3-JSP内置对象-Part2

    一、JSP内置对象练习 1、使用JSP中的session对象,实现用户登陆检验 (1)(1)web目录下的session-login目录中,新建login.jsp(允许用户输入用户名和密码), 在usercheck.jsp中进行验证,成功则显示index.jsp...

    jsp九个内置对象 六个基本动作 三个指令元素

    JSP中有四种属性范围,属性范围从小到大依次是:page、request、session、application。 page属性范围是在一个页面内; request属性范围是在一个请求之内; session属性范围是在一次会话之内,主要验证用户...

    JSP页面元素与内置对象

    介绍jsp的页面元素如page呀,和内置对象像session,application

    EL与JSP相关内置对象

    EL内置对象: pageContext pageScope requestScope sessionScope applicationScope param paramValues header headerValues cookie initParam

    jsp九大内置对象、四种作用域、跳转方式

    jsp有四种属性范围: page -&gt; 页面级别,显然只有在一个页面内可用。 request -&gt; 请求级别 服务器跳转,一次请求之后消失。 session -&gt; 会话级别 客户端跳转(服务器跳转),与浏览器有关,ie是在重新打开ie时才...

    JSP内置对象

    JSP 的内置对象介绍,使用方法,小型综合案例

    JSP内置对象使用说明.doc

    JSP内置对象使用说明.docJSP内置对象使用说明.docJSP内置对象使用说明.doc

    实例详解JSP内置对象

    实例详解JSP内置对象 jsp九种内置对象:request, reponse, out, session, application, config, pagecontext, page, exception.

Global site tag (gtag.js) - Google Analytics