ServletConfig的详解

一、Servlet的作用

servlet是在servlet容器内运行的程序,有时需要访问容器外部或借助容器访问外部资源。所以可以通过web.xml文件中为某个servlet配置的名称和参数等信息传递给servlet。

这样做的好处是:如果将重要的信息、编码方式等配置信息放在web.xml中,如果以后这些信息改变了,则直接很方便地修改web.xml就行了,避免了直接修改源代码的麻烦

如:

1 <servlet>
2     <servlet-name>servletConfig</servlet-name>
3     <servlet-class>configClass</servlet-class>
4     <init-param>
5           <param-name>name<param-name>
6           <param-value>something<param-value>
7     </init-param>
8 </servlet>

servlet引擎会将代表servlet容器的对象和servlet的配置参数信息一并封装到servletConfig对象中。

当servlet引擎创建一个servlet实例对象后,调用该实例对象的init(ServletConfig config)方法将Servlet对象传递给Servlet。

然后可以用Servlet.getServletConfig()方法来获取ServletConfig的引用(必须先init)

二、调用ServletConfig对象对外提供方法来获取信息

  • getInitParameterNames():返回一个Enumeration集合对象,该集合对象包含了所有参数名称
  • getInitParameter():名称作为参数,返回值。如果没有则返回null
  • getServletName():返回Servlet在Web.xml中的注册类名。如上面的例子返回的是"configClass"
  • getServletContext():每个servlet容器都用各自的servletContext对象表示。servletConfig包含了servletContex的引用。该方法返回该引用。

 

转载于:https://www.cnblogs.com/liyuxinBlog/p/8336270.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/267686.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

You can't specify target table 'tablename' for update in FROM clause的解决方法

在执行下面的sql时报错 DELETE FROM temp WHERE id IN (SELECT a.id FROM t_user t JOIN temp a ON t.email a.email); 这种写法在sqlserver或者oracle中是支持的&#xff0c;但是mysql目前是不支持的&#xff0c;在mysql中不能同时查询一个表的数据再同时进行删除&#xff0…

linux缓存代码,Linux使用的缓存

Linux使用的缓存6.7.1 Linux使用的缓存不管在硬件设计还是软件设计中&#xff0c;高速缓存是获得高性能的常用手段。Linux 使用了多种和内存管理相关的高速缓存。1&#xff0e; 缓冲区高速缓存&#xff1a;缓冲区高速缓存中包含了由块设备使用的数据缓冲区。这些缓冲区中包含了…

Linux查看文件夹大小du

du命令参数详解见&#xff1a; http://baike.baidu.com/view/43913.htm 下面我们只对其做简单介绍&#xff1b; 查看linux文件目录的大小和文件夹包含的文件数 统计总数大小 du -sh filename&#xff08;其实我们经常用du -sh *&#xff0c;显示当前目录下所有的文件及其大小&a…

cursor: mutex S等待事件

cursor: mutex * events等待事件 cursor: mutex * events等待事件用于Cursor Parent 和 Cursor stats类型的操作&#xff1a; ‘Cursor: Mutex S’ &#xff0c; 某个进程以SHRD S mode申请一个Mutex&#xff0c; 而该Mutex要么被其他进程已EXCL X mode所持有&#xff0c;要么其…

flash和linux文件系统,面向大容量Flash的高效Linux文件系统改进和实现

摘要&#xff1a;文件系统是Linux操作系统的重要组成部分.而本文对于面向大容量Flash文件系统高效性的研究则主要侧重于对于嵌入式Linux操作系统文件系统的研究.由于嵌入式设备介质的特殊性,电源系统的不稳定性以及Flash容量的日益增长,大容量Flash设备文件系统高效性方面的问题…

Xshell配置ssh免密码登录-密钥公钥(Public key)

1 简介 ssh登录提供两种认证方式&#xff1a;口令(密码)认证方式和密钥认证方式。其中口令(密码)认证方式是我们最常用的一种&#xff0c;这里介绍密钥认证方式登录到linux/unix的方法。 使用密钥登录分为3步&#xff1a; 1、生成密钥&#xff08;公钥与私钥&#xff09;&#…

Linux面试题集锦,测测你的水平(答案)四

三&#xff0e;简答题&#xff1a;1&#xff0e;简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程。参考答案&#xff1a;Linux通过i节点表将文件的逻辑结构和物理结构进行转换。i节点是一个64字节长的表&#xff0c;表中包含了文件的相关信息&#xff0c;…

linux vim ctags,Linux环境上代码阅读与编写的利器-vim+ctags+cscope

Linux环境下代码阅读与编写的利器----vimctagscscope所谓工欲善其事&#xff0c;必先利其器。从事Linux程序开发&#xff0c;特别是Linux驱动程序的开发&#xff0c;不管是通过windows下虚拟一个Linux,还是通过samba访问Linux都是很郁闷的事情。原因就是程序本身需要Linux的编译…

oracle vm中的xp添加共享文件夹

接着就可以在虚拟的电脑系统里面打开我们的共享文件夹&#xff0c;在桌面找到”网络邻居“&#xff0c;双击打开 我们需要通过”添加一个网络邻居“来加载我们刚才添加的”共享文件夹“&#xff0c;根据向导一步步执行 然后点击”浏览“ 展开前面的 ”“ visualBox shared fold…

MSBuild + MSILInect实现编译时AOP-改变前后对比

实现静态AOP&#xff0c;就需要我们在预编译时期&#xff0c;修改IL实现对代码逻辑的修改。Mono.Cecil就是一个很好的IL解析和注入框架&#xff0c;参见编译时MSIL注入--实践Mono Cecil(1)。 我的思路为&#xff1a;在编译时将加有继承制MethodInterceptBaseAttribute标签的原方…

工作队列 order linux,linux 工作队列(workqueue)

在处理内核相关工作中, 我们经常看到工作队列(workqueue)的身影. 本文描述何为 linux workqueue.本文基于 2.6.32 的内核, 此时的工作队列还不是 cmwq.为什么使用 workqueue在内核代码中, 经常希望延缓部分工作到将来某个时间执行, 这样做的原因很多, 比如在持有锁时做大量(或者…

mysql增加修改字段

1添加表字段 alter table table1 add transactor varchar(10) not Null; alter table table1 add id int unsigned not Null auto_increment primary key 2.修改某个表的字段类型及指定为空或非空alter table 表名称 change 字段名称 字段名称 字段类型 [是否允许非空];alter…

惊人体积,无码改造,黑月V1.7.4增强版[20110810]

使用方法:替换 易语言 LIB目录下的黑月支持库 记得备份 去掉代码长度过少不能编译的限制.(比如空代码) 优化编译出来的文件体积大小.(exe貌似没问题,dll貌似也没问题,就是dll对体积的优化不会太多) 体积减少了N倍...不解释,不解释,高手懂得... 转载于:https://blog.51cto.com…

linux stm32 ide,一文教你如何在ubuntu上快速搭建STM32 CubeIDE环境(图文超详细+文末有附件)...

在快速ubuntu上安装cubeide你值得拥有&#xff1b;适合对linux系统还不是很熟悉的同学&#xff1b;1 下载 cubeide登陆官网&#xff0c;下载链接不知道是否有效&#xff0c;如果无效&#xff0c;需要提交自己的邮箱地址&#xff0c;ST官方会将下载链接发送至你的邮箱&#xff0…

ajax如何处理服务器返回的三种数据类型

其原理很简单&#xff0c;结构上基本不变&#xff0c;只是改变处理返回数据的方式. 1.Text/HTML格式 这种返回类型处理很简单&#xff0c;直接就当作字符串用就行了.为了方便使用&#xff0c;封装成如下函数: /*** function 利用ajax动态交换数据(Text/HTML格式)* param url …

malloc/free与new/delete的区别

malloc/free是c/C语言的标准库函数&#xff1b;new/delete是c的运算符&#xff0c;都可以用申请动态内存和释放内存。 对于非内部数据类型的对象而言&#xff0c;光用malloc/free无法满足动态对象的要求。对象在创建是要自动执行Constructor函数&#xff0c;对象在消亡之前要自…

程序猜价格c语言,C语言大作业:编写菜单控制猜商品价格程序

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼改写猜价格游戏的程序(见下)&#xff0c;实现对这个游戏的一些管理功能&#xff0c;可以根据菜单对商品进行添加、删除、查找、浏览等操作&#xff0c;根据模块间数据传递的方式分析各个模块的函数原型及调用关系&#xff0c;并完成…

20165301 预备作业二:学习基础和C语言基础调查

《做中学》读后感及C语言学习调查 读《做中学》有感 娄老师在文章中多次提到「做中学(Learning By Doing)」的概念&#xff0c;并通过娄老师自己的减肥经历、五笔练习经历、乒乓球练习经历和背英文单词的经历为读者更加详细地阐明了「做中学(Learning By Doing)」的重要性。 在…

思科(Cisco)路由器策略路由配置详解

策略路由是路由优化的常用方法。在做路由牵引时很多情况都要用到策略路由。 网络拓扑 R2的E1\E2口分别与R3的E1\E2口相连。 先配置好静态路由&#xff0c;使192.168.2.X与192.168.1.X互通(不经过R3)。即R1<->R2<->R4是互通的。 下面介绍一下配置策略路由的方法。 实…

c语言通过什么传递参数 寄存器,关于使用寄存器传参解决方法

关于使用寄存器传参在使用64位系统编程时&#xff0c;发现一个问题&#xff0c;麻烦大家帮忙看看&#xff0c;谢谢啦&#xff01;&#xff01;&#xff01;C语言代码如下&#xff1a;void swap(int *a, int *b){int c;c *a;*a *b;*b c;}对应的汇编代码&#xff1a;Dump of a…