| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
ServletContext 
                一个项目只有一个ServletContext对象,我们可以在N多个Servlet中获取这个唯一的对象 
                使用它给多个Servlet传递数据 
                与Tomcat同生共死,启动则创建ServletContext,关闭时,ServletContext销毁 
        Servlet、GenericServlet、HttpServlet都可以获得ServletContext 
        Init()的参数方法  ServletConfig.getServletContext() 
        或者继承上面接口,类后  调用父类方法 
                        This.getServletContext() 
                        This.getServletConfig.getServletContext() 
         
        域对象的功能   域对象用来在多个servlet中传递数据,有存取数据功能 
        ServletContext是JavaWeb四大域对象之一: 
        pageContext 
        ServletRequest 
        HttpSession 
        ServletContext 
        所有域对象都有存取数据的功能,因为域对象内部有一个map,用来存储数据 
         
        ServletContext对象操作方法 
        Void setAttribute(String name,Object value) 
                       存储一个对象,即一个域属性,键值对 
        Object getAttribute(String name) 
        获取ServletContext中的数据 
         
        Void removeAttribute(String name) 
        移除ServletContext中的域属性 
         
        Enumeration getAttributeNames() 
        获取该域所有属性的名称 
         
        使用myeclipse创建Servlet,会自动在web.xml中配置好访问路径,以及键值对 
          
        获取应用初始化参数 
                Servlet只能获取自己的初始化参数,也就是局部的参数 
                配置公共的初始化参数,可以为所有Servlet使用,通过调用ServletContext调用 
                 
                配置:web.xml 
                <context-param> 
                <param-neme>name</param-name> 
                <param-value>value</param-value> 
                </context-param> 
                 
        获取真实路径 
                使用ServletContext对象调用getRealPath("/***")获取真实路径 
                ServeltCOntext.getRealPath("/***") 
                 
        [u]获取资源流[/u] 
                把资源以输入流的方式获取  
                ServletContext.getResourceAsStream("/***") 
         
        获取指定目录下所有资源路径 
                ServletContext.getResourcePath("/***") 
                 
        访问量统计 
                创建一个int变量,保存访问量,保存到ServletContext的域中,这样所有的Servlet 
                都可以访问 
                1、获取ServletContext对象 
                2、从ServletContext对象中获取名为count的属性 
                        3、如果存在,给访问量加1,然后保存回去 
                        4、如果不存在,说明是第一次访问,向ServletContext中保存名为count的属性,值为1 
                ServletContext app=this.getServletContext(); 
                                Integer count=(Integer)app.getAttribute("count"); 
                                if(count==null){ 
                                        app.setAttribute("count", 1); 
                                } 
                                else{ 
                                        app.setAttribute("count", count+1); 
                                } 
                                /* 
                                 * 向浏览器输出 需要使用响应对象 
                                 */ 
                                PrintWriter pw=response.getWriter(); 
                                pw.print(count); 
         
        获取类路径下资源 
                类路径对一个JavaWEB而言,就是/WEB-INF/classes和/WEB-INF/lib/*.jar 
                方法: 
                        1、先得到Class,再得到ClassLoader 
                        2、调用其getResourceAsStream() 得到一个InputStream 
                         
                        导入第三方类包,放到lib下   a.txt在cn.itcast.servlet包里 
                        Commons-io-14 
                        相对/classes    
                        ClassLoader cl=this.getClass().getClassLoader(); //类加载器 
                        InputStream input=cl.getResourceAsStream("cn/itcast/servlet/a.txt"); 
                        String s=IOUtils.toString(input); 
                        System.out.println(s); 
                         
                        相对.class文件所在目录 
                        Class c=this.getClass(); 
                        InputStream input=c.getResourceAsStream("a.txt"); 
                        String s=IOUtils.toString(input); 
                        System.out.println(s); 
 |   
 
评分
- 
查看全部评分
 
 
 
 
 
 |