首先在struts.xml中设置以下常量设置:
设置Convention插件是否从jar包中搜索Action类 [可选] 默认值为true
<constant name="struts.convention.action.disableJarScanning" value="true" />
设置Convention插件文件协议类型
<constant name="struts.convention.action.fileProtocols" value="jar,wsjar" />
设置Convention插件需要搜索的jar包
<constant name="struts.convention.action.includeJars" value=".*?/struts2-action*.*?jar(!/)?" />
该常量指定包作为根包来搜索Action类。
Convention插件除了扫描默认的action,actions,struts,struts2,还会扫描该常量指定的一个或多个包,
Convention会试图从指定包中发现Action类。
<constant name="struts.convention.action.packages" value="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单元测试环境搭建 在软件开发中,单元测试是一种非常重要的测试方法,可以帮助我们确保代码的可靠性和稳定性。在 Struts2+Spring+Hibernate 框架中,对 Action 的单元测试环境...
在提供的"spring+struts2+ibatis整合的jar包"中,lib1可能包含了这三个框架以及它们的依赖库。这些jar文件是运行整合应用必不可少的组件,它们包含了框架的API、实现和一些工具类,帮助开发者快速搭建和运行整合项目...
5. 集成Struts2和Spring:使用Struts2的Spring插件,使Action类由Spring管理,同时在Struts2的配置文件中声明Action。 6. 集成Spring和Ibatis:配置SqlSessionFactoryBean,指定MyBatis的配置文件和Mapper资源。 7. ...
4. **整合Struts2和Spring**:使用Struts2的Spring插件,将Spring管理的Bean注入到Struts2的Action中,通常通过`<struts-plugin>`标签进行配置。 5. **配置Struts2**:创建Struts2的配置文件(struts.xml),定义...
此外,可能还需要`struts2-convention-plugin.jar`用于自动配置,以及`struts2-spring-plugin.jar`来实现与Spring的集成。 其次,`Hibernate`是持久层框架,通过ORM(对象关系映射)技术实现了数据库操作的便捷性。...
在"ssi_jar"这个压缩包中,可能包含了这三个框架的库文件,例如struts2相关的jar包(如struts2-core、struts2-convention等)、Spring的核心库(如spring-context、spring-web等)以及iBatis的库文件(如ibatis-3-...
- **Spring管理Struts2和Hibernate**:Spring可以作为全局上下文,管理Struts2的Action和Hibernate的SessionFactory,实现依赖注入。 - **事务管理**:Spring提供的事务管理器可以统一管理Hibernate的数据库事务。...
5. 配置SSM整合:在Struts2的配置文件中引入Spring的Action类,让Struts2能够识别和调用Spring管理的Bean。 在实际项目中,SSM框架的应用可以显著提高开发效率,通过Spring的依赖注入实现组件间的松耦合,通过...
2. **配置文件**:struts-config.xml定义Struts的配置,spring-beans.xml管理Spring的bean,hibernate.cfg.xml配置Hibernate的数据库连接,可能还有实体类的映射文件(hbm.xml或使用注解)。 3. **JSP页面**:展示...
这个"struts1+spring+hibernate 整合jar包"包含了这些框架的核心库和其他相关依赖,使得开发者能够快速搭建基于这些技术的开发环境。 Struts1是MVC(Model-View-Controller)架构的实现,主要处理用户界面和业务...
同时,还需要根据项目需求选择合适的配置方式,比如Struts2的Action配置,Spring的Bean定义,以及Hibernate的实体映射。此外,还要注意性能优化,如使用缓存技术,合理设计数据库索引,以及避免N+1查询等问题。 总...
这篇博客链接指向了一个名为"struts + hibernate + spring 用到的jar包"的资源,可能包含了一组整合这三个框架所需的库文件。下面我们将深入探讨这三个框架以及它们的核心功能。 1. Struts:Struts 是一个基于MVC...
3. **lib**:原本应包含项目依赖的JAR文件,如Struts、Spring、Hibernate的库,但由于大小原因被移除。 4. **resources**:可能包含Hibernate的配置文件和数据库连接配置。 5. **dist**:可能包含打包后的WAR文件,...
- **struts2-convention-plugin.jar**:提供约定优于配置的功能,使得无需编写XML配置文件即可自动映射Action。 - **struts2-spring-plugin.jar**:用于Struts2与Spring的整合,提供Action类的依赖注入功能。 - *...
这个“struts+hibernate+spring开发jar包”显然是一组预配置好的库文件,方便开发者在项目中快速集成这三个框架。 Struts是MVC(Model-View-Controller)架构模式的一种实现,主要用于处理HTTP请求和控制应用程序的...
在这个"Struts2+Spring+JPA的Jar包"中,包含了这三个框架的核心库,使得开发者能够快速集成并使用这些技术。 Struts2是一个基于MVC设计模式的Action框架,它强调了控制层的分离,使得业务逻辑与视图展示更好地解耦...
1. **配置Struts2**:设置struts2-core.jar等核心库,配置struts2的配置文件struts.xml,定义Action和结果视图。 2. **配置Spring**:引入spring-beans.jar等核心库,编写Spring的配置文件如applicationContext.xml...
1. 配置Struts2的插件,如struts2-spring-plugin.jar,以实现Action类的Spring管理。 2. 在Spring配置文件中声明Action类和DAO类为Bean,利用Spring的DI特性注入依赖。 3. 配置Hibernate的SessionFactory,创建数据...
3. 配置Struts2:在struts.xml文件中配置Struts2的动作映射,指定Action类,同时配置Spring插件,使得Action类由Spring管理。 4. 配置Hibernate:设置hibernate.cfg.xml文件,定义数据库连接、实体类等信息。 5. ...
5. 将iBatis与Spring集成:使用MyBatis-Spring的MapperScannerConfigurer扫描Mapper接口,Spring会自动创建对应的MapperFactoryBean。 通过这个"Struts1+Spring+iBatis-jar包",开发者可以避免手动下载和管理各个...