使用<context-param>标签初始化的参数是被应用程序中所有的servlet所共享。但是有时候我们需要为某一个特定的servlet配置参数,这个时候我们就需要使用servlet初始化参数。

1、servlet初始化参数,在web.xml中配置

1.1、配置web.xml文件

<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>webDemo01.HelloServlet</servlet-class>
<init-param>
<param-name>data</param-name>
<param-value>ServletConfig</param-value>
</init-param>
<init-param>
<param-name>server</param-name>
<param-value>1.1.1</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>

1.2、在指定的servlet中获取参数

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//获取ServletConfig对象
ServletConfig config = this.getServletConfig();
//根据参数名获取参数值
String initParameter1 = config.getInitParameter("data");
String initParameter2 = config.getInitParameter("server");
PrintWriter writer = response.getWriter();
writer.append(initParameter1).append(initParameter2);
}

2、使用注解完成servlet初始化参数。

 @WebServlet(
2 name="HelloServlet02",
3 urlPatterns={"/HelloServlet02"},
4 initParams={
5 @WebInitParam(name="data",value="config"),
6 @WebInitParam(name="server",value="2.2.2")
7 })
public class HelloServlet02 extends HttpServlet {
private static final long serialVersionUID = 1L; public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ServletConfig config = this.getServletConfig();
String initParameter = config.getInitParameter("data");
String initParameter2 = config.getInitParameter("server");
response.getWriter().append(initParameter).append(initParameter2);
}

区别:

  1、使用注解完成servlet初始化参数,如果修改了初始化参数,必须重新编译应用程序才能生效

   2、将servlet参数添加到部署描述符,修改xml代码并重启应用程序即可使配置生效

  

servlet初始化参数的更多相关文章

  1. javaee学习-servlet初始化参数

    1.需要定义ServletConfig对象来接收servlet配置的初始化参数. 2.当servlet配置了初始化参数后,web容器在创建servlet实例对象时, 会自动将这些初始化参数封装到Ser ...

  2. web.xml中servlet初始化参数的设置

    <context-param><param-name>param1</param-name><param-value>value1</param- ...

  3. Servlet之初始化参数和传递数据(ServletConfig,ServletContext )

    ServletConfig 容器初始化一个Servlet的时候,会为这个Servlet建一个唯一的Servletconfig的对象(Servlet的配置对象) 容器会从部署的描述文件(web.xml) ...

  4. JavaWeb---通过ServletConfig获取Servlet的初始化参数

    package com.zyz; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import j ...

  5. 回顾servlet生命周期(代码测试),读取初始化参数

    servlet生命周期 为简洁,本例使用注解方式来测试,代码部分很简单,只需要新建一个serlet,继承自HttpServlet,重写init,doGet,doPost,destory方法即可,使用注 ...

  6. 通过Servlet获取初始化参数

    获取初始化参数在web.xml中配置Servlet时,可以配置一些初始化参数.而在Servlet中可以通过ServletConfig接口提供的方法来获取这些参数.(其实还可以通过ServletCont ...

  7. 从以下哪一个选项中可以获得Servlet的初始化参数。

    从以下哪一个选项中可以获得Servlet的初始化参数. A.Servlet B.ServletContext C.ServletConfig D.GenericServlet 解答:C servlet ...

  8. Servlet中的初始化参数、上下文参数、以及@Resource资源注入

    配置初始化参数.上下文参数.以及使用@Resource注解进行资源注入,目的是为了降低代码的耦合度.当项目需求进行变更的时候,不需要反复更改源代码,只需更改web.xml文件即可. 一:Servlet ...

  9. Servlet --启动时创建、配置url、ServlectContext、初始化参数、获取资源

    servlet的版本的区别 2.5版本, Servlet的配置只支持在xml文件中的配置 3.0版本: Servlet的配置支持在xml文件中的配置, 也可以使用注解的方式, 默认使用注解 让服务器在 ...

随机推荐

  1. golang zlib 压缩,解压缩

    package main import ( "bytes" "compress/zlib" "fmt" "io" &qu ...

  2. .Net站点架构设计(八)測试

    .Net站点架构时间(八)測试 一般而言.总体測试策略是:先针对部分系统进行性能及压力測试,得到各部分的峰值处理性能:再模拟总体流程測试,此时倒不用依照峰值跑,重点測试总体业务流程及业务预期负荷. 在 ...

  3. Linux which命令

    which常用与查看并显示指定命令的绝对路径,使用which命令,还可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令. 1.用法 which [命令] 2.实例 1)查看 ls 命令的绝 ...

  4. linux环境下的python安装过程

    一.下载python源码包 打开ubuntu下的shell终端,通过wget命令下载python源码包,如下图所示: wget https://www.python.org/ftp/python/3. ...

  5. 记ambari启用kerberos添加kafka组件后yarn和hive出现Failure unspecified at GSS-API level (Mechanism level: Checksum failed)--403错误

    出现警告的过程是: 1.搭建ambari集群成功后,添加了hdfs和zk组件,然后启用了kerberos: 2.kerberos启用完毕后添加hbase和yarn.MapReduce.hive都没有出 ...

  6. Wilcoxon符号秩+秩和检验学习[转载]

    参数检验就是已知数据的精确分布模型,根据数据来求出模型中的未知参数:而非参数检验就是无需对样本总体分布(比如满足正态分布)做出假设. 1.符号检验 转自:https://baike.baidu.com ...

  7. appium格式化循环点击

  8. maven 项目配置到tomcat不能正常启动

    最近使用IntelliJ IDEA搭建公司项目,该项目是maven项目,加载jar和编译的时候没有任何异常,但是部署到tomcat上之后,就会出现如下异常: org.apache.catalina.L ...

  9. Python之路——线程池

    1 线程基础 1.1 线程状态 线程有5种状态,状态转换的过程如下图所示: 1.2 线程同步——锁 多线程的优势在于可以同时运行多个任务(至少感觉起来是这样,其实Python中是伪多线程).但是当线程 ...

  10. json转List、Map

    import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.Li ...