学习笔记——ServletConfig,ServletContext

打印 上一主题 下一主题

主题 785|帖子 785|积分 2355

2022-10-29
一、web中的两个接口:
(1)ServletConfig:
  说明:每当有一个servlet对象时,就会有唯一 一个servletConfig配置文件对象
  功能:能获得Servlet名称(该名称是web.xml中配置的servlet-name的值),使用方法:如下,可写在

 
 
 创建该类的“init”方法中
  1. String servletName = servletConfig.getServletName();
  2. System.out.println("servletName = " + servletName);
复制代码
能获取全局上下文ServletContext对象;
  1. ServletContext servletContext = servletConfig.getServletContext();
  2. System.out.println("servletContext = " + servletContext);
复制代码
获取Servlet初始化参数
首先先设置ServletConfig的初始化参数:
位置:在“web.xml”(web Application项目)文件中的“”中,初始化参数的位置也是有要求的,要放置在自启动标签的上面。
如:
  1. <init-param>
  2.             <param-name>path</param-name>
  3.             <param-value>classpath:springmvc.xml</param-value>
  4. </init-param>
复制代码
 之后获得Servlet初始化参数
  1. //        初始化参数
  2. String path = servletConfig.getInitParameter("path");
  3. System.out.println("path = " + path);
  4. Enumeration<String> initParameterNames = servletConfig.getInitParameterNames();
  5. while(initParameterNames.hasMoreElements()){
  6.      System.out.println(initParameterNames.nextElement());
  7.     }
复制代码
之后,启动服务器
点击运行按钮。
运行的结果:

 
 
(2)ServletContext(全局上下文对象)
  说明:一个web项目只有一个ServletContext对象。
     所有的servlet(每次有一个新的功能就会有一个servlet对象)共享一个ServletContext对象。
     ServletContext对象是由服务器启动的时候,Tomcat来创建的。
  获取ServletContext对象的方式:
    通过ServletConfig来获取
    通过request来获取(常用)
  1. ServletContext servletContext = servletRequest.getServletContext();
  2. System.out.println("servletContext = " + servletContext);
复制代码
   ServletContext的功能:
    获取项目的上下文路径
  1. String contextPath = servletContext.getContextPath();
  2. System.out.println("contextPath = " + contextPath);
复制代码
    获取虚拟路径所映射的本地真实路径(由相对路径得到绝对路径)
  1. String realPath = servletContext.getRealPath("/haha");
  2. System.out.println("realPath = " + realPath);
  3.         
复制代码
 
    获取WEB应用程序的全局初始化参数
      首先,先创建全局初始化参数,设置的位置在“web.xml”中的跟结点下,例如:
  1. <context-param>
  2.         <param-name>servletContextInitParamKey</param-name>
  3.         <param-value>servletContextInitParamValue</param-value>
  4. </context-param>
复制代码
      调用全局初始化参数的函数,如下:
  1. String servletContextInitParamKey = servletContext.getInitParameter("servletContextInitParamKey");
  2. System.out.println("servletContextInitParamKey = " + servletContextInitParamKey);
  3. Enumeration<String> initParameterNames = servletContext.getInitParameterNames();
  4. while (initParameterNames.hasMoreElements()){
  5.       System.out.println("initParameterNames.nextElement() = " + initParameterNames.nextElement());
  6.       }
复制代码
 
    作为域对象共享数据:
      域对象:在一定的作用域(范围)能够被共享数据的对象。
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

立聪堂德州十三局店

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表