分享
 
 
 

使用XML文件来实现对Servlet的配置

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

我们在Web应用中可以使用xml来配置servlet,给其提供初始化参数,如下例:

我们创建的Servlet为:ServletDemo.java,代码如下:

/*

* Created on 2005-8-29

*

* TODO To change the template for this generated file go to

* Window - Preferences - Java - Code Style - Code Templates

*/

package zy.pro.wd.servlet;

import java.io.IOException;

import java.io.PrintWriter;

import javax.sql.DataSource;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/**

* @author zhangyi

*

* TODO To change the template for this generated type comment go to

* Window - Preferences - Java - Code Style - Code Templates

*/

public class ServletDemo extends HttpServlet {

String

message;

DataSource

ds;

/**

* Constructor of the object.

*/

public ServletDemo() {

super();

}

/**

* Destruction of the servlet. <br

*/

public void destroy() {

super.destroy(); // Just puts "destroy" string in log

// Put your code here

}

/**

* The doGet method of the servlet. <br

*

* This method is called when a form has its tag value method equals to get.

*

* @param request the request send by the client to the server

* @param response the response send by the server to the client

* @throws ServletException if an error occurred

* @throws IOException if an error occurred

*/

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html");

PrintWriter out = response.getWriter();

out

.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"");

out.println("<HTML");

out.println("

<HEAD<TITLEA Servlet</TITLE</HEAD");

out.println("

<BODY");

out.print("

This is ");

out.print(this.getClass());

out.println(", using the GET method<br");

out.println(this.getServletConfig().getInitParameter("message"));

out.println("

</BODY");

out.println("</HTML");

out.flush();

out.close();

}

/**

* The doPost method of the servlet. <br

*

* This method is called when a form has its tag value method equals to post.

*

* @param request the request send by the client to the server

* @param response the response send by the server to the client

* @throws ServletException if an error occurred

* @throws IOException if an error occurred

*/

public void init() throws ServletException {

// Put your code here

}

}

在此Servlet中我们定义了两个属性message和ds。我们现在在web.xml中作如下配置:

<servlet

<description

This is the description of my J2EE component

</description

<display-name

This is the display name of my J2EE component

</display-name

<servlet-nameServletDemo</servlet-name

<servlet-classzy.pro.wd.servlet.ServletDemo</servlet-class

<init-param

<descriptioninitialize the field of message</description

<param-namemessage</param-name

<param-value

welcome here ,thank you for visiting !!!

</param-value

</init-param

</servlet

<servlet-mapping

<servlet-nameServletDemo</servlet-name

<url-pattern/servlet/ServletDemo</url-pattern

</servlet-mapping

加粗的部分是我们要作的配置。在其中我们给message属性设置了初始值:

welcome here ,thank you for visiting !!!

注意:此处我们不能同时给ds设置初始值,因为web.xml的DTD中约定了只能定义一个属性也就是在配置文件中只允许声明一个参数值对。这样,在我们的servlet中就可以这样来访问此属性:

this.getServletConfig().getInitParameter("message")。

但是,有时候我们需要同时对多个属性用XML来初始化,那么我们就需要自己来写XML文件,同时自己来解析了。

使用XML来配置Servlet的好处:

如果不在XML中对Servlet配置,那么我们修改Servlet的属性的话就要重新启动服务器,而如果使用XML来配置的话就不需要重新启动服务器而可以自动生效。服务器可以自动监视其改变而重新装入文档。对企业来说,系统的连续运营是很重要的。

XML来配置Servlet主要用在初始化参数在运行过程中需要改变的情况下。

(如果可以实现配置多属性的话,那么不是有点象Spring中的动态注入???)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有