`
- 浏览:
15166 次
-
Struts2中配置的action在被spring注入时容易忽略的问题
struts.xml中配置的action,参数默认都是通过spring的autoWire注入的,默认是byName。
如果注入的参数通过byName注入失败,比如需要注入的参数为userService,而spring中userService的bean不是参数userService的Interface类型。这时不会报错,不知道是不是哪儿有啥配置可以报错的。
不会报错很危险,排查问题就不容易发现。这时访问该action时会报404错误。大家可能会误以为是在struts.xml里配置的不对,导致的没有映射上,或者其他的问题。
一般开发的时候这个问题很难发生,因为基本上的service都心里有数。但是在接替其他项目改版的时候可能会发生byName自动注入出现问题的情况。
比如,我遇到的就是service接口就叫UserService,结果命名为了userService,实际上这个bean被命名成snsUserService了。。。
总结下,struts配置的action如果不能正常初始化,就会404,但没有报错。可能的原因,一、action的bean没有映射到。二、action自动装配的参数有问题。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在"SSH当当网"项目中,Spring可能被用来管理Struts2 Action类的生命周期,通过DI注入所需的依赖,如服务层接口和DAO(Data Access Object)实现。同时,Spring的事务管理功能可以确保数据库操作的原子性和一致性。 ...
SSH整合是指Spring、Struts2和Hibernate这三大开源框架的集成应用,它们是Java Web开发中的常用组件。Spring提供依赖注入和AOP(面向切面编程),Struts2负责MVC(模型-视图-控制器)架构,而Hibernate则作为持久层...
在学习和使用这个项目时,你需要理解Spring的IoC(Inversion of Control)和AOP原理,掌握Struts的配置和Action设计,以及Hibernate的对象映射和事务管理。同时,熟悉数据库设计和SQL语句也是必不可少的。通过深入...
API本身不提供实际的日志实现,而`slf4j-nop-1.5.8.jar`是SLF4J的一个无操作(NOP)绑定,意味着日志记录将被忽略,这可能是因为开发者在生产环境中选择其他日志配置。 7. **jta-1.1.jar**:Java Transaction API...
【标题】"IDEA + Gradle + SSM demo"揭示了一个使用IntelliJ IDEA作为集成开发环境(IDE),Gradle作为构建工具,并结合Spring、Struts2和MyBatis(SSM)框架创建的示例项目。这个项目旨在帮助开发者理解和学习如何...
这个框架在互联网开发中被广泛使用,因为它提供了强大的功能和灵活性。 1. **Spring 框架** Spring 以其轻量级特性而著名。它的大小和运行成本都很低,一个完整的 Spring 框架仅包含大约 1MB 的多个 JAR 文件。...
SSH、SSM和Maven是Java开发中常用的三大框架和技术,它们在构建Web应用程序时起着关键作用。这里,我们详细探讨一下这三个概念及其在项目模板中的应用。 **SSH(Spring、Struts、Hibernate)** 是一个经典的Java ...
在本项目中,Spring可能被用来管理Bean的生命周期,实现服务的注入,以及处理事务。 3. **Hibernate**:Hibernate是一个对象关系映射(ORM)工具,能够将Java对象和数据库表之间的映射关系自动化,简化了数据操作。...
答:运行时异常时(JVM)java虚拟机在运行过程中发生的问题,比如:内存溢出等问题。这类异常没法要求程序员去一一捕获并抛出,一般异常是Java类库或程序员自己写的代码发生的错误,这类异常可以由我们去一一捕获并...
5. 分页视图渲染:在Struts2中,可以通过Action返回一个包含分页信息的对象,然后在JSP页面上利用标签库(如DisplayTag或自定义标签)来展示分页导航。 BIRT(Business Intelligence and Reporting Tools)是一个...
- Struts 1 主要通过ActionForm处理用户请求,Action转发控制流程,而Struts 2 更加强调拦截器和OGNL表达式,提供更灵活的配置和更强大的功能。 4. **面向对象的特征**: - 抽象:将复杂的现实问题抽象为简单的...
9. Struts与Spring整合:涉及Action类的配置、依赖注入以及Spring的AOP用于拦截器。 10. MVC模式:模型-视图-控制器架构,用于分离业务逻辑、数据处理和用户界面。 11. 分页实现:通过设置页码、每页大小,进行...
在Matt Raible的分享中,他对比分析了几种流行的Java Web层框架,包括JSF、Spring MVC、Stripes、Struts2、Tapestry和Wicket。 #### 三、各框架优缺点分析 1. **JSF (JavaServer Faces)** - **优点**: - Java ...
- `main/resources`: 存放配置文件,如Spring的bean定义、Struts的配置、MyBatis的映射文件以及数据库连接配置等。 - `test/java`: 测试代码,对应每个主要模块有对应的测试类。 - `test/resources`: 测试环境下...
Struts2是基于Action的MVC框架,配置相对繁琐。SpringMVC是Spring的一部分,依赖注入强大,配置简洁,性能较好。 【SpringMVC核心组件与运行流程】 核心组件包括DispatcherServlet、HandlerMapping、HandlerAdapter...
- **异常处理**:正确使用`try-catch-finally`块,避免捕获并忽略异常,尽量不要在finally块中包含复杂的逻辑。 2. **SSH编码规范** - **Spring框架**: - 遵循IoC(控制反转)和AOP(面向切面编程)原则,尽量...
- **作用**:在Struts的Action中起作用,为Hibernate提供数据源和SessionFactory的配置。 #### 2.3 Hibernate - **功能**:提供ORM映射,简化数据库操作。 - **作用**:通过ORM技术减少SQL代码量,提高开发效率。 ...
- **异常分类**:异常分为两种类型:编译时异常(`Exception` 的子类,必须处理)和运行时异常(`RuntimeException` 的子类,可以选择处理或忽略)。 - **异常处理**:通过 `try-catch-finally` 结构来捕获和处理...