Spring 3.0 + Struts 1.3 + Hibernate 3.3 框架整合小结

 

 

导读:

 

       前一阵对SS2H整合进行过小结。今天把SS1H整合的过程小结一下。

 

       其中主要的区别在于Struts的版本不同,Struts 2虽然吸收了部分Struts 1的优点,并且在使用的过程中更加的灵活方便,但是因为它的主要核心是WebWork,所以导致在整合和使用的过程中都有着不小的改动。

 

       在这里特别说明一点。本次S+Struts1+H小结完全是和上次S+Struts2+H对比着进行的。也就是说,上次小结所描述过的地方,在这里不会再重复描述。尤其是对于Hibernate部分来说,和Struts2时一样,直接省略掉了。

 

       若带来不便,请谅解!

       在此特别附上:

Spring 3.0 + Struts 2.1 + Hibernate 3.3 框架整合小结URL地址,以便大家对比参照:

http://maxpin.iteye.com/blog/1151840

      

 

进入正题,本次同样是采用添加功能支持的方式进行框架整合:

( MyEclipse à  add xxxx capabilities )

 

操作步骤仍然是  Spring  à  Hibernate  à  Sturts 1.3

 

 

创建Web Project略。

 

 

 

一、Spring

 

 

1. 添加jar包到项目中

 

Spring 3.0 + Struts 1.3 + Hibernate 3.3 框架整合小结

 

Struts 2不同的地方在于 需要额外 导入Spring 3.0 Web Libraries 这一架包。

jar包在后面配置struts-config.xml文件时会用到。这里不多做解释。

 

为了方便,还选择了将jar包拷贝到了WEB-INF/lib目录下。

 

 

2. 创建Springbean配置文件applicationContext.xml

 

    步骤相同(略)。

 

 

 

二、Hibernate

所有步骤都相同(略)。

 

 

 

三、Struts 1.3(手动搭配)

1.       选择项目中使用的Struts 1.3 版本 URL 访问的路径模式。

      设置应用程序资源文件存放的位置,之后点击Finish即可。

 

 Spring 3.0 + Struts 1.3 + Hibernate 3.3 框架整合小结

 

 

2、自定义Action类,继承动态Action类:DispatchAction

 

       例如:这里使用UserAction为自定义Action类名,想要实现的效果是登录功能。

 

 Spring 3.0 + Struts 1.3 + Hibernate 3.3 框架整合小结

 

在自定义的UserAction类中,编写完成登录功能的doLogin方法。

 

 Spring 3.0 + Struts 1.3 + Hibernate 3.3 框架整合小结

 

3、创建FormBean,这里命名为UserForm,继承ActionForm类。

 

 Spring 3.0 + Struts 1.3 + Hibernate 3.3 框架整合小结

 

在类中实例化一个Userinfo的实体类对象,生成getter&setter方法,便于对数据的存取操作。

 

需要注意的是,这里很容易忘记new出对象

 

 Spring 3.0 + Struts 1.3 + Hibernate 3.3 框架整合小结

 

至此,可以看到目前项目的目录结构如图所示:

 

 Spring 3.0 + Struts 1.3 + Hibernate 3.3 框架整合小结

 

4、自定义ActionFormBean创建完毕后,下一步可以进行struts-config.xml文件的配置了。

 

Spring 3.0 + Struts 1.3 + Hibernate 3.3 框架整合小结

<form-bean>中:

name用于定义一个ActionForm

type属性是指定ActionForm的完全限定类名。

 

<action>中:

name属性用于关联FormBeanname

path属性指定访问这个Action的路径,以“/”开头,不需要加“.do

type属性指定这个Action的类名,这里使用DelegatingActionProxy

              parameter属性的值用于在页面调用此action时确定哪个方法被调用。

 

<forward>中:

              name属性是在action类中定义好的页面逻辑名。

              path属性指定页面的物理路径,对应于页面逻辑名。

 

<plug-in>中:

              className属性指定上下文加载插件。

              子标签<set-property>中:

                            property属性定义本地上下文配置信息。

                            value属性指定Spring的配置文件applicationCntext.xml的所在位置。

 

 

5、接下来在SpringapplicationContext.xml文件中配置ActionBean这时不再使用id而是使用name并且name的值就是第4步操作中struts-config.xml里的action元素中的path的值。注意不要忘记“/

 

 Spring 3.0 + Struts 1.3 + Hibernate 3.3 框架整合小结

 

6、页面调用

 

method参数名来自于第4步操作时的struts-config.xml配置文件中actionparameter=method

相对应的参数值代表着此Action类中哪个方法被调用。

 

下图表示此表单提交时会调用userAction类中的doLogin方法来处理请求。

 

Spring 3.0 + Struts 1.3 + Hibernate 3.3 框架整合小结 

 

 

 

 

 

 

 

这次总结的有些仓促。

着重于整合过程中的部署和配置步骤,忽略了大部分jar包、属性或语义上的解释。

有兴趣研究的童鞋自行查阅相关API吧。

 

其余的我抽时间再完善,若有描述不正确的位置,欢迎火速告知。

你可能感兴趣的:(spring,Hibernate,框架,struts,ssh)