SSH的整合,Spring3.1 & Hibernate3.6 & Struts2.2

期末了,这几天没什么事情基本就是在宿舍看书,打怪升级。明年就要去上班了,总觉得自己很多地方还是一知半解。努力的过程蛋疼兼寂寞。

SSH框架的配置在网上有很多的实例,不过jar包的版本控制起来的确麻烦。特别是新版本出来,有些jar文件合并了,有些则分开了。对老鸟来说当然是小菜。不过对我这种初学者确实入门的第一道坎儿,计算机科学笔记是门实践科学。环境都搭配不起来,后面的工作也无从谈起。

Spring3.1&Hibernate3.6&Struts2.2

首先是引进jar文件:

a开头的jar

c开头的jar

d-m开头的jar

o开头的jar

s-x开头的jar

新版本的Hibernate已经将Annotation整合到了Hibernate3.jar里面,而原本Spring2.5.6中提供的Spring.jar又被拆分成多个包。

上面的包是在查阅了网上的一些问答,并结合自己机器上运行出现的问题一点一点添加上去。感觉还是有一些jar是多余的,希望有了解的朋友能帮忙指出。

接下来是配置文件的基本设置:

Web.xml:
1.<!-- 配置Spring的监听器,将web工程纳入到Spring容器的管理中 -->  
2.<!--    
3.     默认的spring配置文件寻找路径是 /WEB-INF/applicationContext.xml    
4.    也可以通过下面的方式将只定位到classpath[即src包下]的beans.xml   
5.        <context-param>  
6.        <param-name>contextConfigLocation</param-name>  
7.        <param-value>classpath:beans.xml</param-value>  
8.    </context-param>  
9.-->  
10.<listener>  
11.          <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
12.</listener>  
13.<!-- Struts2的过滤器,接管web的请求并负责相应 -->  
14.<filter>  
15.    <filter-name>struts2</filter-name>  
16.    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  
17.</filter>  
18.    <filter-mapping>  
19.        <filter-name>struts2</filter-name>  
20.        <url-pattern>/*</url-pattern>  
21.        <dispatcher>FORWARD</dispatcher>  
22.        <dispatcher>REQUEST</dispatcher>  
23.    </filter-mapping>

 这边就采用默认是applicationContext.xml

在里面配置dataSourcesessionFactoryadvicetransaction等具体的可以参考Spring3的文档。

struts.xml的配置:
1.<!--需要在定义action之前添加-->  
2.    <constant name="struts.objectFactory" value="spring"/>  
3.    <package name="default" namespace="/" extends="struts-default">

主要是前一句,将原本有Struts2自己管理的对象工厂[产生action对象]交给spring容器进行管理。 在配置action的时候可以使用

1.<action name="yourActionName" class="youDefineInSpringContainer'sAction'Id">  
2.<result name="success">/XX.jsp</result>  
3.</action>

上面的youDefineInSpringContainer'sAction'Id就是在spring的配置文件applicationContext.xml中你定义交给spring进行管理的Action处理Bean。

整个过程基本就是这样了。

相关推荐