`

Struts PlugIn的使用

阅读更多
Struts是一个非常优秀的MVC框架,虽然现在Struts1.x已经显得老了,但是,还是有很多企业继续在使用 Struts1.x,Struts2.x估计还要再等一段时间后,才能成为主流。
      Struts1.x的Plugin功能做得非常好, 像我们一直在使用的Struts Validation,Struts Tiles都是基于插件方式对Struts进行扩展。之前在做OA系统的时候,就遇到这样一个比较麻烦的业务问题,用户需要我们能提供一个预警监控的功 能,当待办时间离结构还有半小时时候,系统会自动发送一条短信给待办人员。因为当时还没有应用到Spring,还没有应用到Opensymphony做定 时服务的组件Quarz,我们当时是用的是Timer来做定时服务。但问题是Timer应该在什么时候开始启动?后来就决定使用Struts Plugin来实现。
当我们觉得Struts功能不够用的时候,我们可以使用Struts的PlugIn框架进行扩展。具体的实现细节如下:
      第 一、开发一个发送邮件的Struts PlugIn



程序代码

package zizz.strutsplugin;

import java.util.Timer;
import java.util.TimerTask;

import javax.servlet.ServletException;

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

/**
* 专门用来发送邮件的插件
* @author zizz at manbuchina
*
*/
public class EmailPlugin implements PlugIn{
    
    /**
     * Struts初始化的同时,会自动初始化插件.
     */
    public void init(ActionServlet actionServlet, ModuleConfig config) throws ServletException {        
        Timer timer = new Timer();
        //每三秒钟触发一次,调用EmailSenderTrigger的run方法.
        timer.schedule(new EmailSenderTrigger(), 0,3000);
    }    
    
    /**
     * 上下文被Destroy的时候,会调用该方法,释放相应的资源.
     */
    public void destroy() {        
    }

}


/**
* 邮件发送的定时任务
* @author zizz at manbuchina
*
*/
class EmailSenderTrigger extends TimerTask{
    
    /**
     * TimerTask需要执行的内容
     */
    public void run() {
        checkNewEmail();
        sendEmail();
    }
    
    public void checkNewEmail(){
        System.out.println("检查新的未发送 邮件");
    }
    
    public void sendEmail(){
        System.out.println("发送未发送邮件");
    }
    
}



      第二步,配置Struts PlugIn
程序代码

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">

<struts-config>
  <data-sources />
  <form-beans />
  <global-exceptions />
  <global-forwards />
  <action-mappings />
  <message-resources parameter="zizz.strutsplugin.ApplicationResources" />
  <!-- 配置自定义的PlugIn -->
  <plug-in className="zizz.strutsplugin.EmailPlugin">
  </plug-in>
</struts-config>




      第 三步,发布应用程序,查看系统运行结果


程序代码



检查新的未发送邮件
发送未发送 邮件
检查新的未发送邮件
发送未发送邮件



      系统每隔三秒钟,便会检查一 下邮件及发送待发邮件


转自 :   http://www.suneca.com[size=medium][/size]
分享到:
评论

相关推荐

    struts2-json-plugin-2.3.24-API文档-中文版.zip

    赠送jar包:struts2-json-plugin-2.3.24.jar; 赠送原API文档:struts2-json-plugin-2.3.24-javadoc.jar; 赠送源代码:struts2-json-plugin-2.3.24-sources.jar; 赠送Maven依赖信息文件:struts2-json-plugin-...

    struts2-json-plugin

    struts2-json-plugin,Struts JSON插件

    Struts Plugin

    通过使用Struts Plugin,开发者可以方便地集成各种第三方工具和服务,优化应用性能,提升开发效率。 在Struts框架中,插件主要扮演以下几个角色: 1. **增强功能**:Struts Plugins提供了许多预定义的拦截器...

    struts2-json-plugin-2.3.8.jar

    3. 集成了Jackson库:默认情况下,Struts2 JSON Plugin使用Jackson库进行JSON序列化和反序列化,Jackson是一个高性能的JSON处理库,提供了丰富的API和灵活性。 4. 异常处理:在出现异常时,插件可以自动捕获并返回...

    struts2-dojo-plugin-2.2.1.jar

    在使用struts2-dojo-plugin-2.2.1.jar时,重要的是要注意版本匹配。确保你的Struts2框架版本与该插件版本兼容,以避免潜在的运行时错误或功能不匹配。通常,升级或降级任何一方都需要仔细测试,以确保系统的稳定性和...

    struts2-jquery-plugin使用手册,自己写的

    - Struts2-jQuery-Plugin支持自定义JavaScript事件处理,可以使用`onComplete`、`beforeSubmit`等属性绑定回调函数,实现更复杂的业务逻辑。 - 使用`event`属性,可以触发特定的jQuery事件,如`open`、`close`等。...

    struts2-ssl-plugin-1.2.1.jar

    struts2-ssl-plugin-1.2.1.jar

    Struts2开发常用jar包

    core-2.5.10.1.jar,struts2-jfreechart-plugin-2.5.10.1.jar,struts2-json-plugin-2.5.10.1.jar,struts2-junit-plugin-2.5.10.1.jar,struts2-bean-validation-plugin-2.5.10.1.jar,struts2-cdi-plugin-...

    struts2-spring-plugin-2.2.1.jar

    在没有Struts2-Spring-Plugin的情况下,要在Struts2应用中使用Spring,需要手动配置Action类与Spring Bean之间的关联。而有了这个插件,配置过程变得更加简单。以下是Struts2-Spring-Plugin-2.2.1.jar提供的主要功能...

    struts2-spring-plugin-2.3.15.2.jar ; struts2-json-plugin-2.3.16.3.jar

    struts2-spring-plugin-2.3.15.2.jar ; struts2-json-plugin-2.3.16.3.jarstruts2-spring-plugin-2.3.15.2.jar ; struts2-json-plugin-2.3.16.3.jar

    struts2-struts1-plugin-2.1.6.jar

    struts2-struts1-plugin-2.1.6.jar

    struts2 json plugin jar包

    struts2 json plugin jar包

    struts2-json-plugin源码

    `struts2-json-plugin`是Struts2的一个插件,它使得Struts2能够处理JSON请求和响应,无需额外的配置或库。这个插件不仅包含了源码,还包含了必要的配置文件和类,使得开发者可以深入理解其工作原理并进行自定义扩展...

    struts2-spring-plugin-2.3.4.jar

    Struts2-Spring-Plugin-2.3.4.jar 是一个专门为 Struts 2 框架和 Spring 框架整合而设计的插件,主要用于处理 Struts 2 和 Spring 之间的集成问题。在Java Web开发中,这两个框架经常一起使用,Spring 提供了依赖...

    SSH\\others\\struts2-spring-plugin-2.2.1.jar

    在使用Struts2 Spring Plugin时,开发者需要在Struts配置文件(struts.xml)中添加必要的配置,声明插件并指定Spring应用上下文的位置。这样,当Struts2框架处理请求时,它会查找并使用Spring容器中的Action实例。 ...

    struts2-dojo-plugin

    struts2-dojo-plugin-2.1.0的jar包,可以再struts中使用dojo......

    struts2-struts1-plugin-2.1.8.1.jar

    最新struts2-struts1-plugin-2.1.8.1.jar

    struts2-spring-plugin-2.2.3.jar

    Struts2-Spring-Plugin-2.2.3.jar 是一个专门为 Struts2 框架与 Spring 框架整合而设计的插件。在Java Web开发中,这两个框架都极其常见,Struts2 提供了MVC(模型-视图-控制器)架构模式,而Spring则是一个强大的...

    struts2集成struts-ssl-plugin插件实现https访问例子

    确保使用的版本与Struts2主框架版本兼容。 2. **配置struts.xml** 在`struts.xml`配置文件中,启用SSL插件并指定哪些URL需要强制使用HTTPS。例如: ```xml &lt;constant name="struts.plugins" value=...

    struts2 spring plugin 2.3.32

    struts2 spring plugin 2.3.32,用于漏洞修复

Global site tag (gtag.js) - Google Analytics