zoukankan      html  css  js  c++  java
  • 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()语句

  • 相关阅读:
    POJ 2251 Dungeon Master
    HDU 3085 Nightmare Ⅱ
    CodeForces 1060 B Maximum Sum of Digits
    HDU 1166 敌兵布阵(树状数组)
    HDOJ 2050 折线分割平面
    HDU 5879 Cure
    HDU 1878 欧拉回路
    HDU 6225 Little Boxes
    ZOJ 2971 Give Me the Number
    HDU 2680 Choose the best route
  • 原文地址:https://www.cnblogs.com/fate-/p/14781259.html
Copyright © 2011-2022 走看看