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
  • 相关阅读:
    SQL2005 SQL2008 远程连接配置方法
    Subvision 安装 部署 TortoiseSVN
    在wpf或winform关闭子窗口或对子窗口进行某个操作后刷新父窗口
    C# 中的委托和事件
    长数字隔三位用逗号","隔开,保留两位小数,指定长度,不足补空格
    C# 柱状图, 折线图, 扇形图
    如何在Visual Studio 2010旗舰版本下安装Window Phone 7 简体中文开发环境
    vs2010发布、打包安装程序(超全超详细)
    java 环境搭建
    SQL2008 转 2000(高版本转换到低版本)
  • 原文地址:https://www.cnblogs.com/Mike_Chang/p/10059362.html
Copyright © 2011-2022 走看看