02ServletConfig、ServletContext

来源:互联网 发布:python 中,math.sqrt 编辑:程序博客网 时间:2024/06/06 23:55

ServletConfig

  • 封装了Servlet的配置信息

    • 配置Servlet的初始化参数

      <servlet>    <init-param>        <param-name>user</param-name>        <param-value>root</param-value>    </init-param>    <init-param>        <param-name>password</param-name>        <param-value>1234</param-value>    </init-param></servlet>

      注意:配置在元素前,否则会报错

    • 获取初始化参数

      • getInitParamter(String name):获取指定参数名的初始化参数
      • getInitParamterNames():获取参数名组成的Enumeration对象

        Enumeration<String> names = servletConfig.getInitParameterNames();while(names.hasMoreElements()){    String name = names.nextElement();  //获取name属性的值    String value = servletConfig.getInitParameter(name);    //name所对应的value属性的值    System.out.println(name+":"+value);}
    • 获取Servlet的配置名称

      • String servletName = servletConfig.getServletName();
  • 可以获取ServletContext对象

ServletContext

  • 可以由ServletConfig获取

    ServletContext servletContext = servletConfig.getServletContext();

  • 代表当前web运用

    • 获取当前web应用的初始化参数

      <context-param>    <param-name>driver</param-name>    <param-value>com.mysql.jdbc.Driver</param-value></context-param>
    • 获取当前web应用的某一个文件在服务器上的绝对路径

      • getRealPath(String path);

        ServletContext servletContext = servletConfig.getServletContext();String driver = servletContext.getInitParameter("driver");Enumeration<String> names2 = servletContext.getInitParameterNames();while(names.hasMoreElements()){    String name = names2.nextElement(); //获取name属性的值    System.out.println("servletContext--name--"+name);}
    • 获取当前web应用的名称

      • getContextPath()

        String contextPath = servletContext.getContextPath();System.out.println("contextPath: "+contextPath);
    • 获取当前web应用的某个文件对应的输入流

      • getResourceAsStream(String path):path的“/”为当前web应用的根目录

        ClassLoader classLoader = getClass().getClassLoader();InputStream is = classLoader.getResourceAsStream("jdbc.peoperties");System.out.println("1."+is);InputStream is2 = servletContext.getResourceAsStream("/WEB-INF/classes/jdbc.properties");System.out.println("2."+is2);
原创粉丝点击