ServletConfig和ServletContext接口

本文详细解析了ServletConfig和ServletContext接口的功能与使用方法,包括如何通过它们获取初始化参数,以及在Web应用中如何进行数据共享。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ServletConfig接口

一个ServletConfig实现类的对象,对应一段web.xml中Servlet的配置信息
ServletConfig是由Servlet容器实例化
通过getServletConfig方法获取servletConfig对象
在这里插入图片描述
Servlet实例化的同时实例化对应的ServletConfig对象,并传入到init(ServletConfig config), init(ServletConfig config)方法会使得当前 Servlet 对象与 ServletConfig对象之间建立关联关系
在这里插入图片描述
String getInitParameter(String):通过名称得到初始化参数的值
在这里插入图片描述
打印结果:
在这里插入图片描述
读取< init-param>数据。< init-param>元素的< param-name>子元素设定参数名,< param-value>子元素设定参数值。(在Servlet-class下面,load-on-startup上面)

ServletContext接口

每个Web应用启动后,Servlet容器都会创建唯一 的一个ServletContext对象,该对象包含整个Web程序的信息,提供servlet与容器的交互
在自己定义的Servlet中,可以通过 getServletContext()方法获得ServletContext对象
在这里插入图片描述
读取< context-param>内的数据
在这里插入图片描述
打印结果:
在这里插入图片描述

ServletContext与servlet.servletConfig之间的关系

  • 一个Servlet对应一个ServletConfig
  • 所有的Servlet共享一个ServletContext对象
  • 可以通过ServletConfig接口的实例获得与Servlet相关的配置信息,通过ServletContext接口的实例获取整个Web应用的配置信息。

数据共享

  1. 在客户端页面和服务器端程序(Servlet)之间,通过请求(request)的getParameter()方法共享数据
    getParameter()是获取POST/GET传递的参数值,是String类型的。
  2. 在请求(request)和请求(request)之间,通过request的set/getAttribute方法
    getAttribute()是获取对象容器中的数据值;用request.setAttribute()方法赋值后,用request.getAttribute()方法可以取得,在页面上也能取得。
  3. 同一个Servlet对象,通过ServletConfig对象共享数据
  4. 在整个Web应用范围内,通过ServletContext的set/getAttribute方法共享数据
总结:
  • set/getAttribute(),应用于request与request之间(请求转发)
  • getParameter(),应用于客户端页面与Servlet之间(参数来自于Html、JSP)
  • getServletConfig(). getInitParameter(“param”),应用于同一个Servlet对象
  • getServletContext(). getInitParameter(“param”),应用于整个Web应用范围
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值