• 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轻量级开发全体验

  • 相关阅读:
    百度地图画线----可以加上起始位置和终点位置(当前例子没有加)
    android更新SDK时候丢失annotations.jar 导致支持库报错
    java批量转换图片格式
    自定义环形进度条
    第三方账号登录--QQ登录,以及QQ微博账号登录
    矩阵的基本运算,相乘,逆,转置,伴随
    中值滤波和均值滤波C++代码
    opengl 反走样 混合 多重采样 blend multisample
    四元数和欧拉角,轴角对之间的相互转化
    PHP 接口(interface) 和 抽象类(abstract class)
  • 原文地址:https://www.cnblogs.com/myfrank/p/7259454.html
Copyright © 2020-2023  润新知