SSH框架結構

上一篇 / 下一篇  2007-12-27 14:28:02

一個spring2.5+hibernate3.2+struts2.0的組合框架,使用spring的IoC來管理應用的所有bean,包括struts2的action,充分發揮了spring輕量級框架的優勢。

代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  3. xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
  4.     <display-name>FashionBookShop</display-name>  
  5.    <context-param>  
  6.   <param-name>contextConfigLocation</param-name>  
  7.   <param-value>/WEB-INF/applicationContext.xml</param-value>  
  8. </context-param>  
  9.      
  10.   <listener>  
  11.   <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
  12. </listener>  
  13.   
  14.     <filter>     
  15.       <filter-name>encodingFilter</filter-name>     
  16.       <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>     
  17.       <init-param>     
  18.           <param-name>encoding</param-name>     
  19.           <param-value>UTF-8</param-value>     
  20.       </init-param>     
  21.   </filter>     
  22.   <filter-mapping>     
  23.       <filter-name>encodingFilter</filter-name>     
  24.       <url-pattern>/*</url-pattern>     
  25.   </filter-mapping>     
  26.     
  27.      
  28.   <filter>     
  29.       <filter-name>struts2</filter-name>     
  30.       <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>     
  31.   </filter>     
  32.   <filter-mapping>     
  33.       <filter-name>struts2</filter-name>     
  34.       <url-pattern>/*</url-pattern>     
  35.   </filter-mapping>    
  36.     <welcome-file-list>  
  37.         <welcome-file>index.html</welcome-file>  
  38.         <welcome-file>index.htm</welcome-file>  
  39.         <welcome-file>index.jsp</welcome-file>  
  40.         <welcome-file>default.html</welcome-file>  
  41.         <welcome-file>default.htm</welcome-file>  
  42.         <welcome-file>default.jsp</welcome-file>  
  43.     </welcome-file-list>  
  44.    <resource-ref>  
  45.         <res-ref-name>jdbc/MyDataSource</res-ref-name>  
  46.         <res-type>javax.sql.DataSource</res-type>  
  47.         <res-auth>Container</res-auth>  
  48.         <res-sharing-scope>Shareable</res-sharing-scope>  
  49.     </resource-ref>  
  50. </web-app>  
render_code();web.xml中使用listener的方式載入spring的web上下文,另外,還載入了struts2的過濾器。

applicationContext.xml文件如下:

代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">  
  5.  <bean id="myDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">  
  6.     <property name="jndiName" value="java:comp/env/jdbc/MyDataSource"/>  
  7.   </bean>  
  8.   
  9. <bean id="mySessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  10.     <property name="dataSource" ref="myDataSource"/>  
  11.     <property name="mappingResources">  
  12.       <list>  
  13.         <value>org/tiantian/pojo/Book.hbm.xml</value>  
  14.       </list>  
  15.     </property>  
  16.     <property name="hibernateProperties">  
  17.       <value>  
  18.         hibernate.dialect=org.hibernate.dialect.MySQLDialect  
  19.       </value>  
  20.     </property>  
  21.   </bean>  
  22. <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">  
  23. <property name="sessionFactory">  
  24. <ref bean="mySessionFactory"/>  
  25. </property>  
  26. </bean>  
  27. <bean id="bookDao" class="org.tiantian.dao.impl.BookDAOImpl">  
  28. <property name="hibernateTemplate">  
  29. <ref bean="hibernateTemplate"/>  
  30. </property>  
  31. </bean>  
  32.  <bean id="BookAction" scope="prototype"  
  33.         class="org.tiantian.struts2.action.BookAction">  
  34.         <constructor-arg ref="bookDao" />  
  35.     </bean>  
  36. </beans>  
render_code();配置了如下的依賴:sessionFactory->hibernateTemplate->bookDao->BookAction。

這樣整個框架就配置好了,在jsp中,可以使用下面的代碼獲得WebApplicationContext:

代码
  1. WebApplicationContext context = WebApplicationContextUtils.   
  2. getWebApplicationContext(this.getServletContext());   
  3. BookDAOImpl b=(BookDAOImpl)context.getBean("bookDao");  
render_code();在servlet或者daoimpl中,可以直接調用bean:

代码
  1. public void removeProduct(int id) {  
  2.         Book b = (Book)this.getHibernateTemplate().get(Book.class, id);  
  3.         this.getHibernateTemplate().delete(b);  
  4.         // TODO Auto-generated method stub  
  5.   


相关阅读:

TAG: spring hibernate struts ssh

引用 删除 doudgut   /   2008-05-19 14:20:39
5
引用 删除 clarkhill   /   2008-05-03 10:34:52
3
重新开始 xyzlotus 引用 删除 xyzlotus   /   2007-12-27 20:27:32
5
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-09-07  
 123456
78910111213
14151617181920
21222324252627
282930    

我的存档

数据统计

  • 访问量: 198
  • 日志数: 2
  • 建立时间: 2007-12-14
  • 更新时间: 2007-12-27

RSS订阅

Open Toolbar