JavaDb学习笔记(续)

阅读更多
     上篇文章的代码只适合JAVA项目,如果想要在WEB项目中使用的话,还要多做几步工作.我用的WEB容器是TOMCAT5.5.23,IDE是ECLIPSE3.3.0,在JAVA项目中运行程序创建的数据库会在IDE的workspace中的相应项目目录的根目录中生成目录,而WEN项目运行后数据库目录会被创建在ECLIPSE的根目录下,如果是在TOMCAT下直接运行的话则创建在TOMECAT的BIN目录下.所以要想办法在WEB项目启动的时候自动建表和插入一些初始化数据,而不能事先在通过JAVA程序手工建表.
     首先建一个ContextReporter类,实现ServletContextListener接口.

public class ContextReporter implements ServletContextListener{

	@Override
	public void contextDestroyed(ServletContextEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void contextInitialized(ServletContextEvent arg0) {
		new InitDb().createAllTables();
		new InitDb().dateInit();
		
	}

}



     其中contextInitialized方法是在WEB项目启动的时候调用的方法,contextDestroyed方法是在WEN项目停止的时候调用的方法.可以在contextInitialized方法实行建表和初始化数据,也可以在contextDestroyed方法中删除表.
     然后配置WEB.XML文件:

	com.bluedot.bank.util.ContextReporter
	



下面是和LISTENER的一些内容:
[color=indigo]

指定应用事件监听程序

应用事件监听器程序是建立或修改servlet环境或会话对象时通知的类。它们是servlet规范的版本2.3中的新内容。这里只简单地说明用来向Web应用注册一个监听程序的web.xml的用法。
注册一个监听程序涉及在web.xml的web-app元素内放置一个listener元素。在listener元素内,listener-class元素列出监听程序的完整的限定类名,如下所示:


package.ListenerClass

 

虽然listener元素的结构很简单,但请不要忘记,必须正确地给出web-app元素内的子元素的次序。listener元素位于所有的servlet元素之前以及所有filter-mapping元素之后。此外,因为应用生存期监听程序是serlvet规范的2.3版本中的新内容,所以必须使用web.xml DTD的2.3版本,而不是2.2版本。
例如,程序清单5-20给出一个名为ContextReporter的简单的监听程序,只要Web应用的Servlet-Context建立(如装载Web应用)或消除(如服务器关闭)时,它就在标准输出上显示一条消息。程序清单5-21给出此监听程序注册所需要的web.xml文件的一部分。

[/color]

你可能感兴趣的:(Web,Servlet,应用服务器,XML,IDE)