随笔都是学习笔记
随笔仅供参考,为避免笔记中可能出现的错误误导他人,请勿转载。
posts - 398,comments - 0,views - 13万

简介:

public interface ServletConfig
public ServletConfig getServletConfig() {
        System.out.println("getServletConfig()。。。。");
        return null;
    }

Servlet中的ServletConfig接口:获取配置信息;

一个ServletConfig对象对应的是一段的<servlet>信息,例如web.xml中有一段信息:

<servlet>
        <servlet-name>AServlet</servlet-name>
        <servlet-class>cn.mlcd.servlet.AServlet</servlet-class>
    </servlet>

那么就有一个ServletConfig对象来获取其中AServlet的信息,

如果还有一段:

<servlet>
        <servlet-name>BServlet</servlet-name>
        <servlet-class>cn.mlcd.servlet.AServlet</servlet-class>
    </servlet>

那么就还有一个ServletConfig对象来获取其中BServlet的信息。

ServletConfig:

NO

方法名

参数

返回

作用

1
public java.lang.String getServletName()
String 类型 当前Servlet的名称
2
public ServletContext getServletContext()
ServletContent 类型 获取Servlet上下文对象
 3
public java.lang.String getInitParameter(java.lang.String name)
 String 类型 String 类型   通过名称获取指定初始化参数的值
 4  
public java.util.Enumeration getInitParameterNames()
 无  
Enumeration 类型
获取所有初始化参数的名称 

有这么一个对应关系:

 

 

如果要获取 v1 的值,那么就需要 ServletConfig的实例化对象调用 getInitParameter() 方法,并且传入参数 "p1" 那么就会返回 v1 的值了

那么如果调用的是getInitParameterNames()方法呢:返回的就是一个枚举集合,集合中有 p1 和 p2 ;

Enumeration:

 

 

NO

方法名

参数

返回值

作用

1 public boolean hasMoreElements() boolean 判断是否还有下一个元素
2
public E nextElement()
E 返回下一个元素

 

代码实现:

在web.xml配置文件中写入初始化参数:

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
    version="4.0">
    <servlet>
        <servlet-name>AAA</servlet-name>
        <servlet-class>cn.mlcd.servlet.AServlet</servlet-class>
        <init-param>
            <param-name>p1</param-name>
            <param-value>v1</param-value>
        </init-param>
        <init-param>
            <param-name>p2</param-name>
            <param-value>v2</param-value>
        </init-param>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>AAA</servlet-name>
        <url-pattern>/AServlet</url-pattern>
    </servlet-mapping>


</web-app>
复制代码

在init()方法中获取初始化的参数值:

复制代码
/**
     * 生命周期方法
     * 在Servlet对象创建后马上调用一次!(出生后的初始化)
     */
    @Override
    public void init(ServletConfig config) 
            throws ServletException {
        System.out.println("init()。。。。");
        /**
         * 获取初始化参数
         */
        System.out.println(config.getInitParameter("p1"));
        System.out.println(config.getInitParameter("p2"));
        Enumeration<String> names = config.getInitParameterNames();
        while(names.hasMoreElements()) {// 有下一个元素
            System.out.println(names.nextElement());    // 获取下一个元素再打印
        }
    }
复制代码

写完后启动服务器,使用浏览器访问:

 发现输出了对应的值。

 

posted on   时间完全不够用啊  阅读(139)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示