1.导入struts、spring、hibernate的jar包。
注意:1.jta.jar不导入会导致Error creating bean with name 'sessionFactory' defined in ServletContext异常
2.asm.jar asm-attrs.jar cglib-2.1.3.jar commons-cllections-2.1.1.jar 包重复也会导致上面的异常
2.建立存放spring、struts配置文件的文件夹,然后再WEB.XML文件中配置他们的路径
<!--②--> <context-param> <param-name>contextConfigLocation</param-name> <param-value> <!-- 使用通配符,可以导入/WEB-INF/spring文件夹下,以applicationContext-开始的所有xml文件 --> /WEB-INF/spring/applicationContext-*.xml </param-value> </context-param> <!--①--> <servlet> <servlet-name>context</servlet-name> <servlet-class> org.springframework.web.context.ContextLoaderServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <!-- ②是①的参数配置,如果不写②会导致 No WebApplicationContext found: no ContextLoaderListener registered?异常-->
3.applicationContext-resources.xml文件,配置数据库连接属性
例:连接oracle数据库,用户:chy_public 密码:chy_public
<beans> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName"> <value>oracle.jdbc.driver.OracleDriver</value> </property> <property name="url"> <value>jdbc:oracle:thin:@192.168.0.2:1521:ITSV</value> </property> <property name="username"> <value>chy_public</value> </property> <property name="password"> <value>chy_public</value> </property> </bean> </beans>
4.applicationContext-hibernate.xml文件: 用spring管理hibernian
<beans> <!-- 管理使用数据库基本配置 start --> <!-- Hibernate SessionFactory --> <bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="mappingResources"> <list> <value> com/itsv/search/model/Login.hbm.xml </value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> net.sf.hibernate.dialect.Oracle9Dialect </prop> <prop key="hibernate.show_sql">true</prop> </props> </property> </bean> <!-- Transaction manager for a single Hibernate SessionFactory (alternative to JTA) --> <bean id="transactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager"> <property name="sessionFactory"> <ref local="sessionFactory" /> </property> </bean> <!-- 管理使用数据库基本配置 end --> <!-- 配置dao层 --> <bean id="dao" class="com.dao.hibernate.baseDAOHibernate" singleton="true"> <property name="sessionFactory"><ref bean="sessionFactory"/></property> </bean> </beans>
5.applicationContext-manager.xml文件 spring层
<!-- 添加事务 --> <beans> <bean id="txProxyTemplate" abstract="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager"> <ref bean="transactionManager" /> </property> <property name="transactionAttributes"> <props> <prop key="save*">PROPAGATION_REQUIRED</prop> <prop key="remove*">PROPAGATION_REQUIRED</prop> <prop key="update*">PROPAGATION_REQUIRED</prop> <prop key="*">PROPAGATION_REQUIRED</prop> </props> </property> </bean> <!-- 连接dao层 --> <bean id="djSearchManager" parent="txProxyTemplate"> <property name="target"> <bean class="com.itsv.search.service.impl.DjSearchManagerImpl"> <!-- xxxDAO为DjSearchManagerImpl类的属性,yyyDAO为dao层bean的id --> <property name="xxxDAO"><ref bean="yyyDAO"/></property> </bean> </property> </bean> </beans>
6.web.xml 字符集过滤
<!-- 使用struts的字符集过滤的配置 --> <filter> <filter-name>encodingFilter</filter-name> <filter-class> org.springframework.web.filter.CharacterEncodingFilter </filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping> <!-- 使用servlet时的servlet及servlet字符集过滤的配置 --> <filter> <filter-name>encodingFilterServlet</filter-name> <filter-class> org.springframework.web.filter.CharacterEncodingFilter </filter-class> <init-param> <param-name>encoding</param-name> <param-value>GBK</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilterServlet</filter-name> <url-pattern>*.go</url-pattern> </filter-mapping> <servlet> <servlet-name>SearchServlet</servlet-name> <servlet-class> com.itsv.cms.search.webapp.servlet.SearchServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>SearchServlet</servlet-name> <url-pattern>*.go</url-pattern> </servlet-mapping>
相关资源:SSH项目搭建步骤简单示例