使用Struts的PlugIn进行Web应用的扩展

  Struts提供了PlugIn的方式来扩展Struts的功能,这种方式的扩展适合于实现Struts启动或者
停止时需要执行的某些特殊处理的情况,可以方便地实现Web应用启动时的系统初始化工作以及在Web
应用卸载时的资源释放工作,它不能实现针对每个用户请求的处理功能.
   开发一个Struts的PlugIn需要以下两个步骤:
(1)实现Struts定义的PlugIn接口,其中的init()方法将在应用启动时被调用,而destory()方法将在服务
终止时被调用.
(2)在Struts的配置文件中配置该PlugIn以及设置的初始化参数.Struts还允许为PlugIn定义一些参数,
在默认的情况下,这些参数必须作为PlugIn属性的形式出现,并且为每个参数提供符合javabean规范
的setter方法,而这些参数在struts的配置文件中进行.
   基本的配置形式如下:
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames"
         value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
</plug-in>
下面是一个例子.在服务器启动和停止时输出系统的时间.
MyPlugIn.java

package dgut.ke.struts.plugIn;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import javax.servlet.ServletException;

import org.apache.struts.action.ActionServlet;
import org.apache.struts.action.PlugIn;
import org.apache.struts.config.ModuleConfig;

public class MyPlugIn implements PlugIn {

private String timePattern;
public String getTimePattern() {
   return timePattern;
}

public void setTimePattern(String timePattern) {
   this.timePattern = timePattern;
}

public void destroy() {
   // TODO 自动生成方法存根
   DateFormat df = new SimpleDateFormat(getTimePattern());
   Calendar rightNow = Calendar.getInstance();
   Date now = rightNow.getTime();
   System.out.println("The service shutdown at --> "+df.format(now));
}

public void init(ActionServlet actionServlet, ModuleConfig moduleConfig)
    throws ServletException {
   DateFormat df = new SimpleDateFormat(getTimePattern());
   Calendar rightNow = Calendar.getInstance();
   Date now = rightNow.getTime();
   System.out.println("The service start at ---> "+df.format(now));

}

}
相关配置
<plug-in className="dgut.ke.struts.plugIn.MyPlugIn">
    <set-property property="timePattern" value="yyyy-MM-dd" />
</plug-in>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值