ITPub博客

SSH框架結構

原创 Linux操作系统 作者:tiantian911 时间:2007-12-27 14:28:02 0 删除 编辑

一個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>FashionBookShopdisplay-name>  
  5.    <context-param>  
  6.   <param-name>contextConfigLocationparam-name>  
  7.   <param-value>/WEB-INF/applicationContext.xmlparam-value>  
  8. context-param>  
  9.      
  10.   <listener>  
  11.   <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>  
  12. listener>  
  13.   
  14.     <filter>     
  15.       <filter-name>encodingFilterfilter-name>     
  16.       <filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class>     
  17.       <init-param>     
  18.           <param-name>encodingparam-name>     
  19.           <param-value>UTF-8param-value>     
  20.       init-param>     
  21.   filter>     
  22.   <filter-mapping>     
  23.       <filter-name>encodingFilterfilter-name>     
  24.       <url-pattern>/*url-pattern>     
  25.   filter-mapping>     
  26.     
  27.      
  28.   <filter>     
  29.       <filter-name>struts2filter-name>     
  30.       <filter-class>org.apache.struts2.dispatcher.FilterDispatcherfilter-class>     
  31.   filter>     
  32.   <filter-mapping>     
  33.       <filter-name>struts2filter-name>     
  34.       <url-pattern>/*url-pattern>     
  35.   filter-mapping>    
  36.     <welcome-file-list>  
  37.         <welcome-file>index.htmlwelcome-file>  
  38.         <welcome-file>index.htmwelcome-file>  
  39.         <welcome-file>index.jspwelcome-file>  
  40.         <welcome-file>default.htmlwelcome-file>  
  41.         <welcome-file>default.htmwelcome-file>  
  42.         <welcome-file>default.jspwelcome-file>  
  43.     welcome-file-list>  
  44.    <resource-ref>  
  45.         <res-ref-name>jdbc/MyDataSourceres-ref-name>  
  46.         <res-type>javax.sql.DataSourceres-type>  
  47.         <res-auth>Containerres-auth>  
  48.         <res-sharing-scope>Shareableres-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.xmlvalue>  
  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.   

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/374552/viewspace-6697/,如需转载,请注明出处,否则将追究法律责任。

上一篇: EJB3和Spring的比较
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2007-12-14

  • 博文量
    2
  • 访问量
    4331