• Servlet-ServletConfig对象


    Servlet-ServletConfig对象

    ServletConfig接口的方法

    * getInitParameterNames

    * getInitParameter

    * getServletName

    * getServletContext

    作用:

      封装了Servlet的配置信息,并且可以获取ServletContext对象

    1)配置Servlet的初始化参数

    <servlet>
          <!--servlet注册的名字-->
        <servlet-name>HelloServlet</servlet-name>
          <!--servlet的全类名-->
        <servlet-class>com.demo.javaweb.HelloServlet</servlet-class>
          <!--配置servlet的初始化参数 且节点必须在load-on-startup节点的前面-->
          <init-param>
              <!--参数名-->
              <param-name>user</param-name>
              <!--参数值-->
              <param-value>root</param-value>
          </init-param>
          <init-param>
              <param-name>password</param-name>
              <param-value>1230</param-value>
          </init-param>
          <!--可以指定Servlet被创建的时机-->
          <load-on-startup>1</load-on-startup>
      </servlet>
    

      

    2)获取初始化参数:

    >getInitParameter(String name):获取指定参数名的初始化参数

    >getInitParameterNames():获取参数名组成的Enumeration对象

     @Override
        public void init(ServletConfig servletConfig) throws ServletException {
            System.out.println("init...");
            String user = servletConfig.getInitParameter("user");
            System.out.println(user);
    
            Enumeration<String> names = servletConfig.getInitParameterNames();
            while (names.hasMoreElements()){
                String name = names.nextElement();
                String value = servletConfig.getInitParameter(name);
                System.out.println(name + " " + value);
            }
        }
    

      

    3)获取servlet的配置名称

     String servletName = servletConfig.getServletName();
            System.out.println(servletName);

    ServletContext接口:

    * Servlet引擎为每个WEB应用程序都创建了一个对应的ServletContext对象,ServletContext对象被包含在ServletConfig对象中,调用ServletConfig.getServletContext方法可以返回ServletContext对象的引用。

    * 由于一个WEB应用程序中所有Servlet都共享同一个ServletContext对象,所以,ServletContext对象被称之为application对象(web应用程序对象)。

    * 功能:

    -获取WEB应用程序的初始化参数

    -记录日志

    -application域范围的属性

    -访问资源文件

    -获取虚拟路径所映射的本地路径

    -WEB应用程序之间的访问

    -ServletContext的其他方法

      <!--配置当前WEB应用的初始化参数-->
        <context-param>
            <param-name>driver</param-name>
            <param-value>com.mysql.jdbc.Driver</param-value>
        </context-param>
        <context-param>
            <param-name>jdbcUrl</param-name>
            <param-value>jdbc:mysql://</param-value>
        </context-param>
    

    1.获取web应用的初始化参数

    方法:

     getInitParameter

     getInitParameterNames

            ServletContext servletContext = servletConfig.getServletContext();
            String driver = servletContext.getInitParameter("driver");
            System.out.println(driver);
    
            Enumeration<String> names2 = servletContext.getInitParameterNames();
            while (names2.hasMoreElements()){
                String name = names2.nextElement();
                String value = servletConfig.getInitParameter(name);
                System.out.println(name + " " + value);
            }
    

      

    web应用的初始化参数:可以被所有servlet所获取

    servlet初始化参数:只能用于这个Servlet所获取

     2.获取当前WEB应用的某一个文件在服务器上的绝对路径,而不是部署前的路径

    getRealPath(String path)

            String realPath = servletContext.getRealPath("/hello.jsp");
            System.out.println(realPath);
    

      

    3.获取当前WEB应用的名称:

    getContextPath()

     4.获取当前WEB应用的某一个文件对应的输入流

     getResourceAsStream(String path):path的/为当前WEB应用的根目录

          ClassLoader classLoader = getClass().getClassLoader();
            InputStream is = classLoader.getResourceAsStream("jdbc.properties");
            System.out.println(is);
            InputStream inputStream = servletContext.getResourceAsStream("/WEB-INF/classes/jdbc.properties");
            System.out.println(inputStream);
    

      

    5.与Attribute相关的方法

  • 相关阅读:
    Java中equals和==的区别
    Golang 中的 defer 关键字
    浅拷贝与深拷贝
    svn 忽略某些文件夹或者文件类型
    使用 nvm 管理 nodejs 版本
    数据库索引
    解决 vscode 安装 golang 环境出现 connection failed 的情况
    TSQL 如何批量修改/转移大数据量数据.
    从别人那儿陶的一个配置文件处理方法.
    分析sqlserver查询计划
  • 原文地址:https://www.cnblogs.com/yangHS/p/10921596.html
Copyright © 2020-2023  润新知