网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.Step-by-Step使用SWT开发GUI.
.JDBC编程基础(1).
.编写高级JScript应用代码.
.JSTL 入门(1):表达式语言.
.Spring AOP在DWR安全上的应.
.Java入门:java中几个关于类的名.
.分析和设计.
.精通Hibernate之映射继承关系二(.
.JAVA 30个基本知识.
.Folders 集合.
.win2000server install j2ee.
.Hibernate作为数据持久层的分析和.
.用java实现外部调用exe文件.
.Drive 属性.
.如何在JAVASE中使用Hibernate.
.Java开发者XML基础全程详细讲解.
.java: isn‘t it ironic?.
.Ruby,Java的劲敌.
.Java动画编程基础第四部分.
.Sun推出编程用Java无线传感器开发.

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

发表日期:2008-1-5



  我们在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><TITLE>A 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-name>ServletDemo</servlet-name>
  <servlet-class>zy.pro.wd.servlet.ServletDemo</servlet-class>
  
  <init-param>
  <description>initialize the field of message</description>
  <param-name>message</param-name>
  <param-value>
  welcome here ,thank you for visiting !!!
  </param-value>
  </init-param>
  
  </servlet>
  
  <servlet-mapping>
  <servlet-name>ServletDemo</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中的动态注入???)
上一篇:新手入门之浅谈XML和HTML的关系 人气:654
下一篇:xml(元标记语言)学习基础一 人气:712
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐