利用ServletConfig获取servlet在配置的时候一些信息以及为什么需要有ServletConfig

本文通过一个具体的例子展示了如何在Servlet中利用ServletConfig获取配置信息,包括Servlet的名称、特定参数及其值。ServletConfig允许在web.xml中设置初始化参数,为不同环境提供灵活配置。ServletConfig的存在主要是为了在不修改Servlet代码的情况下,让应用程序根据实际需求配置参数,提高了代码的复用性和可维护性。
摘要由CSDN通过智能技术生成

xml配置文件如下

<servlet>
  <servlet-name>config</servlet-name>
  <servlet-class>com.ch7.servletconfig</servlet-class>
  <init-param>
  <param-name>address</param-name>
  <param-value>南昌</param-value>
  </init-param>
  <init-param>
  <param-name>address1</param-name>
  <param-value>九江</param-value>
  </init-param>
  <init-param>
  <param-name>address2</param-name>
  <param-value>上海</param-value>
  </init-param>
  <init-param>
  <param-name>address3</param-name>
  <param-value>北京</param-value>
  </init-param>
  </servlet>
  <servlet-mapping>
  <servlet-name>config</servlet-name>
  <url-pattern>/e</url-pattern>
  </servlet-mapping>

建立一个servletconfig的Servlet:

public class servletconfig extends HttpServlet {
 
 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

//1. 得到servlet配置对象 专门用于在配置servlet的信息
  ServletConfig config=getServletConfig();

//获取到的是配置servlet里面servlet-name 的文本内容
  String ServletConfigName=config.getServletName();
  System.out.println("ServletConfigName="+ServletConfigName);


  //2、。 可以获取具体的某一个参数。 
  String ServletParam=config.getInitParameter("address");
  System.out.println(ServletParam);


  //3.获取所有的参数名称
  Enumeration<String>names= config.getInitParameterNames();

//遍历取出所有的参数名称
  while (names.hasMoreElements()) {
   String key = (String) names.nextElement();
   String value=config.getInitParameter(key);
   System.out.println("key="+key+"--"+"value"+value);
  }
  
 }
 
 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  doGet(req, resp);
 }
}

为什么需要有这个ServletConfig

1. 未来我们自己开发的一些应用,使用到了一些技术,或者一些代码,我们不会。 但是有人写出来了。它的代码放置在了自己的servlet类里面。 

2. 刚好这个servlet 里面需要一个数字或者叫做变量值。 但是这个值不能是固定了。 所以要求使用到这个servlet的公司,在注册servlet的时候,必须要在web.xml里面,声明init-params

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值