JavaWeb ServletConfig作用及原理分析讲解
作者:知奕奕 发布时间:2021-11-09 05:50:54
标签:JavaWeb,ServletConfig
基本概念
servlet 关系
servlet 和 servletconfig 是一对一的关系;
servletconfig 作用
它存储 web.xml 内的 servlet 标签内的所有信息;
tomcat 在解析 web.xml 中的标签时,就会自动把 servlet 标签包装到 servletconfig 里面去;
使用
获取 config 基础信息
首先我们手动创建一个 ConfigServlet,注册流程这里省略了;
这里为了方便,直接选择继承 GenericServlet;
public class ConfigServlet extends GenericServlet {
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
// 设置请求头
servletResponse.setContentType("text/html");
PrintWriter writer = servletResponse.getWriter();
// 获取本servlet的servletconfig
ServletConfig config = this.getServletConfig();
// 打印本config的真实对象名称
writer.println("servletconfig: " + config.toString() + "<br>");
// 获取当前servletconfig所管辖的servlet的名称
String configName = config.getServletName();
writer.println("名字是:" + configName);
}
}
携带信息
我们可以在 web.xml 中的 servlet
标签下,使用 init-param
夹带信息
所夹带的信息可以通过 servletconfig 进行获取,夹带信息数量不限;
<servlet>
<servlet-name>configServlet</servlet-name>
<servlet-class>com.zhiyiyi.javaweb.servlet.ConfigServlet</servlet-class>
<init-param>
<param-name>user</param-name>
<param-value>root</param-value>
</init-param>
</servlet>
使用 servletconfig
获取信息:
目前获取 init-param
中的信息有以下两种方式:
使用 getInitParameterNames 获取所有参数名称后再一一拿出 value
使用 getInitParameter 精准指定参数名后获取 value
// 使用枚举的方法获取到所有参数名称
Enumeration<String> initParameterNames = config.getInitParameterNames();
// 迭代输出获取到的参数名称
while (initParameterNames.hasMoreElements()) {
String name = initParameterNames.nextElement();
writer.println(name + "<br>");
}
// 直接指定需要获取的参数名称,精准拿到value
String userName = config.getInitParameter("user");
writer.println(userName + "<br>");
来源:https://blog.csdn.net/delete_you/article/details/127174402


猜你喜欢
- 引入pom<?xml version="1.0" encoding="UTF-8"?>&
- Android中获取资源 id 及资源 id 的动态获取我们平时获取资源是通过 findViewById 方法进行的,比如我们常
- 本文实例讲述了C#实现将Email地址转成图片显示的方法。分享给大家供大家参考。具体实现方法如下:private final static
- 前言:java.util.Set接口和 java.util.List接口一样,同样继承自 Collection接口,它与
- 前言总是觉得对HashMap很熟悉,但最近连续被问到几个关于它的问题,才发现它其实并不简单。这里对关于它的一些问题做个总结,也希望能够大家一
- 这次记录的是实现Android图片用手拖拉的功能,,供大家参考,具体内容如下编译环境:eclipseAndroid版本4.0创建工程过程略实
- 选择排序选择排序是一种简单直观的排序算法,它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未
- 这篇文章主要介绍了Java数据封装树形结构代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可
- 本文实例为大家分享了Android空心圆及层叠效果的具体代码,供大家参考,具体内容如下package com.bwei.test.zidin
- 本文实例为大家分享了winform实现五子棋游戏的具体代码,供大家参考,具体内容如下利用数组,根据新旧数组值的不同,获取那个点是什么棋子;说
- 效果展示在实际项目当中我们经常看到如下各种剪裁形状的效果,Flutter 为我们提供了非常方便的 Widget 很轻松就可以实现,下面我们来
- @Configuration注解的类:/** * @Description 测试用的配置类 * @Author 弟中弟 * @CreateT
- Spring MVC高级技术包括但不限于web.xml配置、异常处理、跨重定向请求传递数据1、web.xml文件的配置<!DOCTYP
- 生命太短暂,不要去做一些根本没有人想要的东西。本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术
- 场景yitter-idgenerator 是基于雪花算法进行改造的分布式ID自增算法,集成时需要为每个服务设置唯一的机器号,才能保证生成的I
- 俗话说没有规矩就没有方圆,java作为一门严谨的面向对象的高级编程语言,自然对权限整个重要的问题有严格的控制。Java中,可以通过一些Jav
- 一、什么是轻量级锁轻量级锁是JDK 6之中加入的新型锁机制,它名字中的“轻量级”是相对于使用moni
- 单选题:(每道题目2分)1. 下列哪个声明是错误的?(B) A. int i=10;B. float f=1.1;&
- 一、前导知识串行口是计算机的标准接口,现在的PC机(个人电脑)一般至少有两个串行口COM1和COM2。串行口应用广泛,在数据通信、计算机网络
- 本猿今天今天帮公司写第三支付接口的时候,灵机一动就想写一个扩展性比较的强的充值接口,t通过选择不同的充值渠道,调用不同的充值实现类(好了,废