ServletConfig与ServletContext

简介: 1.ServletConfig作用:当servlet执行初始化函数init()之后,可以利用ServletConfig获取存储在web.xml里的参数,这样就可以不用在servlet中硬编码一些参数,例如作者姓名,当在servlet中使用作者姓名这个参数的时候直接调用web.xml,如果需要修改参数值,只需修改web.xml,不用重新编译servlet。用

1.ServletConfig

作用:

当servlet执行初始化函数init()之后,可以利用ServletConfig获取存储在web.xml里的参数,这样就可以不用在servlet中硬编码一些参数,例如作者姓名,当在servlet中使用作者姓名这个参数的时候直接调用web.xml,如果需要修改参数值,只需修改web.xml,不用重新编译servlet。

用法:

  1. 在web.xml中
<servlet>
    <servlet-name>login</servlet-name>
    <servlet-class>com.ycty.login_control.Login</servlet-class>
    <init-param>
        <param-name>author</param-name>
        <param-value>feipeng8848</param-value>
    </init-param>
     </servlet>

ServletConfig是配置servlet,所以要放置到servlet的标签中。
2. 在servlet中

out.println(  getServletConfig().getIntParameter("author")  );

这里写图片描述

2.ServletContext

ServletConfig的确很方便,但是,如果想在jsp中也使用servlet的配置参数的话,是很麻烦的,首先在servlet中String a_author = getServletConfig().getIntParameter(“author”)获得参数,然后利用requst.setAttribute(“author”,a_author),把参数传递给jsp。

能不能直接在jsp中调用配置参数呢?

能,用ServletContext。

(1).在web.xml中

  <web-app>
  <context-param>
    <param-name>author</param-name>
    <param-value>This is context-param,author is feipeng8848</param-value>
  </context-param>
  </web-app>

这里需要注意一点,ServletConfig是针对servlet的配置,需要写进servlet标签内部,而ServletContext是针对整个web应用,所以他的上层标签是web-app。
(2)在jsp中

out.println(getServletContext().getParameter(author));

这里写图片描述

ServletContext常用于配置数据库的URL、password、username等

说明:

getServletContext()和getServletConfig()是在 GenericServlet类中实现了的方法,由于httpServlet继承了该类,所以可以直接使用getServletContext()和getServletConfig()。

getServletConfig()的另外一种写法:

ServletConfig config = this.getServletConfig();
out.println( config.getParameter("author"));

getServletContext()的另外一种写法:

ServletContext context = this.getServletContext();
out.println( context.getParameter("author"));
目录
相关文章
|
Kubernetes 容器 Perl
k8s控制器Deployment详细介绍:资源清单编写技巧
k8s控制器Deployment详细介绍:资源清单编写技巧
|
XML 数据格式 索引
xpath模块使用教程
XPath 是一种在 XML 文档中查找信息的语言,广泛用于 HTML 解析。本文介绍了 XPath 的安装与使用,包括 lxml 库的安装、解析流程、基本语法、路径表达式、谓语、通配符、多路径选择、逻辑运算、属性查询、索引查询、模糊查询、内容查询、属性值获取及节点内容转换等。通过实例详细说明了各种用法,帮助读者快速掌握 XPath 的应用技巧。
816 39
|
9月前
|
设计模式 存储 前端开发
HarmonyOS Next 浅谈 发布-订阅模式
本文浅谈 HarmonyOS Next 中的发布-订阅模式,通过 ArkTS 的 Emitter 对象实现事件的持续订阅、单次订阅、取消订阅和触发功能。文章详细介绍了设计目标、接口定义及具体实现步骤,包括类型定义、类结构设计和调用示例。发布-订阅模式有助于系统解耦与扩展,适用于工具封装和游戏开发等场景。文末附有效果图和总结,帮助开发者更好地理解和应用该模式。
241 14
HarmonyOS Next 浅谈 发布-订阅模式
|
JavaScript 前端开发 API
Vue.js 3中的Composition API:提升你的组件开发体验
Vue.js 3中的Composition API:提升你的组件开发体验
380 1
|
网络协议 算法 网络安全
OSPF协议概述
OSPF协议概述
680 0
|
开发工具 C++
qt开发技巧与三个问题点
本文介绍了三个Qt开发中的常见问题及其解决方法,并提供了一些实用的开发技巧。
528 0
|
API 数据安全/隐私保护
手摸手带你实现一个开箱即用的Node邮件推送服务
手摸手带你实现一个开箱即用的Node邮件推送服务
334 3
|
JavaScript
VUE——配置本地运行指定不同环境
VUE——配置本地运行指定不同环境
252 0
|
数据可视化 SDN Python
复动力系统 | 混沌 | Lozi 映射吸引子的可视化与交互式探索
该文介绍了一篇关于Lozi映射吸引子可视化和交互式探索的文章。Lozi映射是混沌理论中的一个模型,展示非线性动力系统的复杂性。通过Python和matplotlib,作者实现了Lozi映射的可视化,并添加交互功能,允许用户缩放以详细观察混沌吸引子。文中还给出了Lozi映射的数学定义,并提供了Python代码示例,演示如何绘制和动态调整吸引子的显示。
|
弹性计算 数据安全/隐私保护 Docker
刚开通学生ECS,使用并安装docker和docker-compose
刚开通学生ECS,使用并安装docker和docker-compose
刚开通学生ECS,使用并安装docker和docker-compose