ServletConfig类
ServletConfig类
ServletConfig类是Servlet程序的配置信息类
ServletConfig类的三大作用
1、可以获取Servlet程序的别名servlet-name的值
2、获取初始化参数init-param
3、获取ServletContext对象
以下为测试代码:
servlet程序:HelloServlet
package LWB;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
public class HelloServlet implements Servlet {
public HelloServlet() {
System.out.println("1.构造方法");
}
@Override
public void init(ServletConfig servletConfig) throws ServletException {
System.out.println("2.init方法");
System.out.println("HelloServlet程序的别名是"+servletConfig.getServletName());
System.out.println("初始化参数username的值是:"+ servletConfig.getInitParameter("username"));
System.out.println("初始化参数skill的值是:"+servletConfig.getInitParameter("skill"));
System.out.println(servletConfig.getServletContext());
}
@Override
public ServletConfig getServletConfig() {
return null;
}
//service方法是专门用来处理请求和响应的
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("3. HelloServlet被访问了");
//类型转换,因为HttpServletRequest类型有getMethod()方法
HttpServletRequest httpServletRequest=(HttpServletRequest) servletRequest;
//获取请求的方法
String method=httpServletRequest.getMethod();
// System.out.println(method);
if("GET".equals(method)){
doGet();
}
else if("POST".equals(method)){
doPost();
}
}
public void doGet(){
System.out.println("get请求");
System.out.println("get请求");
}
public void doPost(){
System.out.println("post请求");
System.out.println("post请求");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
System.out.println("4.destroy方法");
}
}
web.html中的配置:
<servlet>
<!--servlet-name标签给servlet程序起一个别名(一般是类名)-->
<servlet-name>HelloServlet</servlet-name>
<!--servlet-class是servlet程序的全类名-->
<servlet-class>LWB.HelloServlet</servlet-class>
<init-param>
<param-name>username</param-name>
<param-value>root</param-value>
</init-param>
<init-param>
<param-name>skill</param-name>
<param-value>fire</param-value>
</init-param>
</servlet>
结果:
1.构造方法
2.init方法
HelloServlet程序的别名是HelloServlet
初始化参数username的值是:root
初始化参数skill的值是:fire
org.apache.catalina.core.ApplicationContextFacade@68aa82af
3. HelloServlet被访问了
get请求
get请求
一些注意事项:
ServletConfig是每个Servlet程序创建时,就创建一个对应的ServletConfig对象。
在其他方法中也可以使用ServletConfig对象,可以用getServletConfig()方法获取,
重写init方法时,一定要加上super.init()语句