ServletConfig类与ServletContext类
一、ServletConfig类
1.什么是ServletConfig类
1.servlet程序的配置信息类
2.servlet程序和servletConfig 对象都是由Tomcat负责创建,我们负责使用
3.Servlet 程序默认是第一次访问的时候创建,ServletConfig是每个Servlet程序创建时,就创建一个对象的ServletConfig对象
4.只能得到自己的servlet程序中的配置信息
2.ServletConfig类的注意点
init(ServletConfig config)方法会是当前Servlet对象与ServletConfig对象之间建立关联,所以如果在自己的servlet程序中重写了init初始化方法(重写方法中要写super.init(config); )
不然其他方法中调用ServletConfig会爆空指针异常,因为super.init(config);中保存了config对象
ServletConfig servletConfig = getServletConfig();
System.out.println(servletConfig);
3.作用:
1.可以获取servlet程序的别名servlet-name的值
2.获取初始化参数 init-param
3.获取servletContext对象
二、ServletContext类
1.什么是ServletContext
(1)ServletContext是一个接口,它表示Servlet上下文对象
(2)一个web工程,只有一个ServletContext对象实例
(3)ServletContext对象是一个域对象
(4)ServletContext是在web工程部署启动的时候创建,在web工程停止的
时候销毁
2.什么是域对象
域对象,是可以像Map一样存取数据的对象
这里的域指的是存取数据的范围
存数据 | 取数据 | 删除数据 | |
---|---|---|---|
Map() | put() | get() | remove() |
域对象 | setAttrbute() | getAttrbute() | removeAttrbute() |
3.ServletContext类的四个作用
1.获取web.xml中配置上下文参数context-param
2.获取当前的工程路径:格式/工程路径
3.获取工程部署后在服务器硬盘上的绝对路径
4.像Map一样存取数据
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 1.获取web.xml中配置上下文参数context-param
ServletContext context = getServletConfig().getServletContext();
String username = context.getInitParameter("username");
System.out.println("context-param参数中username的值是"+username);
// 2.获取当前的工程路径:格式/工程路径
System.out.println("获取当前工作路径:"+context.getContextPath());
// 3.获取工程部署后在服务器硬盘上的绝对路径
// / 斜杠在服务器解析的时候 表示地址为:http://ip:port/工程路径
System.out.println("工程部署的路径是:"+context.getRealPath("/"));
}