zoukankan      html  css  js  c++  java
  • ServletContext与ServletConfig

    ServletContext

     

    • -运行在JVM.上的每一个web应用程序都有一 个与之对应的Servlet

    • 上下文(Servlet运行环境)Servlet API提供ServletContext接口用来表示Servlet上下文

    • ServletCo-ntext对象可以被web应用程序中的所有servlet访问

    • ServletContext对象是web服务器中的一个已知路径的根

    原理:

    • ServletContext对象由服务器进行创建,一个项目只有一个对象。 不管在项目的任意位置进行获取得到的都是同一个对象, 那么不同用户发起的请求获取到的也就是同一个对象了,该对象 用户共同拥有。

     

    作用:

    解决不同用户得数据共享问题

    特点:

    1. 由服务器创建

    2. 所有用户共享同一个ServletContext对象

    3. 所有的Servlet都可以访问到同一个ServletContext中的属性

    4. 每一个web项目对象的是一个ServletContext

    用法:

    • void setAttribute(String name,Object obj) 设置共享属性

    • Object getAttribute(String name) 读取共享属性

    • void removeAttribute(String name) 移除共享属性

    • ServletContext getContext(String uri) 获取指定uri的上下文对象

    • String getContextPath() 返回web程序的上下文路径

    • String getInitParameter(String param) 获取.上下文初始化参数

    • String getRealPath(String path) 返回资源在服务器上的真实路径

    • RequestDispatcher getRequestDispatcher(String path) 返回一个包装了路径信息的Dispatcher

    //设置ServletContext对象
    //1.   常用!
    ServletContext context1 =this.getServletContext();
    //2.
    ServletContext context2 =this.getServletConfig().getServletContext();
    //3.
    ServletContext context3 =request.getServletContext();
    ​
    //设置ServletContext属性值
     ServletContext servletContext = this.getServletContext();
            servletContext.setAttribute("111","xinsiwei");
    ​
    //获取ServletContext属性值
    ServletContext servletContext = this.getServletContext();
    String value = (String) servletContext.getAttribute("111");
    System.out.println(value);
    ​
    ​
    //其他用途
    //1.获取wem.xml中配置的公共属性
    <context-param>
            <param-name>beijing</param-name>
            <param-value>huanyingnin!</param-value>
    </context-param>
        
        String value = servletContext.getInitParameter("beijing");
            System.out.println(value);
    //2.获取某个文件的绝对路径
    String path= servletContext.getRealPath("web.xml");
            System.out.println(path);
          //获取项目的虚拟目录路径
                String path2= servletContext.getContextpath();
            System.out.println(path);

     

     


    ServletConfig

    作用:

    • 方便每一个servlet获取自己单独的属性配置

    特点:

    • 每一个servlet单独拥有一个ServletConfig对象

    使用:

    //在web.xml文件中servlet中添加
        <init-param>
                <param-name>china</param-name>
                <param-value>beijing</param-value>
        </init-param>
        ServletConfig config = this.getServletConfig();
        String value = config.getInitParameter("china");
        System.out.println(value);
    //获取所有的key
      Enumeration<String> initParameterNames = config.getInitParameterNames();
            while (initParameterNames.hasMoreElements()){
                String key = initParameterNames.nextElement();
                String value2 = config.getInitParameter(key);
                System.out.println(key+"-------"+value2);
  • 相关阅读:
    [收藏转贴]struct探索·extern "C"含义探索 ·C++与C的混合编程·C 语言高效编程的几招
    [收藏转贴]构建RESTful风格的WCF服务
    [转贴] C/C++中动态链接库的创建和调用
    [转贴]WebService的简单实现 C++
    谷歌已经对Android的开源严防死守
    如何成为一名黑客?
    当程序员思路被打断
    编辑语言是这样的
    开发者需要掌握多少门语言?
    程序员的六大优势
  • 原文地址:https://www.cnblogs.com/-xsw000/p/12670437.html
Copyright © 2011-2022 走看看