1.ServletConfig对象
ServletConfig是由服务器创建,在创建servlet的同时,也创建了ServletConfig对象,通过servlet的init(ServletConfig servletConfig)将servletConfig对象传递给servlet,在servlet实现类中,可以直接调用,ServletConfig servletConfig = this.getServletConfig();
ServletConfig对象用来配置servlet,主要作用有三种:
(1)获取当前servlet的名称(是在web.xml配置的名称,servlet-name)
String name = servletConfig.getServletName();
(2)获取当前servlet的初始化参数
String name = servletConfig.getInitParameter(String key);//这里的key是在web.xml中的<servlet>下子标签配置,返回param-value中的内容
<init-param>
<param-name></param-name>
<param-value></param-value>
</init-param>
(3)获取上下文ServletContext对象(因为servlet可以直接获得,所以该方法一般不用)
servletConfig.getServletContext();//获取上下文
2.ServletContext
其代表该项目的引用,代表了当前项目,当项目启动的时候,服务器也创建了一个servletContext对象,当项目销毁或者移除时,servletContext对象也释放,获取该对象有两种方法:
(1)this.getServletContext() ; //常用
(2)this.getServletConfig().getServletContext();
其作用如下:
(1)获取全局的初始化参数
String getInitParameter(String key); //通过名称获取指定的参数值
Enumeration getInitParameterNames();// 获取所有的参数名称
其参数配置在根标签<web-app>下配置
<context-param>
<param-name></param-name>
<param-value></param-value>
</context-param>
(2)共享参数和资源
xxxAttribute();
(3)获取文件资源
getRealPath();//获取文件部署到tomcat上的真实路径
//获取文件的另一种方法,通过类加载器获取文件,文件需要在class目录下
pathServlet.class.getClassLoader().getResource("文件名").getPath();
pathServlet.class.getClassLoader().getResourceAsStream("文件名");
getResourceAsStream(String path); //以流的方式返回一个文件
(4)获取文件的mime类型 大类型/小类型
getMimeType(String 文件名称)