百木园-与人分享,
就是让自己快乐。

学习笔记——ServletConfig,ServletContext

2022-10-29

一、web中的两个接口:

(1)ServletConfig:

  说明:每当有一个servlet对象时,就会有唯一 一个servletConfig配置文件对象

  功能:能获得Servlet名称(该名称是web.xml中配置的servlet-name的值),使用方法:如下,可写在

 

 

 创建该类的“init”方法中

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

能获取全局上下文ServletContext对象;

ServletContext servletContext = servletConfig.getServletContext();
System.out.println(\"servletContext = \" + servletContext);

获取Servlet初始化参数

首先先设置ServletConfig的初始化参数:

位置:在“web.xml”(web Application项目)文件中的“<servlet>”中,初始化参数的位置也是有要求的,要放置在<load-on-startup>自启动标签的上面。

如:

<init-param>
            <param-name>path</param-name>
            <param-value>classpath:springmvc.xml</param-value>
</init-param>

 之后获得Servlet初始化参数

//        初始化参数
String path = servletConfig.getInitParameter(\"path\");
System.out.println(\"path = \" + path);

Enumeration<String> initParameterNames = servletConfig.getInitParameterNames();
while(initParameterNames.hasMoreElements()){
     System.out.println(initParameterNames.nextElement());
    }

之后,启动服务器

点击运行按钮。

运行的结果:

 

 

(2)ServletContext(全局上下文对象)

  说明:一个web项目只有一个ServletContext对象。

     所有的servlet(每次有一个新的功能就会有一个servlet对象)共享一个ServletContext对象。

     ServletContext对象是由服务器启动的时候,Tomcat来创建的。

  获取ServletContext对象的方式:

    通过ServletConfig来获取

    通过request来获取(常用)

ServletContext servletContext = servletRequest.getServletContext();
System.out.println(\"servletContext = \" + servletContext);

   ServletContext的功能:

    获取项目的上下文路径

String contextPath = servletContext.getContextPath();
System.out.println(\"contextPath = \" + contextPath);

    获取虚拟路径所映射的本地真实路径(由相对路径得到绝对路径)

 String realPath = servletContext.getRealPath(\"/haha\");
 System.out.println(\"realPath = \" + realPath);
        

 

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

      首先,先创建全局初始化参数,设置的位置在“web.xml”中的跟结点下,例如:

<context-param>
        <param-name>servletContextInitParamKey</param-name>
        <param-value>servletContextInitParamValue</param-value>
</context-param>

      调用全局初始化参数的函数,如下:

String servletContextInitParamKey = servletContext.getInitParameter(\"servletContextInitParamKey\");
System.out.println(\"servletContextInitParamKey = \" + servletContextInitParamKey);

Enumeration<String> initParameterNames = servletContext.getInitParameterNames();
while (initParameterNames.hasMoreElements()){
      System.out.println(\"initParameterNames.nextElement() = \" + initParameterNames.nextElement());
      }

 

    作为域对象共享数据:

      域对象:在一定的作用域(范围)能够被共享数据的对象。

 


来源:https://www.cnblogs.com/isDaHua/p/16839802.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » 学习笔记——ServletConfig,ServletContext

相关推荐

  • 暂无文章