zoukankan      html  css  js  c++  java
  • JavaWeb:ServletConfig

    环境

    • JDK 8
    • Spring Tool Suite 4.6.1
    • Servlet 3.1
    • Tomcat 8.5
    • Maven 3.6.3

    ServletConfig 说明

    ServletConfig 包含四个需要被实现的方法。

    getServletName

    获取 Servlet 的名称。

    public String getServletName();
    

    getServletContext

    通过该方法,可以获取到 ServletContext 接口的一个对象。

    public ServletContext getServletContext();
    

    getInitParameter

    通过提供的名称,获得该 Servlet 的初始化参数的值。

    public String getInitParameter(String name);
    

    getInitParameterNames

    获取该 Servlet 所有的初始化参数的名称。

    public Enumeration<String> getInitParameterNames();
    

    ServletConfig 示例

    下面的示例基于 tomcat,所以 ServeltConfig 的实现是 tomcat 的实现。

    pom.xml

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>jiangbo.javaweb</groupId>
        <artifactId>03java-web-servlet-config</artifactId>
        <version>1.0.0</version>
        <packaging>war</packaging>
        <description>Servlet Config 的示例</description>
    
        <properties>
            <maven.compiler.source>1.8</maven.compiler.source>
            <maven.compiler.target>1.8</maven.compiler.target>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        </properties>
    
        <dependencies>
    
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>3.1.0</version>
                <scope>provided</scope>
            </dependency>
        </dependencies>
    </project>
    

    调用 ServletConfig 的方法

    ppackage jiangbo.javaweb;
    
    import java.io.IOException;
    import java.util.Enumeration;
    
    import javax.servlet.Servlet;
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    
    public class Servlet01 implements Servlet {
    
        private ServletConfig servletConfig;
    
        @Override
        public void init(ServletConfig config) throws ServletException {
    
            System.out.println("init...");
    
            System.out.println(config.getServletName());
            System.out.println(config.getServletContext());
            System.out.println(config.getInitParameter("username"));
            System.out.println(config.getInitParameter("password"));
    
            for (Enumeration<String> names = config.getInitParameterNames(); names.hasMoreElements();) {
                String element = names.nextElement();
                System.out.println(element + ":" + config.getInitParameter(element));
            }
    
            this.servletConfig = config;
        }
    
        @Override
        public ServletConfig getServletConfig() {
    
            return servletConfig;
        }
    
        @Override
        public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
            System.out.println("service...");
        }
    
        @Override
        public String getServletInfo() {
            return null;
        }
    
        @Override
        public void destroy() {
            System.out.println("destroy...");
        }
    }
    

    配置 web.xml

    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
        version="3.1">
    
        <servlet>
            <servlet-name>servlet01</servlet-name>
            <servlet-class>jiangbo.javaweb.Servlet01</servlet-class>
    
            <init-param>
                <param-name>username</param-name>
                <param-value>jiangbo</param-value>
            </init-param>
    
            <init-param>
                <param-name>password</param-name>
                <param-value>123456</param-value>
            </init-param>
        </servlet>
    
        <servlet-mapping>
            <servlet-name>servlet01</servlet-name>
            <url-pattern>/servlet01</url-pattern>
        </servlet-mapping>
    
    </web-app>
    

    浏览器访问

    将该项目部署到服务器并启动,在客户端访问 http://localhost:8080/03java-web-servlet-config/servlet01 项目地址,连续访问三次,然后关闭 tomcat。

    控制台输出

    init...
    servlet01
    org.apache.catalina.core.ApplicationContextFacade@498bec65
    jiangbo
    123456
    password:123456
    username:jiangbo
    service...
    service...
    service...
    destroy...
    
  • 相关阅读:
    UVA1349 Optimal Bus Route Design 最优巴士路线设计
    POJ3565 Ants 蚂蚁(NEERC 2008)
    UVA1663 Purifying Machine 净化器
    UVa11996 Jewel Magic 魔法珠宝
    NEERC2003 Jurassic Remains 侏罗纪
    UVA11895 Honorary Tickets
    gdb调试coredump(使用篇)
    使用 MegaCLI 检测磁盘状态并更换磁盘
    员工直接坦诚直来直去 真性情
    山东浪潮超越3B4000申泰RM5120-L
  • 原文地址:https://www.cnblogs.com/jiangbo44/p/12885482.html
Copyright © 2011-2022 走看看