获取初始化参数
在web.xml中配置Servlet时,可以配置一些初始化参数。而在Servlet中可以通过ServletConfig接口提供的方法来获取这些参数。(其实还可以通过ServletContext来获得参数,只不过ServletConfig获得的参数是容器启动的时候就初始化的,而ServletConfig是Servlet类调用init()函数的时候才初始化的)。
因为我们的初始哈参数是配置在servlet里面的,所以我们这里以username为例,我们假设要在我们的moonlit servlet中添加一个初始化属性username,我们可以在web.xml中对应的servlet中添加init-param属性,如下:

    <init-param>
<param-name>username</param-name>
<param-value>moonlit</param-value>
</init-param>

完整的web.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>WebProject</display-name> <servlet>
<servlet-name>moonlit</servlet-name>
<servlet-class>com.moonlit.MoonlitServlet</servlet-class>
<init-param>
<param-name>username</param-name>
<param-value>moonlit</param-value>
</init-param>
</servlet> <servlet-mapping>
<servlet-name>moonlit</servlet-name>
<url-pattern>/getinit.do</url-pattern>
</servlet-mapping> </web-app>

web.xml

然后我们就可以在moonlit servlet对应的类中通过getParameter()方法获得username这个初始化参数对应的值,如下:

String username = this.getInitParameter("username");

完成的MoonlitServlet类:

package com.moonlit;

import java.io.IOException;
import java.io.PrintWriter; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; @SuppressWarnings("serial")
public class MoonlitServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter out = resp.getWriter();
String username = this.getInitParameter("username");
out.println("<html>"
+ "<head><title>moonlit servlet</title></head>"
+ "<body>" + username + "</body>"
+ "</html>");
} @Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req, resp);
}
}

MoonlitServlet.java

然后我们可以通过对应的url-pattern访问到这个servlet对应的网页。
效果如下:

通过Servlet获取初始化参数的更多相关文章

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

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

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

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

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

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

  4. servlet_获取初始化参数

    在web.xml的<servlet>标签中增添 <init-param> <param-name>XXX</param-name> <param- ...

  5. application 从web.xml中获取初始化参数

    <span style="font-size:24px;"> </span> 1.web.xml中的配置部分 <context-param>   ...

  6. 获得Servlet的初始化参数

    通过ServletConfig接口的getInitParameter(java.lang.String name)方法

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

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

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

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

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

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

随机推荐

  1. 微信公共服务平台开发(.Net 的实现)1-------认证“成为开发者”

    这些代码也就开始认证的时候用一次,以后就不用了: const string Token = "XXXXX";//你的token protected void Page_Load(o ...

  2. vim如何选择ESC的键位绑定

    vim除了hijk之外,按键频率最高的大概是Esc,本人已经有点Esc强迫症的兆头了.默认的Esc键远在边陲,按起来也忒麻烦了.怎么解决? 在google大神的帮助下,找到了两个方案: CapsLoc ...

  3. COM方式实现C++调用C#代码的一些总结

    首先这个测试没成功,只在本机上可行,在不同机器上测试失败.可能是GUID不对或者没注册成功. 既然已经花了一上午时间去研究,还是总结一下 1.网上说要创建一个snk证书,但不创建也可以.只不过不能放入 ...

  4. atitit.编程语言会形成进化树--哪些特性会繁荣??通才还是专才的选型 现代编程语言的特性总结

    atitit.编程语言会形成进化树--哪些特性会繁荣??通才还是专才的选型 现代编程语言的特性总结 1.  有一种观点,编程语言就像物种,会形成进化树,有的分支会死掉. 多年之后,你觉得语言会演化成什 ...

  5. Atitit.Gui控件and面板----db数据库区----- .数据库比较同步工具 vOa

    Atitit.Gui控件and面板----db数据库区----- .数据库比较同步工具 vOa 1. 咨微海信数据库应用 工具 1 2. 数据库比较工具 StarInix SQL Compare    ...

  6. I2C总线协议

     1.I2C协议   2条双向串行线,一条数据线SDA,一条时钟线SCL.   SDA传输数据是大端传输,每次传输8bit,即一字节.   支持多主控(multimastering),任何时间点只能有 ...

  7. 【Android】15.5 例15-3—Notification的各种属性演示

    分类:C#.Android.VS2015: 创建日期:2016-02-29 一.简介 利用这个例子,可测试通知的各种属性以及这些不同属性选项呈现的效果. 另外,在这个例子中,还演示了如何读写SD中的图 ...

  8. JMeter学习笔记(三)

    D. User Defined Variables:用户自定义的变量,在此我们可以定义后面原件需要引用的变量并对其进行赋值.jsessionid一般是服务器返回的,每个用户返回的都不一样,所以在此不应 ...

  9. CentOS7 安装 mplayer

    我google找到这个方法可以简单快速安装 mplayer 和 vlc,centos 7 only. Please google the latest release for the followin ...

  10. doc转docx以及type对应的类型

    https://blog.csdn.net/flagang/article/details/51454665 // 作为type格式保存到临时文件 // *Variant(0):doc // *Var ...