欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Struts+Hibernate+Spring整合

程序员文章站 2024-01-28 21:20:04
由于历史原因,这篇继续上个月遗留下SSH整合的小例子,这篇分别是Spring针对每一层的配置,以及Struts的配置和几个页面。 spring-common.xml,主要配置事务...
由于历史原因,这篇继续上个月遗留下SSH整合的小例子,这篇分别是Spring针对每一层的配置,以及Struts的配置和几个页面。

spring-common.xml,主要配置事务:

[html]  

<?xml version="1.0" encoding="UTF-8"?>  

<beans xmlns="http://www.springframework.org/schema/beans"   

     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   

     xmlns:tx="http://www.springframework.org/schema/tx"  

     xmlns:aop="http://www.springframework.org/schema/aop"  

     xsi:schemaLocation="   

     http://www.springframework.org/schema/beans   

     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  

     http://www.springframework.org/schema/tx  

     http://www.springframework.org/schema/tx/spring-tx-3.0.xsd  

     http://www.springframework.org/schema/aop   

     http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">  

      

    <!-- 配置SessionFactory -->  

    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  

        <property name="configLocation">  

            <value>classpath:hibernate.cfg.xml</value>  

        </property>  

    </bean>  

      

    <!-- 配置事务管理器 -->  

    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">  

        <property name="sessionFactory">  

            <ref bean="sessionFactory"/>  

        </property>  

    </bean>  

      

    <!--  -->  

    <aop:config>  

        <aop:pointcut expression="execution(* com.tgb.manager.*.*(..))" id="allManagerMethod"/>  

        <aop:advisor advice-ref="txAdvice" pointcut-ref="allManagerMethod"/>  

    </aop:config>  

      

    <!-- 事务传播性 -->  

    <tx:advice id="txAdvice" transaction-manager="transactionManager">  

        <tx:attributes>  

            <tx:method name="add*" propagation="REQUIRED"/>  

            <tx:method name="del*" propagation="REQUIRED"/>  

            <tx:method name="modify*" propagation="REQUIRED"/>  

            <tx:method name="*" propagation="REQUIRED" read-only="true"/>  

        </tx:attributes>  

    </tx:advice>  

</beans>    

spring-daos.xml,配置dao层的类:

[html]  

<?xml version="1.0" encoding="UTF-8"?>  

<beans xmlns="http://www.springframework.org/schema/beans"   

     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  

     xsi:schemaLocation="   

     http://www.springframework.org/schema/beans   

     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">  

    <bean id="userDao" class="com.tgb.dao.UserDaoImpl">  

        <property name="sessionFactory" ref="sessionFactory"/>  

    </bean>  

</beans>    

spring-managers.xml,配置manager层的类:

[html] 

<?xml version="1.0" encoding="UTF-8"?>  

<beans xmlns="http://www.springframework.org/schema/beans"   

     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  

     xsi:schemaLocation="   

     http://www.springframework.org/schema/beans   

     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">  

      

    <bean id="userManager" class="com.tgb.manager.UserManagerImpl">  

        <property name="userDao" ref="userDao"/>  

    </bean>  

</beans>    

spring-actions.xml,配置action层的类:

[java] 

<?xml version="1.0" encoding="UTF-8"?>  

<beans xmlns="http://www.springframework.org/schema/beans"   

     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  

     xsi:schemaLocation="   

     http://www.springframework.org/schema/beans   

     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">  

      

    <bean name="/user" class="com.tgb.web.UserAction">  

        <property name="userManager" ref="userManager"/>  

    </bean>  

</beans>    

struts-config.xml,Struts的配置,一些跳转信息等:

[html]  

<?xml version="1.0" encoding="utf-8"?>  

<!DOCTYPE struts-config PUBLIC  

          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"  

          "http://struts.apache.org/dtds/struts-config_1_2.dtd">  

            

<!-- ActionMapping的配置,设置到request -->  

<struts-config>  

    <form-beans>  

        <form-bean name="userForm" type="com.tgb.web.UserActionForm"/>  

    </form-beans>  

    <action-mappings>  

        <action path="/user"  

                type="org.springframework.web.struts.DelegatingActionProxy"  

                name="userForm"  

                scope="request">  

                    <forward name="success" path="/success.jsp"></forward>  

                </action>  

    </action-mappings>  

</struts-config>  

web.xml,web容器启动需要加载的配置:

[html]  

<?xml version="1.0" encoding="UTF-8"?>    

<web-app version="2.4"     

    xmlns="http://java.sun.com/xml/ns/j2ee"     

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     

    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee     

    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">   

      

    <!-- 配置ActionServlet,*控制器 -->  

    <servlet>  

        <servlet-name>action</servlet-name>  

        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>  

        <init-param>  

            <param-name>config</param-name>  

            <param-value>/WEB-INF/struts-config.xml</param-value>  

        </init-param>  

        <init-param>  

            <param-name>debug</param-name>  

            <param-value>2</param-value>  

        </init-param>  

        <init-param>  

            <param-name>detail</param-name>  

            <param-value>2</param-value>  

        </init-param>  

        <load-on-startup>2</load-on-startup>  

    </servlet>  

      

    <servlet-mapping>  

        <servlet-name>action</servlet-name>  

        <url-pattern>*.do</url-pattern>  

    </servlet-mapping>  

      

    <context-param>  

        <param-name>contextConfigLocation</param-name>  

        <param-value>classpath:spring-*.xml</param-value>  

    </context-param>  

      

    <!-- 添加监听,在web容器启动时加载 -->  

    <listener>  

        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  

    </listener>  

      

    <filter>  

        <filter-name>CharacterEncodingFilter</filter-name>  

        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  

        <init-param>  

            <param-name>encoding</param-name>  

            <param-value>GB18030</param-value>  

        </init-param>  

    </filter>  

    <filter-mapping>  

        <filter-name>CharacterEncodingFilter</filter-name>  

        <url-pattern>*.do</url-pattern>  

    </filter-mapping>  

      

    <!-- 管理session -->  

    <filter>  

        <filter-name>OpenSessionInViewFilter</filter-name>  

        <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>  

    </filter>  

    <filter-mapping>  

        <filter-name>OpenSessionInViewFilter</filter-name>  

        <url-pattern>/*</url-pattern>  

    </filter-mapping>  

</web-app>  

 

页面:index.jsp

[html] 

<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>  

<html>  

<head>  

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>  

<title></title>  

</head>  

<body>  

    <h2><a href="user_add.jsp">添加用户</a></h2>  

</body>  

</html>  

User_add.jsp

[html] view plaincopy

<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>  

<html>  

<head>  

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>  

<title></title>  

</head>  

<body>  

    <form action="user.do" method="post">  

        UserName:<input name="userName" type="text"><br>  

        Password:<input name="password" type="password"><br>  

        <button type="submit">submit</button>     

    </form>  

</body>  

</html>  

Success.jsp

[html] view plaincopy

<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>  

<html>  

<head>  

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>  

<title></title>  

</head>  

<body>  

    <h1>用户添加成功!</h1>  

</body>  

</html>  

运行结果:

 

 

Struts+Hibernate+Spring整合Struts+Hibernate+Spring整合



Struts+Hibernate+Spring整合Struts+Hibernate+Spring整合