zoukankan      html  css  js  c++  java
  • GenericServlet

    GenericServlet实现了Servlet接口的Init()方法

      GenericServlet主要目的,就是在容器调用init()方法时将传入的ServletConfig封装起来————赋值给成员变量。
      GenericServlet在实现Servlet的init()方法时,也调用了另一个无参数的init()方法,在编写Servlet时,如果有一些初始时所要运行的动作,可以重新定义这个无参数的init()方法,而不是重新定义那个有参的init()方法。


    GenericServlet还实现了ServletConfig接口

      对ServletConfig接口所定义方法都做了简单实现,实现内容主要是通过ServletConfig来取得一些相关信息。

      ServletConfig接口如下:

    public interface ServletConfig {
        String getServletName();
    
        ServletContext getServletContext();
    
        String getInitParameter(String var1);
    
        Enumeration<String> getInitParameterNames();
    }

      因为我们自己的Servlet也继承了GenericServlet,而GenericServlet本身又是ServletConfig的一个实现对象。所以在我们自己的Servlet里,就可以直接调用这些方法来取得所要的相关信息,而不用意识到ServletConfig的存在。比如:直接调用 getServletContext()


    demo

    package com.test;
    
    import javax.servlet.annotation.WebInitParam;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.util.Enumeration;
    
    @WebServlet(urlPatterns = "/servletDemo", name = "servletDemo", loadOnStartup = 1, initParams = {@WebInitParam(name="param", value = "value")})
    public class ServletDemo extends HttpServlet {
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
            Enumeration<String> initParameterNames = getInitParameterNames();
    
            while (initParameterNames.hasMoreElements()) {
                String element = initParameterNames.nextElement();
                response.getWriter().println(getInitParameter(element));
            }
            response.getWriter().println(getServletName());
        }
    }

    响应结果

    value
    servletDemo
  • 相关阅读:
    php中的短标签 太坑人了
    <转>让SVN用户能够修改自身密码的PHP页面
    配置Apache2 管理 SVN
    <转>Java 理论与实践: 正确使用 Volatile 变量
    <转>java中静态方法和非静态方法的存储
    分享:将业务系统页面嵌入到统一平台中(简易版)
    权限管理系统之字典(代码)管理
    权限管理系统之模块管理
    权限管理系统之用户管理
    轻松搞定Struts 2:三步走上手小入门
  • 原文地址:https://www.cnblogs.com/Mike_Chang/p/10059362.html
Copyright © 2011-2022 走看看