Servlet获取配置信息(ServletConfig)
ServletConfig
ServletConfig:当Servlet容器初始化Servlet时,Servlet容器会给Servlet的init方法传入一个ServletConfig。ServletConfig封装可以通过@WebServlet或者部署描述符传给Servlet的配置信息。这样传入的每条信息就叫做一条初始参数,要在Servlet容器传给Servlet的init方法的ServletConfig中调用getInitParameter方法。getInitParameter的方法签名如下:
java.lang.String getInitParameter(java.lang.String name)
此外,getInitParameterNames方法则是返回所有初始参数名称的一个Enumeration:
java.util.Enumeration<java.lang.String> getInitParameterNames();
例如:为了获取contactName参数值,要使用下面的方法签名:
String contactName=servletConfig.getInitParameter("contactName");
除了getInitParamter和getInitParamterNames外,ServletConfig还提供了另外一个很有用的方法:getServletContext。利用这个方法可以从Servlet内部获取ServletContext。
web.xml中配置信息的获取,一共有三种方式
public class servletConfig extends HttpServlet{
private ServletConfig config;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
//1.得到ServletConfig对象的第一种方式
String encoding1=config.getInitParameter("encoding");
System.out.println(encoding1);
//2.得到ServletConfig对象的第二种方式
//getServletConfig()方法在Servlet接口 中定义的,GenericServlet重写了该方法
String encoding3=this.getServletConfig().getInitParameter("encoding");
System.out.println(encoding3);
//3.得到ServletConfig对象的第三种方式
//HttpServlet继承了GenericServlet,GenericServlet实现了ServletConfig接口
//ServletConfig接口中有getInitParameter()方法,GenericServlet重写了该方法
String encoding2=this.getInitParameter("encoding");
System.out.println(encoding2);
}
}
原web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name></display-name>
<servlet>
<servlet-name>myservlet</servlet-name>
<servlet-class>com.zk.myservlet.servletConfig</servlet-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>myservlet</servlet-name>
<url-pattern>/myservlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
Servlet获取配置信息(ServletConfig)的更多相关文章
- Servlet生命周期 Servlet获取配置信息 ServletContext
一.Servlet生命周期 实例化 ——> 初始化 ——> 服务 ——> 销毁 出生:(实例化 然后 初始化)tomcat第一次访问,Servlet就出生(默认情况下) 活着:( ...
- JavaWeb学习记录(八)——servlet获取配置信息
jdbc.properties内容如下: jdbcUrl=jdbc\:mysql\://localhost\:3306/animaluser=rootpass=root servlet获取资源信息代码 ...
- JavaWeb学习之Servlet(四)----ServletConfig获取配置信息、ServletContext的应用
[声明] 欢迎转载,但请保留文章原始出处→_→ 文章来源:http://www.cnblogs.com/smyhvae/p/4140877.html [正文] 一.ServletConfig:代表当前 ...
- (转)JavaWeb学习之Servlet(四)----ServletConfig获取配置信息、ServletContext的应用
[声明] 欢迎转载,但请保留文章原始出处→_→ 文章来源:http://www.cnblogs.com/smyhvae/p/4140877.html [正文] 一.ServletConfig:代表当前 ...
- .net core 2.0 mvc 获取配置信息
mvc_core_config *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 ...
- .Net Standard(.Net Core)实现获取配置信息
一.前言 在.Net Framework框架有专门获取webconfig配置的方法供我们使用,但是在.Net Core或者.Net Standard中没有可以直接使用的方法来获取配置文件信息,下面就来 ...
- Asp.net Core Startup Class中是如何获取配置信息的
默认的网站构建方式 VS2015新建asp.net core项目,项目建立完成后,有两个文件,Program.cs和Startup.cs. public class Program { public ...
- python 模块 wmi 远程连接 windows 获取配置信息
测试工具应用: https://ask.csdn.net/questions/247013 wmi连接不上报错问题集 https://blog.csdn.net/xcntime/article/det ...
- JavaWeb核心编程之(三.3)Servlet Init 配置
Servlet初始化 可以传入一些参数 通过 <init-param>来配置 新建 servletinit项目 新建包 com.xiaoan.test->new Class(Test ...
随机推荐
- Apache服务:使用 Apache 服务部署静态网站
1.安装Apache服务 第一步:安装Apache服务程序 yum install httpd 具体流程参考https://www.cnblogs.com/python-wen/p/1016845 ...
- Wannafly Camp 2020 Day 1A 期望逆序对 - 概率期望
分类讨论即可 #include <bits/stdc++.h> using namespace std; #define int long long const int N = 5005; ...
- spring boot no identifier specified for entity
定义Id 时,引用的是 import org.springframework.data.annotation.Id; 实际应该引入: import javax.persistence.Id;
- QQ群985135948入群密码
QQ群985135948入群密码:键盘第三排从左往右依次按过去,就是密码 点下面这个键应该可以进群哦!
- [POI2005]KOS-Dicing (最大流+二分)lg3425
题面https://www.luogu.org/problemnew/show/P3425 题面说赢的最多的人最少赢几场,肯定是向二分的方向思考 建立源点向每一场比赛连容量为1的边,从每场比赛向参赛两 ...
- 安装postman时遇到“无法定位程序输入点 SetDefaultDllDirectories于动态链接库KERNEL32.dll 上.”的问题
安装postman时遇到“无法定位程序输入点 SetDefaultDllDirectories于动态链接库KERNEL32.dll 上.”的问题 解决办法: 1.安装系统更新补丁KB2533623,下 ...
- Intellij IDEA史上最全快捷键大全
古人有云:工欲善其事,必先利其器,要是只是手握利器,而不能发挥其最大的效益,那无异于赤手空拳,对敌对垒. 那古人所云,未得其精髓,只能为碎语闲言尔. 自动代码 常用的有fori/sout/psvm+T ...
- python3练习100题——032
链接:http://www.runoob.com/python/python-exercise-example32.html 题目:按相反的顺序输出列表的值. 我的代码: for i in li[:: ...
- php设计模式之策略模式实例代码
html <html> <head> <meta charset="UTF-8"> <title>简单计算器</title&g ...
- 解决Creating Server TCP listening socket 54.179.160.162:7001: bind: Cannot assign requested address
背景:之前在测试环境搭过一个redis集群,运维把服务器重启之后我重新开启redis集群始终起不来,但是有没有任何日志,经过如下步骤最终解决问题 1.修改日志路径,根据日志查看为什么会启动失败[前期操 ...