zoukankan      html  css  js  c++  java
  • Servlet-servletContext

    /**
      * ServletContext对象学习
      *             问题:
      *                 不同的用户使用相同的数据
      *             解决:
      *                 ServletContext对象
      *             特点:
      *                 服务器创建
      *                 用户共享
      *             作用域:
      *                 整个项目内
      *             生命周期:
      *                 服务器启动到服务器关闭
      *             使用:
      *                 获取ServletContext对象
      *                       //第一种方式:
                             ServletContext sc=this.getServletContext();
                         //第二种方式:
                             ServletContext sc2=this.getServletConfig().getServletContext();
                         //第三种方式:
                             ServletContext sc3=req.getSession().getServletContext();
      *                 使用ServletCOntext对象完成数据共享
      *                     sc.setAttribute(String,Object);
      *                     sc.getAttribute(String) 返回的是Object
      *                     注意:
      * `                     不同的用户可以给ServletContext对象进行数据的存取
      *                         获取的数据不存在返回Null
      *                 //获取项目web.xml的全局配置数据
      *
      *                     //配置方式:注意一组<context-param>标签只能存储一组键值对数据,多组可以声明多个<context-param>进行存储
      *                         <!-- 配置全局数据 -->
                             <context-param>
                             <param-name>name</param-name>
                             <param-value>zhangsan</param-value>
                             </context-param>
                        
                         String str=sc.getInitParameter(String name);根据键的名字返回web.xml中配置的全局数据的值
                         sc.getInitParameterNames();返回键名的枚举
                         作用:将静态数据和代码进行解耦
      *                 //获取项目webroot下的资源的绝对路径
      *                  //String pathString="D:apache-tomcatapache-tomcat-7.0.56webapps\sc\doc\1.txt";
      *                  获取的路径为项目的根目录,path参数为项目根目录中的路径   
      *                     String path=sc.getRealPath(Stirng path);
      *                 //获取webroot下的资源的流对象
      *                     InputStream is=sc.getResourceAsStream(String path);   
      *                     注意:
      *                         此种方式只能获取项目根目录的下的资源流对象,class文件的流对象需要使用类加载器获取
      *                         path参数为项目跟目录的中的路径
      *
      * @author Administrator
      *
      */
    public class ServletContextServlet extends HttpServlet {
         @Override
         protected void service(HttpServletRequest req, HttpServletResponse resp)
                 throws ServletException, IOException {
                 //获取ServletContext对象
                     //第一种方式:
                     ServletContext sc=this.getServletContext();
                     //第二种方式:
                     ServletContext sc2=this.getServletConfig().getServletContext();
                     //第三种方式:
                     ServletContext sc3=req.getSession().getServletContext();
                     System.out.println(sc==sc2);
                     System.out.println(sc2==sc3);
                 //使用ServletContext对象完成数据共享
                     //数据存储
                     sc.setAttribute("str","ServletContext对象学习");
                 //获取项目web.xml的全局配置数据
                     String str=sc.getInitParameter("name");
                     System.out.println("全局配置参数:"+str);
                 //获取项目根目录下的资源的绝对路径
                      //String pathString="D:apache-tomcatapache-tomcat-7.0.56webapps\sc\doc\1.txt";
                     String path=sc.getRealPath("/doc/1.txt");
                     System.out.println(path);
                     //获取项目根目录下资源的流对象
                     InputStream is=sc.getResourceAsStream("/doc/1.txt");
                    
                    
         }
    }

    好好学习,天天向上。 努力工作,给自己的和家人一个满意的答案。。。。
  • 相关阅读:
    HTML常用标签(自用,可能不严谨,勿怪)
    Nginx负载均衡和反向代理设置
    Django的列表反序
    Python装饰器通用样式
    WCF、Web API、WCF REST、Web Service的区别
    C++11 标准新特性: 右值引用与转移语义
    在windows下vs使用pthread
    部分浏览器记住密码后可能会带来的问题
    SQL Server、 My SQL、PG Sql、Oracle、 Access 不同数据库sql差异
    sql中select语句的逻辑执行顺序
  • 原文地址:https://www.cnblogs.com/axu521/p/9902277.html
Copyright © 2011-2022 走看看