该plugin提供struts的Action及Interceptor对EJB组件及Resource的无侵入式依赖注入(DI)。
安 装方法: 将 struts-ejb3-plugin.jar 考入 /WEB-INF/lib 目录中。这时使用的为plugin的默认配置,该配置为 cn/agrael/struts/plugin/ejb3/default-struts-ejb3-plugin.properties中的配置。配 置信息如下:
#ENC的默认名
ENCPath=java:comp/env/
#应用服务器的具体实现类,该类是 cn.agrael.struts.plugin.ejb3.ApplicationServer的实现类
ejbContainer=cn.agrael.struts.plugin.ejb3.JbossApplicationServer
#是否解析@Resource的标志 true 为解析,false 为不解析
isParseResource=false
#是否解析@EJB的标志 true 为解析,false 为不解析
isParseEJB=true
#ear的路径名,如果没有则为空字符串
earFileBaseName=
#为远程Bean时的JNDI路径
remote=remote
#为本地Bean时的JNDI路径
local=local
如 果要修改默认的配置,需要在 classpath 下建立为 struts-ejb3-plugin.properties 的资源文件覆盖默认的配置。
除了plugin本身的配置以外,还需要在 classpath 下创建名为 jndi.properties 的资源文件用做 jndi配置 ,plugin 中使用到的jndi查找依赖于该配置。
使用例子:
@Interceptors(Interceptor3.class)
public class EjbTestAction1 extends ActionSupport{
private static final long serialVersionUID = 4126146938063764047L;
@EJB
private TestSessionBean1Local testSessionBean1Local;
@EJB(name="ejb/sessionBean1")
private TestSessionBean1Remote sessionBean1;
private TestSessionBean1Remote session;
@EJB
public void setSession(TestSessionBean1Remote session) {
this.session = session;
}
@PostConstruct
@Interceptors({Interceptor2.class,Interceptor3.class})
public void init(){
//...
}
@Interceptors({Interceptor3.class,Interceptor1.class,Interceptor2.class})
public String execute() throws Exception {
//...
return SUCCESS;
}
}
在 Interceptor中使用方式和在Action中的使用方式相同。
需要注意的是,在Action的execute(或者自定义的名称)方法中同时使用struts2的 Interceptor和@Interceptors时,@Interceptors会在Interceptor之前开始,在Interceptor之后 结束。
目前的版本暂时不支持@PreDestroy。 现阶段只有 jboss 应用服务器的实现,在以后的版本中会陆续增加如 weblogic、glassfish 等应用服务器的实现。如果现在需要 jboss 之外的实现,可实现 cn.agrael.struts.plugin.ejb3.ApplicationServer 接口,并使用 struts-ejb3-plugin.properties 修改 ejbContainer 为实现类。
本文是讲述使用struts2-ejb3-plugin这个插件将Struts2与EJB3.0进行整合开发。 你可以从Apache的Struts2的Plugin列表了解它: http://cwiki.apache.org/S2PLUGINS/home.html 也可直接进入主页了解它: http://cwiki.apache.org/S2PLUGINS/struts2-ejb3-plu
struts2ejb3-jboss-plugin是个非常好用的struts2插件,使得注入SessionBean非常方便。 使用参考了 http://code.google.com/p/struts2ejb3-jboss-plugin/ 在测试过程中遇到了一些问题 关键是@InjectEJB这个annotation的使用问题。 官方上只给了一个例子@InjectEJB(name="UserSess
struts2的action都是pojo,这就带来了一个问题,pojo无法直接靠ejb3的注解注入相应的bean,并且如果通过jndi查找的话,也无法直接通过web的context进行查找,网上很多人用struts2-ejb-plugin这个插件来解决这些问题,但是这个插件目前只支持jboss和glassfish,对于weblogic,websphere等其它的服务器还不支持,还有很多人
公司目前上线的两个项目都是比较老的,java版本是jdk1.6,mvc框架使用的是strus2。 随着不久前struts2官方公布新的安全漏洞,我们也不得不做出相应的整改措施,除了之前博文中所说把struts2改为spring mvc外,还把其中部分项目的struts2改成了spring boot,由于各种原因,领导安排由我给出相应的整改方案,然后其他同事参考。 Spring boot中内嵌tom
Struts2 试题 1.struts2的执行流程? 客户端提交一个HttpServletRequest请求(action或JSP页面) 请求被提交到一系列Filter过滤器,如ActionCleanUp和FiterDispatcher等 FilterDispatcher是Struts2控制器的核心,它通常是过滤器链中的最后一个过滤器 询问ActionMapper是否需要调用某个action来处理
下面是鄙人做JBoss 6整合EJB3与Struts2时遇到的一些问题,解决之后决定把它整理出来,或许能帮到某位正在为此问题困惑的同仁,若有疏漏或错误请直接扔砖。 最近在做一个Java平台下的项目,考虑到后期业务逻辑可能非常复杂,为了今后能充分利用JBoss应用服务器所提供的服务,因此决定采用EJB3实现业务逻辑,而又想充分利用Struts2作为WEB框架所带来的简洁性,因此决定采用EJB3整合S
原文地址:http://pepa.iteye.com/blog/282840 今天无意查看了Struts2的插件时,发现已经林林总总有40个了。看来Struts2是不一个不错的JavaEE开发平台,可选择的尺度很大,以下是各个插件简介,目前并不是所有的插件都是可用的,有许多还在开发之中,但相信众多的插件无疑表明Struts2是一个不错的选择。原方请看http://cwiki.apache.org/
今天无意查看了Struts2的插件时,发现已经林林总总有40个了。看来Struts2是不一个不错的JavaEE开发平台,可选择的尺度很大,以下是各个插件简介,目前并不是所有的插件都是可用的,有许多还在开发之中,但相信众多的插件无疑表明Struts2是一个不错的选择。原方请看http://cwiki.apache.org/S2PLUGINS/home.html,以下是我的翻译的简单介绍: Br
1.1 Struts2插件: 从理论上来讲,Struts 2可以与任何框架整合,甚至是现在还没有问世的框架,这听起来不可思议,但却是真的。因为Struts 2提供了一种非常灵活的可扩展方式:插件,通过各种插件,Struts 2可以与任何Java EE框架进行整合。Struts 2已经提供了各种插件,用于与大部分流行的Java EE框架进行整合。 1.2 插件概述 Struts 2的插件完全
在一个简单而无BUG的strut2.1的项目项目中,加入C:/jboss-4.2.2.GA/client目录中的JAR文件,部署到apache-tomcat-6.0.18上,立马出现以下的BUG consoled的输出 2009-12-14 12:15:25 org.apache.catalina.core.AprLifecycleListener init 信息: The APR based A
1、基本概念 1.1、Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完