ServletConfig与ServletContext
ServletConfig与ServletContext
1. ServletConfig
表示了Servlet的配置信息
ServletConfig对象由Servlet容器创建,在创建Servlet对象时传入init(ServletConfig config)方法中。所以可以利用init方法,重写该方法来获取ServletConfig对象
public void init(ServletConfig servletConfig) throws ServletException {
System.out.println("init()!!");
this.servletConfig = servletConfig;
}
作用
1. 获取Servlet对象的名称
可以通过ServletConfig中的getServletName()来获取Servlet对象的名字。
String name = servletConfig.getServletName();
2. 获取Servlet对象的初始化参数
Servlet对象的初始化参数可以在web.xml中servlet标签中定义,使用init-param标签。
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>com.syx.servlet.HelloServlet</servlet-class>
<init-param>
<param-name>encode</param-name>
<param-value>UTF-8</param-value>
</init-param>
</servlet>
可以通过ServletConfig中的getInitParameter(String Parameter)来获取对应参数的值。
String encode = servletConfig.getInitParameter("encode");
System.out.println("encode:"+encode);
3. 获取ServletContext
可以通过ServletConfig中的getServletContext()来获取ServletContext对象。
ServletContext context = servletConfig.getServletContext();
2. ServletContext
意思是Servlet上下文,代表当前Web应用
对象由Servlet容器创建,通过ServletConfig对象获取
作用
1. 获取WEB应用程序的初始化参数
WEB应用程序的初始化参数可以在web.xml中context-param标签中定义
<context-param>
<param-name>age</param-name>
<param-value>19</param-value>
</context-param>
可以通过ServletContext中的getInitParameter(String Parameter)来获取对应参数的值。
String age = context.getInitParameter("age");
System.out.println(age);
2. 获取虚拟路径所映射的本地路径
可以通过ServletContext中的getRealPath(String s)来获取本地路径
String realPath = context.getRealPath("index.html");
System.out.println(realPath);