ServletConfig:代表是当前servlet,就可以通过这个接口的方法获取当前servlet所有信息,包括配置信息 //getInitParameter():根据初始化参数名获取初始化参数值 String userName=servletConfig.getInitParameter(“username”); System.out.println(“数据库用户名:”+userName);
//getInitParameterNames():获取所有初始化参数名 Enumeration names= servletConfig.getInitParameterNames(); while (names.hasMoreElements()){ String name=names.nextElement(); //System.out.println(name); //用户名-值 String value=servletConfig.getInitParameter(name); System.out.println(“参数名:”+name+"-参数值:"+value); } //getServletName:获取当前servlet的注册名 String servletName=servletConfig.getServletName(); System.out.println(“servletName:”+servletName);
(1)第一步:实现Servlet接口,重写里面的方法 (2)第二步:在web.xml中注册和映射servlet
<!--注册一个servlet--> <servlet> <!--注册名--> <servlet-name>hello</servlet-name> <!--servlet的原路径--> <servlet-class>com.hpe.servlet.HelloServlet</servlet-class> </servlet> <!--映射servlet--> <servlet-mapping> <!--必须和注册名一致--> <servlet-name>hello</servlet-name> <!--浏览器的访问路径 /:代表的是当前web应用的根目录 :localhost:8080/servlet01--> <url-pattern>/hello</url-pattern> <!--http://localhost:8080/hello--> </servlet-mapping>(1),构造方法:当第一次加载servlet的时候执行,执行一次,作用就是创建servlet实例,说明servlet是单例的 (2)init:当第一次加载servlet的时候执行,执行一次,作用就初始化servlet (3)service:每次请求servlet都会调用该方法,用户获取用户请求(request)和响应结果(response) (4)destroy:当web项目卸载或者服务器关闭的时候调用,执行一次,作用:释放servlet资源
可以指定servlet的创建时机,如果是正数或者0,当服务器加载当前项目的时候创建servlet和执行初始化,数值越小越早创建。如果是负数,第一次请求servlet的时候创建servlet和执行初始化
代表是当前servlet,可以通过这个接口的方法获取当前servlet所有信息,包括配置信息,可以获取ServletContext对象(可以在init方法里面直接调用,因为init方法创建了ServletConfig对象) getInitParameter():根据初始化参数名获取初始化参数值,需要配置初始化参数
<!--初始化参数--> // init-param标签需要放在load-on-startup标签的前面否则无法执行 <init-param> <param-name>username</param-name> <param-value>root</param-value> </init-param> <init-param> <param-name>pwd</param-name> <param-value>123456</param-value> </init-param>getInitParameterNames():获取所有初始化参数名 getServletName:获取当前servlet的注册名 getServletContext:创建ServletContext对象 常用
(1).是一个抽象类(只有抽象类才能有抽象接口所以GenericServlet也要改成抽象类在class前面加abstract),这个类同时实现servlet和servletconfig接口,其中service是一个抽象方法(在void前面加abstract) (2)在GenericServlet里面定义了一个全局变量servletconfig,并且在init方法里面对全局变量servletconfig进行初始化 (3)使用全局变量servletconfig实现了ServletConfig接口里面的所有方法 (4)还单独定义了一个重载的init()方法,他不是生命周期相关的方法,如果子类想在初始化的时候完成一些特殊的操作, 子类可以重写这个init方法