学习JavaWeb第十四天
ServletConfig(Servlet的配置对象)
- 概述:ServletConfig对象,表示的是Servlet配置对象。每一个Servlet程序,都有对应的ServletConfig对象在Servlet 的xml配置文件中,可以用一个或多个 标签为servlet配置一些初始化参数
当servlet配置了初始化参数之后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init方法时,将ServletConfig对象传递给Servlet。所以,可以通过Servlet对象可以得到当前servlet的初始化参数信息。
方法:
获取ServletConfig对象的方法:
- 1、通过重写init()方法来获取
- @Override
public void init(ServletConfig config) throws ServletException {}
- @Override
- 2、通过this来获取 this.getServletConfig();
- 3、直接调用getServletConfig()。
获取Servlet的初始化参数常规方法:
- config.getServletName(); 获取xml 的本类对应的servletname 返回String类型
- config.getInitParameter(“xx”); 根据param-name的值,获取param-value的值
- config.getInitParameterNames(); 获取所有param-name以及对应的值 返回Enumeration< String >
xml配置文件:
<servlet>
<servlet-name>aaaa</servlet-name>
<servlet-class>com.ujiuye.TestServletConfig</servlet-class>
<!-- init在这里为设置初始化参数 若在外面初始化则作用于全局-->
<init-param>
<!-- param-name相当于键 -->
<param-name>键的内容</param-name>
<!-- param-name相当于值 -->
<param-value>值的内容</param-value>
</init-param>
</servlet>
获取上下文对象。
config.getServletContext(); 返回ServletContext对象
ServletContext(Servlet环境、上下文)
- 简介:生命周期:随着服务器的开始而开始,随着服务器的销毁而销毁
ServletContext作用范围:整个web应用。
获取ServletContext对象的方法:(与获取ServletConfig对象类似)
- 1、通过配置对象来获取,config.getServletContext();
- 2、通过继承的HttpServlet类的父类GenericServlet获取
- 3、通过this来获取 this.getServletContext();
- 4、通过super来获取 super.getServletContext();
- 5、直接调用getServletContext(),返回的是getServletContext对象。(常用)
常规方法
-
1、获取WEB应用程序的初始化参数
- context.getInitParameter(name) 根据param-name的值,获取param-value的值
- …
-
2、获取WEB应用程序下任意资源的绝对路径(tomcat真实路径)
- context.getRealPath(“b.txt”); //获取web项目根路径下的真实服务器所在地址
context.getRealPath("/text/c.txt");//获取web项目根路径下某个目录中的真实服务器所在地址
context.getRealPath("/WEB-INF/classes/a.txt");//获取src下的服务器真实路径 /WEB-INF/
- context.getRealPath(“b.txt”); //获取web项目根路径下的真实服务器所在地址
-
3、ServletContext作为域对象
- context.setAttribute(name, object); //设置键和值 相当于一个map来使用,以键值对的形式来进行存
- context.getAttribute(name); 通过键来取值
- context.removeAttribute(name); 根据键来删除值