ServletConfig对象对应web.xml文件中的<servlet>节点。当Tomcat初始化一个Servlet时,会创建ServletConfig对象,并将该Servlet的配置信息封装到一个ServletConfig对象中,可通过该对象读取<servlet>节点中的配置信息

<servlet>
<servlet-name>servletName</servlet-name>
<servlet-class>servletClass</servletclass>
<init-param>
<param-name>key</param-name>
<param-value>value</param-value>
</init-param>
</servlet>
  • servletConfig.getInitParameter("key")

    可以读取web.xml文件中标签中标签中的配置信息。

  • servletConfig.getInitParameterNames()

        可以读取web.xml文件中当前标签中所有标签中的值。

    <servlet>
<servlet-name>getCongig</servlet-name>
<servlet-class>www.servlet.GetConfig</servlet-class> <init-param>
<param-name>key1</param-name>
<param-value>value1</param-value>
</init-param> <init-param>
<param-name>key2</param-name>
<param-value>value2</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>getCongig</servlet-name>
<url-pattern>/getconfig.do</url-pattern>
</servlet-mapping>
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration; public class GetConfig extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req,resp);
} @Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//设置响应编码
resp.setContentType("text/html;charset=utf-8");
//获取响应输出流
PrintWriter pw=resp.getWriter(); //获取ServletConfig对象,当Tomcat初始化Servlet时,ServletConfig对象被创建
ServletConfig servletConfig=this.getServletConfig();
//获取所有init-param的name
Enumeration en=servletConfig.getInitParameterNames();
//遍历所有name,取出相应都value
//只能读取当前servlet的值
while (en.hasMoreElements()){
//取name
String name=(String) en.nextElement();
//取value
String value=servletConfig.getInitParameter(name);
//响应给客户端
pw.println("name:"+name+" value:"+value);
}
//刷新流
pw.flush();
//关闭流
pw.close();
}
}

servlet中的ServletConfig对象的更多相关文章

  1. [原创]java WEB学习笔记05:Servlet中的ServletConfig对象

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  2. JavaWeb(一)Servlet中的ServletConfig与ServletContext

    前言 前面我介绍了一下什么是servlet,它的生命周期,执行过程和它的原理.这里我们做一个简单的回顾! 什么是Servlet? servlet 是运行在 Web 服务器中的小型 Java 程序(即: ...

  3. Java EE javax.servlet中的ServletConfig接口

    ServletConfig接口 public interface ServletConfig 实现类:GenericServlet.HttpServlet 一.介绍 一个供servlet容器使用配置对 ...

  4. Servlet中的request对象、重定向和转发的差别(6)

    1.这里所说的request对象指的是HttpServletRequest对象,它代表client的请求,当client通过HTTP协议訪问server时.HTTP请求头中的全部信息都封装在这个对象中 ...

  5. servlet中的ServletContext对象

    ServletContext官方叫Servlet上下文.服务器会为每一个Web应用创建一个ServletContext对象.这个对象全局唯一,而且Web应用 中的所有Servlet都共享这个对象(在整 ...

  6. servlet中的HttpServletResponse对象

    当有多个客户端浏览器去请求Tomcat时,Tomcat会为每一个客户端浏览器创建一对独立的HttpServletRequest与HttpServletResponse对象 HttpServletRes ...

  7. servlet中的HttpServletRequest对象

    HttpServletRequest对象表示客户端浏览器发起的请求,当客户端浏览器通过HTTP协议访问服务器时,Tomcat会将HTTP请求中的所有信息解析并封装在HttpServletRequest ...

  8. servletConfig对象

    在Servlet的配置文件中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数. 当servlet配置了初始化参数后,web容器在创建servlet实例对象 ...

  9. Servlet第二篇【Servlet调用图、Servlet细节、ServletConfig、ServletContext】

    Servlet的调用图 前面我们已经学过了Servlet的生命周期了,我们根据Servlet的生命周期画出Servlet的调用图加深理解 Servlet的细节 一个已经注册的Servlet可以被多次映 ...

随机推荐

  1. 【C# 编码格式】 System.Text 命名空间 Encoding

    Encoding基类    System.Text.ASCIIEncoding类    System.Text.UnicodeEncoding类    System.Text.UTF32Encodin ...

  2. nginx之版本升级方法一

    转至:https://www.cnblogs.com/sblack/p/12809034.html 非线上业务,纯属测试升级,线上业务不要采用此方法,可以采用官方推荐的平滑升级. 环境 Linux c ...

  3. linux shell脚本批量修改密码,无需交互输入

    转至:https://blog.csdn.net/weixin_34409357/article/details/89833777?utm_medium=distribute.pc_relevant. ...

  4. Eclipse Debug 调试步骤及注意事项

    debug方法 第一步:打开java代码文件,在左侧双击鼠标设置断点,或者在左侧右键点击Toggle Breakpoint 第二步:点击eclipse上方的"蜘蛛"按钮,点击deb ...

  5. python 中的迭代器和生成器简单介绍

    可迭代对象和迭代器 迭代(iterate)意味着重复,就像 for 循环迭代序列和字典那样,但实际上也可使用 for 循环迭代其他对象:实现了方法 __iter__ 的对象(迭代器协议的基础). __ ...

  6. Python:用正则表达式,提取字符串中的所有中文

    import re def clean(line): pattern = re.compile(u'[^\u4e00-\u9fa5]') #中文的范围为\u4e00-\u9fa5 line = re. ...

  7. js实现密码输入框对开启键盘大写锁定的提示(IE浏览器下有自动识别提示则不执行(用IE自带效果即可))

    代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <tit ...

  8. 基于SqlSugar的数据库访问处理的封装,支持多数据库并使之适应于实际业务开发中

    在我的各种开发框架中,数据访问有的基于微软企业库,有的基于EFCore的实体框架,两者各有其应用场景,不过多的去比较.最近在使用SqlSugar的时候,觉得这个数据访问处理的组件确实很灵活,据说性能也 ...

  9. JVM内存模型及GC机制

    一.JVM简介 1.1什么是JVM JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各 ...

  10. ASP.NET Core 6框架揭秘实例演示[21]:如何承载你的后台服务

    借助 .NET提供的服务承载(Hosting)系统,我们可以将一个或者多个长时间运行的后台服务寄宿或者承载我们创建的应用中.任何需要在后台长时间运行的操作都可以定义成标准化的服务并利用该系统来承载,A ...