程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> Struts+Hibernate+Spring整合

Struts+Hibernate+Spring整合

編輯:關於JSP

由於歷史原因,這篇繼續上個月遺留下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>   運行結果:     \\



\\

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved