`
steveoyung
  • 浏览: 29301 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

Struts2 conventionplugin + spring 自动扫描jar包中的action

阅读更多
首先在struts.xml中设置以下常量设置:

 

    设置Convention插件是否从jar包中搜索Action类 [可选] 默认值为true

 

    <constant name="struts.convention.action.disableJarScanningvalue="true" />
    设置Convention插件文件协议类型
    <constant name="struts.convention.action.fileProtocolsvalue="jar,wsjar" />
    设置Convention插件需要搜索的jar包
    <constant name="struts.convention.action.includeJarsvalue=".*?/struts2-action*.*?jar(!/)?" />

 

    该常量指定包作为根包来搜索Action类。

 

    Convention插件除了扫描默认的action,actions,struts,struts2,还会扫描该常量指定的一个或多个包,

 

    Convention会试图从指定包中发现Action类。

    <constant name="struts.convention.action.packagesvalue="com.home.prog" />

设置完常量后,还要保证打出来包要符合搜索条件,之前我就是问题出在了这里,由于我是用的maven构建的项目,于是在pom.xml配置文件中加入了以下打包参数:

 

    <build>

 

        <plugins>

 

            <plugin>

 

                <groupId>org.apache.maven.plugins</groupId>

 

                <artifactId>maven-jar-plugin</artifactId>

 

                <version>2.3.1</version>

 

                <configuration>

 

                    <archive>

 

                        <addMavenDescriptor>false</addMavenDescriptor>

 

                        <manifest>

 

                            <addDefaultImplementationEntries>true</addDefaultImplementationEntries>

 

                            <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>

 

                        </manifest>

 

                    </archive>

 

                </configuration>

 

            </plugin>

 

        </plugins>

 

    </build>

 

 

 

运用maven打包出来的jar中包含了 META-INF 目录

 

然后启动程序,顺利找到jar包中的Action

 

 

 

为了看到struts2应用里的Action等各种资源的影射情况,struts2提供了Config Browser插件。

 

使用方法,将struts2-config-browser-plugin插件引入到项目中

 

    <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-config-browser-plugin</artifactId>
            <version>${struts2.version}</version>
    </dependency>

 

打开首页地址:http://localhost:端口/发布应用名称/config-browser/actionNames.action这里可以看到Config Browser插件的首页。

注:在编辑器调试布置程序中打出来的包中并不包含 META-INF 目录,struts2不能搜索到jar中的Action。

 

 

 

具体配置:

<constant name="struts.i18n.encoding" value="UTF-8" />
    <constant name="struts.i18n.reload" value="true" />
    <constant name="struts.locale" value="zh_CN" />
    <constant name="struts.serve.static.browserCache" value="false" />
    <constant name="struts.ui.theme" value="simple" />
    <constant name="struts.url.includeParams" value="none" />
    <constant name="struts.multipart.saveDir" value="/tmp" />
   
    <constant name="struts.objectFactory" value="spring" />
    <constant name="struts.enable.DynamicMethodInvocation" value="true" />
   
    <constant name="struts.convention.classes.reload" value="true"/>
    <constant name="struts.convention.action.disableJarScanning" value="true"/>
    <constant name="struts.convention.action.packages" value="com.crunii" />
     <constant name="struts.convention.action.fileProtocols" value="jar,wsjar" />
     <constant name="struts.convention.action.includeJars" value=".*?/uie-*.*?jar(!/)?" />
    
    <constant name="struts.convention.result.path" value="/WEB-INF/pages" />
    <constant name="struts.convention.default.parent.package" value="uie-default" />
   
    <package name="uie-default" extends="convention-default" namespace="/">

 

分享到:
评论

相关推荐

    Struts2+Spring+hibernate中对action的单元测试环境搭建[总结].pdf

    Struts2+Spring+Hibernate 中的Action单元测试环境搭建 在软件开发中,单元测试是一种非常重要的测试方法,可以帮助我们确保代码的可靠性和稳定性。在 Struts2+Spring+Hibernate 框架中,对 Action 的单元测试环境...

    spring+struts2+ibatis整合的jar包

    在提供的"spring+struts2+ibatis整合的jar包"中,lib1可能包含了这三个框架以及它们的依赖库。这些jar文件是运行整合应用必不可少的组件,它们包含了框架的API、实现和一些工具类,帮助开发者快速搭建和运行整合项目...

    Struts+Spring+Ibatis整合的Jar包

    5. 集成Struts2和Spring:使用Struts2的Spring插件,使Action类由Spring管理,同时在Struts2的配置文件中声明Action。 6. 集成Spring和Ibatis:配置SqlSessionFactoryBean,指定MyBatis的配置文件和Mapper资源。 7. ...

    struts2+spring+hibernate 整合的jar包

    4. **整合Struts2和Spring**:使用Struts2的Spring插件,将Spring管理的Bean注入到Struts2的Action中,通常通过`&lt;struts-plugin&gt;`标签进行配置。 5. **配置Struts2**:创建Struts2的配置文件(struts.xml),定义...

    struts2+HIbernate+Spring整合所需jar包

    此外,可能还需要`struts2-convention-plugin.jar`用于自动配置,以及`struts2-spring-plugin.jar`来实现与Spring的集成。 其次,`Hibernate`是持久层框架,通过ORM(对象关系映射)技术实现了数据库操作的便捷性。...

    struts2+spring+Ibatis框架包

    在"ssi_jar"这个压缩包中,可能包含了这三个框架的库文件,例如struts2相关的jar包(如struts2-core、struts2-convention等)、Spring的核心库(如spring-context、spring-web等)以及iBatis的库文件(如ibatis-3-...

    Struts2+Hibernate+Spring3整合jar包

    - **Spring管理Struts2和Hibernate**:Spring可以作为全局上下文,管理Struts2的Action和Hibernate的SessionFactory,实现依赖注入。 - **事务管理**:Spring提供的事务管理器可以统一管理Hibernate的数据库事务。...

    struts2+spring+mybatis框架JAR包

    5. 配置SSM整合:在Struts2的配置文件中引入Spring的Action类,让Struts2能够识别和调用Spring管理的Bean。 在实际项目中,SSM框架的应用可以显著提高开发效率,通过Spring的依赖注入实现组件间的松耦合,通过...

    struts1.2 + spring2.5 + hibernate3.2框架demo

    2. **配置文件**:struts-config.xml定义Struts的配置,spring-beans.xml管理Spring的bean,hibernate.cfg.xml配置Hibernate的数据库连接,可能还有实体类的映射文件(hbm.xml或使用注解)。 3. **JSP页面**:展示...

    struts1+spring+hibernate 整合jar包

    这个"struts1+spring+hibernate 整合jar包"包含了这些框架的核心库和其他相关依赖,使得开发者能够快速搭建基于这些技术的开发环境。 Struts1是MVC(Model-View-Controller)架构的实现,主要处理用户界面和业务...

    struts2+spring+hibernate jar全包

    同时,还需要根据项目需求选择合适的配置方式,比如Struts2的Action配置,Spring的Bean定义,以及Hibernate的实体映射。此外,还要注意性能优化,如使用缓存技术,合理设计数据库索引,以及避免N+1查询等问题。 总...

    struts + hibernate + spring 用到的jar包

    这篇博客链接指向了一个名为"struts + hibernate + spring 用到的jar包"的资源,可能包含了一组整合这三个框架所需的库文件。下面我们将深入探讨这三个框架以及它们的核心功能。 1. Struts:Struts 是一个基于MVC...

    ssh(struts+spring+hibernate)教务管理信息系统(全部代码) 可以直接运行

    3. **lib**:原本应包含项目依赖的JAR文件,如Struts、Spring、Hibernate的库,但由于大小原因被移除。 4. **resources**:可能包含Hibernate的配置文件和数据库连接配置。 5. **dist**:可能包含打包后的WAR文件,...

    Struts2+Spring整合所需jar包

    - **struts2-convention-plugin.jar**:提供约定优于配置的功能,使得无需编写XML配置文件即可自动映射Action。 - **struts2-spring-plugin.jar**:用于Struts2与Spring的整合,提供Action类的依赖注入功能。 - *...

    struts+hibernate+spring开发jar包

    这个“struts+hibernate+spring开发jar包”显然是一组预配置好的库文件,方便开发者在项目中快速集成这三个框架。 Struts是MVC(Model-View-Controller)架构模式的一种实现,主要用于处理HTTP请求和控制应用程序的...

    Struts2+Spring+JPA的Jar包

    在这个"Struts2+Spring+JPA的Jar包"中,包含了这三个框架的核心库,使得开发者能够快速集成并使用这些技术。 Struts2是一个基于MVC设计模式的Action框架,它强调了控制层的分离,使得业务逻辑与视图展示更好地解耦...

    struts2.2.3+spring3.0.1+hibernate3.6.5整合jar包

    1. **配置Struts2**:设置struts2-core.jar等核心库,配置struts2的配置文件struts.xml,定义Action和结果视图。 2. **配置Spring**:引入spring-beans.jar等核心库,编写Spring的配置文件如applicationContext.xml...

    struts2+hibernate+spring整合jar包

    1. 配置Struts2的插件,如struts2-spring-plugin.jar,以实现Action类的Spring管理。 2. 在Spring配置文件中声明Action类和DAO类为Bean,利用Spring的DI特性注入依赖。 3. 配置Hibernate的SessionFactory,创建数据...

    Struts2.1.6+Hibernate3.3.1+Spring2.5.6整合jar包

    3. 配置Struts2:在struts.xml文件中配置Struts2的动作映射,指定Action类,同时配置Spring插件,使得Action类由Spring管理。 4. 配置Hibernate:设置hibernate.cfg.xml文件,定义数据库连接、实体类等信息。 5. ...

    Struts1+Spring+iBatis-jar包

    5. 将iBatis与Spring集成:使用MyBatis-Spring的MapperScannerConfigurer扫描Mapper接口,Spring会自动创建对应的MapperFactoryBean。 通过这个"Struts1+Spring+iBatis-jar包",开发者可以避免手动下载和管理各个...

Global site tag (gtag.js) - Google Analytics