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对象中,因此用该方法取回对象时,应强制转化为原来的类型。
网页计数器:
<% //获取用户输入的用户名信息 String name=request.getParameter("username"); out.println("你的用户名为:"+name); out.println("<br>"); //定义一个表示登录次数的变量 Object c = application.getAttribute(name); //如果是其中没有信息,表示第一次登录 if(c==null) { //显示用户是第一次登录 out.println("你是第1次登录该服务器"); //将登录次数保存在application对象中 application.setAttribute(name, 1); } else { int count=Integer.parseInt(c.toString()); //每次登录后+1 count++; out.println("你已经是第"); out.println(count); out.println("次登录服务器"); //重新保存登录信息 application.setAttribute(name, new Integer(count)); } %>
注:此代码参考了部分网上代码。