JavaWeb ServletConfig作用及原理分析讲解
作者:知奕奕 时间:2021-11-09 05:50:54
基本概念
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
标签:JavaWeb,ServletConfig
0
投稿
猜你喜欢
Springboot-Starter造轮子之自动锁组件lock-starter实现
2022-01-21 03:53:59
Java通过HttpClient进行HTTP请求的代码详解
2022-06-04 09:50:20
Android实现拼图小游戏
2023-03-01 11:25:46
C#类继承中构造函数的执行序列示例详解
2022-05-26 11:42:09
java后端解决跨域的几种问题解决
2022-01-05 06:34:24
C#泛型语法详解
2023-01-28 18:20:12
C#关键字async/await用法
2022-04-19 03:38:13
intellij idea14打包apk文件和查看sha1值
2022-05-25 13:18:37
深入学习Java编程中的字符串的进阶使用
2023-11-11 12:54:20
Java如何使用spire进行word文档的替换详解
2022-10-15 09:59:21
java联调生成测试数据工具类方式
2021-10-12 06:42:17
C#实现将记事本中的代码编译成可执行文件的方法
2022-03-05 02:17:53
C#遍历系统进程的方法
2021-09-24 15:35:29
WinForm导出文件为Word、Excel、文本文件的方法
2022-07-08 20:07:16
23种设计模式(19)java责任链模式
2021-10-19 15:04:00
Unity shader实现高斯模糊效果
2023-11-17 20:23:45
Unity3D网格功能生成球体网格模型
2021-08-01 01:21:47
C#遍历子目录的方法
2022-06-30 11:11:27
一篇文章告诉你JAVA Mybatis框架的核心原理到底有多重要
2023-11-13 06:20:10
如何使用Spring自定义Xml标签
2022-11-14 19:01:08