Application

来源:互联网 发布:js控制audio播放 编辑:程序博客网 时间:2024/04/29 14:48
 

Application:

主要的方法操作:

      ·属性的操作:setAttribute()、getAttribute()、removeAttribute();

·获取虚拟目录对应的真实路经:application.getRealPath(String path);

 

一般application表示的是上下文,但是实际的开发中,往往很少直接使用application,而是使用getServletContext()方法来代替application。

例如:

<%@ page contentType="text/html;charset=GBK"%>

<%@ page import="java.io.*"%>

<h1><%=application.getRealPath("/")%></h1>

 

写成了

<%@ page contentType="text/html;charset=GBK"%>

<%@ page import="java.io.*"%>

<h1><%=getServletContext.getRealPath("/")%></h1>

 

网上计数器的实现:

<%@ page contentType="text/html;charset=GBK"%>

<%@ page import="java.io.*"%>

<%!

    // 读取文件

    public int load(String path){

        int temp = 0 ;

        try{

            File f = new File(path) ;

            BufferedReader buf = new BufferedReader(new InputStreamReader(new FileInputStream(f))) ;

            String str = buf.readLine() ;

            temp = Integer.parseInt(str) ;

            buf.close() ;

        }catch(Exception e){}

        return temp ;

    }

    public synchronized void save(int c,String path){    // 需要同步

        try{

            File f = new File(path) ;

            PrintStream ps = new PrintStream(new FileOutputStream(f)) ;

            ps.print(c) ;

            ps.close() ;

        }catch(Exception e){}

    }

%>

<%

    String path = getServletContext().getRealPath("/") + "count.txt" ;

    int count = load(path) ;

%>

<%

    if(session.isNew()){     // 如果是第一次访问

        save(++count,path) ;

    }

%>

<h2>您是第位<%=count%>访问者!!</h2>