`

SSH2整合示例

阅读更多

最近学习了Struts2,做了一个简单的登录的例子,采用SSH2进行整合。由于登录的例子挺简单,DAO层,Service层,Struts Action等文件就没有在此详细写出来,下面列出了整合时一些关键的配置:

Spring配置:
<!-- spring中配置Action,由Spring管理创建 -->
<bean id="userAction" scope="prototype" class="com.xxh.actions.UserAction">
<property name="userServ">
<ref bean="userServ"/>
</property>
</bean>


<!-- 事务配置 -->
<tx:advice id="myAdvice">
<tx:attributes>
<tx:method name="login" read-only="true"/>
</tx:attributes>
</tx:advice>
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<aop:config>
<aop:pointcut id="daoPoint" expression="execution(* com.xxh.daos.*.*(..))" />
<aop:advisor advice-ref="myAdvice" pointcut-ref="daoPoint"/>
</aop:config>

<!-- DAO配置 -->
<bean id="userDao" class="com.xxh.daos.UserDao">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>

<!-- 业务逻辑配置 -->
<bean id="userServ" class="com.xxh.serv.UserServ">
<property name="userDao">
<ref bean="userDao"/>
</property>
</bean>

Struts2 Action配置struts.xml:

<constant name="struts.objectFactory" value="spring"/>
<package name="default" namespace="/actions" extends="struts-default">
<action name="login" class="userAction">
<result name="success">/success.jsp</result>
<result name="fail">/index.jsp</result>
</action>
</package>


Web.xml文件的配置:
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

由于在Struts2运行时使用Spring来创建对象,需要在Struts配置文件中加入<constant name="struts.objectFactory" value="spring"/>,加入后如果得到下面的错误:
严重: Exception starting filter struts2
Cannot locate the chosen ObjectFactory implementation: spring - [unknown location]

出现这个错误的原因是项目中少了struts2-spring-plugin-2.1.6.jar包,加上该包就没问题了。

分享到:
评论

相关推荐

    SSH项目整合示例【源码】

    5. **整合过程**:SSH整合涉及配置多个文件,包括web.xml(应用部署描述符)、struts.xml(Struts2配置)、applicationContext.xml(Spring配置)、hibernate.cfg.xml(Hibernate配置)。此外,还需要在Action中注入...

    ssh简单整合示例(带有数据库)

    SSH整合是Java Web开发中常见的技术栈组合,主要...通过这个简单的SSH整合示例,开发者能够了解和掌握SSH框架的基本用法,以及它们如何协同处理Web应用的请求和数据库操作。这将为后续的复杂项目开发打下坚实的基础。

    SSH框架整合示例

    SSH框架整合示例,ssh ,spring,struts,hibernate

    ssh1整合示例

    通过这个SSH整合示例,初学者不仅可以掌握这三个框架的基本用法,还能了解到它们如何协同工作,为实际项目开发打下坚实基础。记得在实践中不断调试和优化,以提升自己的技能。同时,阅读博主的博客会提供更多的上...

    SSH整合示例源代码

    总的来说,这个"SSH整合示例源代码"是一个很好的学习资源,涵盖了Struts2的Action机制、Hibernate的ORM操作以及Spring的依赖注入和事务管理等核心概念。通过分析和运行这个示例,开发者可以更好地理解和掌握SSH框架...

    SSH2项目整合

    6. **项目参考**:提供的参考项目可能是一个基础的SSH2整合示例,没有包含具体的业务逻辑包,需要开发者根据实际需求自行添加。 在进行SSH2项目整合时,开发者需要注意以下几点: - **版本兼容性**:确保所有框架...

    SSH框架整合示例(Spring、Struts2、Hibernate)

    该资源为SSH框架整合示例(Spring、Struts2、Hibernate),里面包含源代码、jar包等,是直接从MyEclipse中导出的可正常运行的完整项目。其中另含完整开发笔记一份,为此项目搭建的开发过程笔记,可供读者开发练习...

    maven整合ssh2

    在提供的压缩包文件中,`sshDemo` 可能是一个简单的 SSH2 整合示例项目。它可能包括了 `pom.xml` 文件、配置文件(如 `struts.xml`、`beans.xml` 和 `hibernate.cfg.xml`),以及相关的 Java 类。通过这个示例,你...

    SSH整合示例-薛小冉原创

    SSH整合是Java Web开发中的一种常见模式,全称为Struts2、Spring和Hibernate的集成。这个集成框架在传统的MVC(Model-View-Controller)架构基础上,提供了强大的控制层(Struts2)、业务逻辑层(Spring)和持久化层...

    ssh2整合步骤

    SSH2整合指的是在Java开发中将Spring、Struts2和Hibernate三个开源框架集成在一起,以构建高效、灵活的企业级Web应用程序。在这个过程中,Spring提供依赖注入和事务管理,Struts2负责视图和控制层,而Hibernate则...

    整合SSH(登录示例)

    从给定的文件信息来看,文章主要讲述了如何在MyEclipse 8.0环境中整合SSH框架,即Struts2.1、Spring3.0和Hibernate3.2,并提供了一个简单的登录示例。以下是对该过程的详细解析: ### 1. 创建Web Project 在...

    SSH2整合详细示例

    ### SSH2整合详细示例 #### 一、前言 在Java Web开发领域,Struts2、Hibernate与Spring(简称SSH)三个框架被广泛应用于构建企业级应用系统。本示例将详细介绍如何整合这三个框架,实现一个简单的增删改查(CRUD)...

    简单的SSH整合示例——用户登录功能

    SSH整合示例中的用户登录功能,展示了如何利用Spring管理业务逻辑,Struts2处理用户请求,以及Hibernate与数据库的交互。通过这个示例,开发者可以理解SSH框架集成的基本工作原理,并为自己的项目提供参考。记住,...

    ssh整合3示例源码

    mytest可能是基础的SSH整合示例,sshtest可能是增加了特定功能或优化的版本,而ssh2可能是针对更高级或不同场景的整合案例。这些源码对于学习和理解SSH整合过程及其工作原理非常有帮助。通过阅读和运行这些示例,你...

    struts2.0 最好的SSH整合示例代碼 大派送

    struts2.0 最好的SSH整合示例代碼 大派送 struts2.0 最好的SSH整合示例代碼 大派送 struts2.0 最好的SSH整合示例代碼 大派送 struts2.0 最好的SSH整合示例代碼 大派送 struts2.0 最好的SSH整合示例代碼 大派送

Global site tag (gtag.js) - Google Analytics