`

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九大内置对象讲解

    JSP九大内置对象详解 JSP(Java Server Pages)是一种基于Java技术的服务器端编程语言,用于创建动态网页。JSP九大内置对象是JSP技术中非常重要的一部分,它们是JSP引擎提供的一些预定义的对象,用于帮助开发者快速...

    jsp九大内置对象

    ### JSP九大内置对象详解 #### 一、Request对象 - **定义**:`javax.servlet.http.HttpServletRequest` 类型的对象。 - **用途**:用于接收客户端发送到服务器端的数据(包括但不限于HTTP请求头、请求参数等)。 - ...

    Jsp九大内置对象代码

    在"Jsp九大内置对象对应代码"这个压缩包中,包含了针对这九大内置对象的具体应用示例。通过这些代码,你可以更深入地理解每个对象的功能和使用场景。例如,你可能会看到如何使用request对象获取参数,如何通过...

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

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

    JSP九大内置对象

    ### JSP九大内置对象详解 在Java Server Pages (JSP)技术中,为了简化Web开发,JSP提供了九个预定义的对象,也被称为内置对象或隐含对象。这些对象自动存在于JSP页面的上下文中,无需显式声明或实例化,它们在处理...

    jsp的九大内置对象详细讲解

    在Java Server Pages(JSP)技术中,九大内置对象是开发者处理网页动态内容时最常用到的工具。这些对象由JSP容器自动创建并注入到每个JSP页面,使得开发人员能够轻松地访问服务器端的功能。下面将对这九大内置对象...

    jsp九大内置对象.doc

    【jsp九大内置对象】是JavaServer Pages (JSP) 技术的核心组成部分,它们提供了一种方便的方式来访问和操作与HTTP请求相关的各种信息。以下是这九大内置对象的详细说明: 1. **Request对象**:全称为...

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

    【JSP的九大内置对象】 JSP的九大内置对象是JSP页面中可以直接使用的Java对象,无需显式声明。它们提供了对HTTP请求、响应、会话管理、页面上下文访问等核心功能的支持。 1. **request对象**:代表...

    jsp九大内置对象和四大作用域详解.docx

    jsp九大内置对象和四大作用域详解 jsp中的九大内置对象和四大作用域是jsp编程中非常重要的概念,它们提供了访问和操作服务器端资源的能力,帮助开发者快速构建动态Web应用程序。 一、request对象 request对象代表...

    JSP 内置对象:application 对象.pptx

    **JSP内置对象:Application对象** 在Java Server Pages (JSP) 技术中,内置对象是预定义的对象,可以直接在JSP页面中使用,无需显式声明或实例化。这些对象提供了对服务器功能和环境的便捷访问。其中,`...

    jsp九大内置对象.xmind

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

    jsp九种内置对象举例讲解

    【jsp九种内置对象详解】 在JavaServer Pages (JSP)技术中,内置对象是预定义的、可以直接在页面上使用的对象,无需显式创建。它们提供了与服务器、用户交互以及管理请求和响应数据的能力。以下是JSP的九种内置对象...

    jsp9大内置对象讲解

    《JSP 九大内置对象详解》 在JavaServer Pages (JSP) 技术中,开发者可以使用九个预定义的、与请求处理相关的对象,这些对象被称为“内置对象”。这些对象提供了对HTTP请求的访问,简化了网页开发,使得程序员能够...

    JSP 9 大内置对象详解

    了解和熟练使用JSP的这九大内置对象是进行高效JSP开发的关键。它们简化了Web开发中常见的操作,让开发者可以专注于业务逻辑而不是底层实现细节。通过合理利用这些对象,可以创建出更健壮、更易于维护的JSP应用。

Global site tag (gtag.js) - Google Analytics