servlet的体系
Servlet – > GennericServlet --> HttpServlet(用于处理http请求)
写一个类继承httpservlet 而不是去实现servlet接口
实现dopost ,doget方法
servlet的生命周期:
init --> service --> destroy
eg:
@Override
public void init(ServletConfig arg0) throws ServletException {
//1.创建实例的时候就执行该方法
System.out.println("servlet 初始化");
}
@Override
public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
// TODO Auto-generated method stub
//2.客户端来一个请求的时候,就会执行这个方法
//这个方法可以执行很多次
System.out.println();
}
@Override
public void destroy() {
//servlet销毁时就会执行这个方法
//a.该文件从tomcat里面移除
//b.直接关闭服务器
//c.从tomcat文件的bin文件下的shutdown进行关闭服务器
// TODO Auto-generated method stub
System.out.println("销毁");
}
ConfigServlet: 获取servlet的一些配置信息
步骤
1.创建一个类,继承httpservlet
创建doget ,dopost对象
2.得到servlet配置对象 ServletConfig sc = getServletname();
3.方法介绍:
a:getServletConfig() --> 获取servlet-name值
b: getInitParameter(“传入xml中的键”) 获取xml中的值
c: getInitParameternames()获取所有的参数的键
Enumeration initParameterNames = servletConfig.getInitParameterNames();
d:nextElement(),获取xml中的值
ServletConfig servletConfig = getServletConfig();
//getServletName()值拿的是 servlet-name的值
String s = servletConfig.getServletName();
System.out.println(s);
-----------------------------------------------
String name = servletConfig.getInitParameter("zhangsan");
//获取某一个参数 通过键值对去取值;
/*
* * <init-param>
* <param-name>zhangsan</param-name>
* <param-value>23</param-value>
* </init-param>*/
System.out.println(name);
Enumeration<String> initParameterNames = servletConfig.getInitParameterNames();
while(initParameterNames.hasMoreElements()) {
String key = initParameterNames.nextElement();
String value = servletConfig.getInitParameter(key);
System.out.println(key + value);
}
为什么要servlet