application实例
application详解及实例
application对象用来在多个程序或者是多个用户之间共享数据,用户使用的所有application对象都是一样的,这与session对象不同。服务器一旦启动,就会自动创建application对象,并一直保持下去,直至服务器关闭,application就会自动消失。
application对象的方法
application对象实现了javax.servlet.ServletContext接口,此接口位于servlet-api.jar包中,代表当前web应用上下文。application对象的常用方法有如下一些。



实例 网站计数器
代码如下:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="javax.servlet.*" %>
<HTML>
<head>
<title>网站计数器</title>
</head>
<BODY>
<%!
synchronized void countPeople(){//串行化计数函数
ServletContext application=((HttpServlet)(this)).getServletContext();
Integer number=(Integer)application.getAttribute("Count");
if(number==null){ //如果是第1个访问本站
number=new Integer(1);
application.setAttribute("Count",number);
}else{
number=new Integer(number.intValue()+1);
application.setAttribute("Count",number);
}
}
%>
<% if(session.isNew())//如果是一个新的会话
countPeople();
Integer yourNumber=(Integer)application.getAttribute("Count"); %>
<P><P>欢迎访问本站,你是第
<%=yourNumber%>
个访问用户。
</BODY>
</HTML>
程序用synchronize关键字对计数函数进行了串行化(或者叫序列化),以确保当两个客户端同时访问网页而修改计数值时不会产生冲突;getServletContext()方法来得到application对象,因为有些Web服务器并不直接支持application对象,必须先得到其上下文;如果还是第一个访问的客户,则前面代码中得到的number会是空值,故置初值为1,否则做增1处理;如果是一个新的会话则调用计数函数,得到计数值并将其显示。网站计数器程序的运行结果如下图所示:
第一次访问:

关闭浏览器后,再次访问:

Java_Web轻量级开发全体验
application实例的更多相关文章
- WPF入门教程系列二——Application介绍
一.Application介绍 WPF和WinForm 很相似, WPF与WinForm一样有一个 Application对象来进行一些全局的行为和操作,并且每个 Domain (应用程序域)中仅且只 ...
- [转]Android中Application类的用法
原文链接:http://www.cnblogs.com/renqingping/archive/2012/10/24/Application.html Application类 Application ...
- WPF基础——Application
一.Application介绍 WPF中的Application对象用来进行一些全局的行为和操作,并且每个 Domain (应用程序域)中仅且只有一个 Application 实例存在.WPF App ...
- Android清单文件详解(三)----应用程序的根节点<application>
<application>节点是AndroidManifest.xml文件中必须持有的一个节点,它包含在<manifest>节点下.通过<application>节 ...
- WPF入口Application
1.WPF和 传统的WinForm 类似, WPF 同样需要一个 Application 来统领一些全局的行为和操作,并且每个 Domain (应用程序域)中只能有一个 Application 实例存 ...
- 【转】Android中Application类用法
转自:http://www.cnblogs.com/renqingping/archive/2012/10/24/Application.html Application类 Application和A ...
- Android使用Application总结
对于application的使用,一般是 在Android源码中对他的描述是; * Base class for those who need to maintain global applicati ...
- 【转载】Android使用Application总结
Application 配置全局Context 第一步.写一个全局的单例模式的MyApplication继承自Application 覆盖onCreate ,在这个方法里面实例化Application ...
- 【WPF】Application应用程序启动
wpf应用程序在启动的时候会自动创建Main函数并调用Application实例的run(),从而启动Application进程.Main函数在一个App.g.cs文件中,App.g.cs文件的位置在 ...
随机推荐
- jquery.peity.js简介
jQuery简单图表peity.js <html xmlns="http://www.w3.org/1999/xhtml"> <head> <titl ...
- python编程中的if __name__ == 'main': 的作用和原理
在大多数编排得好一点的脚本或者程序里面都有这段if __name__ == 'main': ,虽然一直知道他的作用,但是一直比较模糊,收集资料详细理解之后与打架分享. 1.这段代码的功能 一个pyth ...
- OpenStack入门之【OpenStack-havana】之单网卡-All In One 安装(基于CentOS6.4)
这篇文章是自己的一篇老文,分享下,请君慢用.... =========================================== [特别申明]:经过了一段时间的不断学习加不断的测试得出本文, ...
- 源码包安装Python3.6
1,安装Python3.6的依赖包 # yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel r ...
- Css中!important的用法
!important为开发者提供了一个增加样式权重的方法.应当注意的是!important是对整条样式的声明,包括这个样式的属性和属性值 <!DOCTYPE HTML> <html& ...
- Spring加载xsd文件报错:because 1) could not find the document; 2) the document could not be read...
Spring启动时加载xml文件的过程: spring在加载xsd文件时总是先试图在本地查找xsd文件(spring的jar包中已经包含了所有版本的xsd文件),如果没有找到,才会转向去URL指定的路 ...
- iOS - 利用 iTunes 接口检查 App 版本更新
iOS 想要检查 App 当前版本是否为最新,一般的方案大概都是服务器自己提供一个接口来获取 App 最新版本是多少,然后再做出相应提示是否需要更新,但是接口需要手动维护,应用要审核,还得等审核通过以 ...
- iOS - UIScreen的 bound、frame、scale属性
A UIScreen object contains the bounding rectangle of the device’s entire screen. When setting up you ...
- 记我的第一个python爬虫
捣鼓了两天,终于完成了一个小小的爬虫代码.现在才发现,曾经以为那么厉害的爬虫,在自己手里实现的时候,也不过如此.但是心里还是很高兴的. 其实一开始我是看的慕课上面的爬虫教学视屏,对着视屏的代码一行行的 ...
- NGINX域名跳转案列
1.不同域名不同路径跳转 nginx实现a.com/teacher域名跳转到b.com/student 若想实现上面题目的跳转,目前鄙人知道两种方式: 1.return 2.proxy_pass 具体 ...