Struts的扩展之一plugin 式

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

plugin 式

根据Struts文献“A plugin is a configuration wrapper for a module-specific resource or service that needs to be notified about application startup and shutdown events“这句话的意思当你启动或者关闭struts时,Struts自动调用继承PlugIn接口的类.

也就是当我在一个WEB应用程序时要使用了Hibernate,一旦启动了我的WEB应用服务,我就要初始化Hibernate,因此执行我的第一个请求。反之,关闭我的的WEB应用服务,也就关闭(释放)了Hibernate。

我们执行这个Hibernate需要两个简单的步骤:

创造一个可执行PlugIn接口, 如下:public class HibernatePlugIn implements PlugIn{

private String configFile;

// This method will be called at application shutdown time

public void destroy() {

System.out.println("Entering HibernatePlugIn.destroy()");

//Put hibernate cleanup code here

System.out.println("Exiting HibernatePlugIn.destroy()");

}

//This method will be called at application startup time

public void init(ActionServlet actionServlet, ModuleConfig config)

throws ServletException {

System.out.println("Entering HibernatePlugIn.init()");

System.out.println("Value of init parameter " +

getConfigFile());

System.out.println("Exiting HibernatePlugIn.init()");

}

public String getConfigFile() {return name;

}

public void setConfigFile(String string) {

configFile = string;

}

}

这个继承PlugIn接口的类要执行两个方法:init() and destroy(),init()方法是在用于服务启动时执行,destroy()方法是在关闭时执行,并且Struts允许你带参数,通过参数,你可以HibernatePlugIn类中在创建像javabean中的setter方法。

在struts-config.xml中增加PlugIn:

<struts-config>

...

<!-- Message Resources -->

<message-resources parameter=

"sample1.resources.ApplicationResources"/>

<!-- Declare your plugins -->

<plug-in className="com.sample.util.HibernatePlugIn">

<set-property property="configFile"

value="/hibernate.cfg.xml"/>

</plug-in>

</struts-config>

给你的继承PlugIn(HibernatePlugIn)类,赋予初始化参数,需要增加一个<set-property>元素,例如,例子中要传输的参数为"/hibernate.cfg.xml"。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航