02ServletConfig、ServletContext

本文详细介绍了ServletConfig的作用,包括如何配置Servlet的初始化参数及其获取方法。此外还讲解了如何通过ServletConfig对象获取ServletContext对象,以及如何利用它来获取当前web应用的初始化参数、文件的绝对路径等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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);
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值