通过Servlet获取初始化参数
获取初始化参数
在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获取初始化参数的更多相关文章
- JavaWeb---通过ServletConfig获取Servlet的初始化参数
package com.zyz; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import j ...
- 从以下哪一个选项中可以获得Servlet的初始化参数。
从以下哪一个选项中可以获得Servlet的初始化参数. A.Servlet B.ServletContext C.ServletConfig D.GenericServlet 解答:C servlet ...
- Servlet之初始化参数和传递数据(ServletConfig,ServletContext )
ServletConfig 容器初始化一个Servlet的时候,会为这个Servlet建一个唯一的Servletconfig的对象(Servlet的配置对象) 容器会从部署的描述文件(web.xml) ...
- servlet_获取初始化参数
在web.xml的<servlet>标签中增添 <init-param> <param-name>XXX</param-name> <param- ...
- application 从web.xml中获取初始化参数
<span style="font-size:24px;"> </span> 1.web.xml中的配置部分 <context-param> ...
- 获得Servlet的初始化参数
通过ServletConfig接口的getInitParameter(java.lang.String name)方法
- web.xml中servlet初始化参数的设置
<context-param><param-name>param1</param-name><param-value>value1</param- ...
- javaee学习-servlet初始化参数
1.需要定义ServletConfig对象来接收servlet配置的初始化参数. 2.当servlet配置了初始化参数后,web容器在创建servlet实例对象时, 会自动将这些初始化参数封装到Ser ...
- 回顾servlet生命周期(代码测试),读取初始化参数
servlet生命周期 为简洁,本例使用注解方式来测试,代码部分很简单,只需要新建一个serlet,继承自HttpServlet,重写init,doGet,doPost,destory方法即可,使用注 ...
随机推荐
- java反射详解及说明
首先写一个Person类: package lltse.base.reflectdemo; public class Person { private String name ="张三&qu ...
- tomcat的web项目的远程热发布
已经发布的项目war包更改了怎么办?我常用的做法是: .把war包上传服务器 .远程登录服务器后台 .停止tomcat服务 .用新的war包替换老的war包 .启动tomcat服务 后来才知道原来to ...
- Navicat Premium之MySQL客户端的下载、安装和使用(博主推荐)
不多说,直接上干货! 前期工作 若需使用Navicat Premium,则需要先安装MySQL,在此就不叙述了.具体可见我的博客: MySQL Server类型之MySQL客户端工具的下载.安装和使用 ...
- WebSocket的几个模块(node.js)(未完)
1.ws模块 npm install ws 2.nodejs-websocket npm nodejs-websocket 3.socket.io模块 npm install socket.io
- js与php中一些相似函数的对比
一:substr js中:stringObject.substr(start,length) 一个中文算一个字符,一个英文也算一个字符 <script type="text/jav ...
- 每日英语:Vender Assault Shines Ugly Light on China's Urban Enforcers
The sudden death of a street vendor in Hunan province on Wednesday provoked outrage chengguan, or ur ...
- dp之多重背包hdu1114
题目很水,不多说......... #include<stdio.h> int main() { long t,n,m,a,i,j,dp[10005],vol[505],jizhi[505 ...
- 时间同步linux和window
windows和linux都可以通过ntp服务,同步时间.
- Unix系统编程()malloc和free的实现
尽管malloc和free所提供的内存分配接口比之brk和sbrk要容易许多,但在使用时仍然容易犯下各种编程错误. 理解malloc和free的实现,将使我们洞悉产生这些错误的原因以及如何才能避免此类 ...
- 华为/中兴 3G 模块的调试
1 检查/etc/init.d/pppd『红颜色的使上电自动上网注册(如果没有红颜色的语句),请添加』 #!/bin/sh#DAEMON=/usr/sbin/pppdPIDFILE=/var/run/ ...