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

  • 相关阅读:
    C库函数笔记
    曼彻斯特及差分曼彻斯特编码
    VS2008 由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。
    刚子扯谈:酒装狗熊胆
    poj1410
    新游戏《真·方块无双》发布-穿越混世过险境,运筹方块化无双
    hdu4267 A Simple Problem with Integers
    【转载】变量的存储类型
    【转载】硬盘存储原理和内部结构
    【转载】让windows使用linux系统的命令
  • 原文地址:https://www.cnblogs.com/fate-/p/14781259.html
Copyright © 2011-2022 走看看