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()语句

posted @ 2021-05-18 15:44  ice--cream  阅读(70)  评论(0编辑  收藏  举报