Struts,hibernate,Spring整合开发各层之间联系的配置说明(初学者值得看下)
2012-03-19 21:52
239 查看
本人学习Struts,hibernate,Spring整合开发已经有五六个月了,现在基本上对这种技术有了初步的了解应用,因为我们是为了开发一个项目才去学这门技术的,而现在这个项目也差不多完成了一半,学过这门技术的人都知道,初学时最难搞懂得就是把各层联系起来的配置文件的内容,配置代码的具体解析了,记得我刚学的时候也想找一个能概括说明的资料,但是一直零零散散的,想理解对初学者来说有点难度了,以下是我根据自己初学的情况(根据当时自己想找的内容)认为能帮初学者理清关系思路有所帮助而整理的资料,可能有些术语说的不是很准确,但是能看懂就好,呵呵。
显示(xx.jsp页面)--àStruct中的Action类 --à业务层(Service) ---à 接口(Dao)
--à实体类 ---->数据库
JSP页面和Action类之间的联系是通过Struts.xml文件配置来实现连接的,如用下面代码说明一下:
如有以下JSP页面的部分代码:
<s:form
action="projectPublish.action"
method="post">
<table
align="center">
<tr><td><s:textfield
label="发布人用户ID"
name="projectPublish.userID"
/></td></tr>
。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。
name="projectPublish.projectPlanURL"
/></td></tr>
<tr><td><s:textfield
label="备注"
name="projectPublish.remark"
/></td></tr>
<tr><td><s:submit
value="提交"
/></td></tr>
</table>
</s:form>
注意一下form属性中的action的值是projectPublish.action(其中.action的a必须小写)
再有Struts.xml中的有关代码:
<action
name="projectPublish"
class="ProjectPublishAction"
method="savePublish">
<result
name="success">/admin/project/RegularMember/publishsavesuccess.jsp
</result>
<result
name="error">/error.jsp</result>
</action>
以上代码中action中name和class就是连接两者之间关系的重点了,name属性表示的是JSP页面中action的值了(至于为什么这样定义自己看书查资料就行,这里不说明,我想这个方面的知识很容易找到)。而class属性表示的就是Struts中Action类的“代表‘名字了。至于怎么把具体在那个路径下的Action类和这个”代表“名字联系起来则会在下面的Spring配置文件(applicationContext.xml)中说明。上面Action中还有一个method属性。这个属性是说明你JSP页面提交的数据交给Action类中哪个方法执行,他的值就是方法名,比我这个JSP页面提交的数据是由Action类中的savePublish()方法执行。而执行后返回什么字符跳转到哪个页面。如,我Action类中savePublish()方法执行返回结果字符为”success“,则跳转到publishsavesuccess.jsp页面。
下面说的就是Struct中的Action类 ,业务层(Service), 接口(Dao), 实体类之间的联系配置了,主要是在Springl配置文件(applicationContext.xml)里实现。
<!--
定义Hibernate的sessionFactory -->
(1)<bean
id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<!-- 指定数据源 -->
<property
name="dataSource">
<ref
bean="sqlserver"
/>
</property>
<!--依赖注入 -->
(2)<bean
id="Project_PublishDao"
class="org.nbu.lab619.dao.impl.Project_PublishDaoImpl"
scope="prototype">
<property
name="sessionFactory">
<ref
local="sessionFactory"
/>
</property>
</bean>
(3)<bean
id="Project_PublishService"
class="org.nbu.lab619.service.impl.Project_PublishServiceImpl"
scope="prototype">
<property
name="projectPublishDao"
ref="Project_PublishDao"
/>
</bean>
(4)<bean
id="ProjectPublishAction"
class="org.nbu.lab619.action.admin.project.ProjectPublishAction"
scope="prototype">
<property
name="projectPublishService"
ref="Project_PublishService"
/>
</bean>
以上的第四个Bean中的id就是上面讲过的Action的”代表“名字了。也就是Strut.xml文件中class值,而接下来的class指向的就是具体的执行Action类的路径和真正的名字,这样一来就实现了JSP页面和Action类的联系了。而Property中的name则表示的是Action类中调用业务层(Service)中的对象名,Ref指向业务层的id属性了。
而第三个Bean就是实现Action类与业务层(Service类)之间的联系了,bean中的id就是第四个Bean中ref的值,必须是同一名字,不然联系不起来、同样的这个Property中name则表示的是调用接口类(Dao)对象名,Ref指向接口类(Dao)的ID属性了。
第二个Bean实现业务层和接口层的联系。,bean中的id就是第三个Bean中ref的值,必须是同一名字,不然联系不起来、同样的这个Property中name,ref基本上是基本格式了。
接口层实现的是业务层和数据层的联系,他可以直接调用数据层的实体类。通过Hibernate中的实体类和相应的配置文件就能实现与数据库的联通。
显示(xx.jsp页面)--àStruct中的Action类 --à业务层(Service) ---à 接口(Dao)
--à实体类 ---->数据库
JSP页面和Action类之间的联系是通过Struts.xml文件配置来实现连接的,如用下面代码说明一下:
如有以下JSP页面的部分代码:
<s:form
action="projectPublish.action"
method="post">
<table
align="center">
<tr><td><s:textfield
label="发布人用户ID"
name="projectPublish.userID"
/></td></tr>
。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。
name="projectPublish.projectPlanURL"
/></td></tr>
<tr><td><s:textfield
label="备注"
name="projectPublish.remark"
/></td></tr>
<tr><td><s:submit
value="提交"
/></td></tr>
</table>
</s:form>
注意一下form属性中的action的值是projectPublish.action(其中.action的a必须小写)
再有Struts.xml中的有关代码:
<action
name="projectPublish"
class="ProjectPublishAction"
method="savePublish">
<result
name="success">/admin/project/RegularMember/publishsavesuccess.jsp
</result>
<result
name="error">/error.jsp</result>
</action>
以上代码中action中name和class就是连接两者之间关系的重点了,name属性表示的是JSP页面中action的值了(至于为什么这样定义自己看书查资料就行,这里不说明,我想这个方面的知识很容易找到)。而class属性表示的就是Struts中Action类的“代表‘名字了。至于怎么把具体在那个路径下的Action类和这个”代表“名字联系起来则会在下面的Spring配置文件(applicationContext.xml)中说明。上面Action中还有一个method属性。这个属性是说明你JSP页面提交的数据交给Action类中哪个方法执行,他的值就是方法名,比我这个JSP页面提交的数据是由Action类中的savePublish()方法执行。而执行后返回什么字符跳转到哪个页面。如,我Action类中savePublish()方法执行返回结果字符为”success“,则跳转到publishsavesuccess.jsp页面。
下面说的就是Struct中的Action类 ,业务层(Service), 接口(Dao), 实体类之间的联系配置了,主要是在Springl配置文件(applicationContext.xml)里实现。
<!--
定义Hibernate的sessionFactory -->
(1)<bean
id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<!-- 指定数据源 -->
<property
name="dataSource">
<ref
bean="sqlserver"
/>
</property>
<!--依赖注入 -->
(2)<bean
id="Project_PublishDao"
class="org.nbu.lab619.dao.impl.Project_PublishDaoImpl"
scope="prototype">
<property
name="sessionFactory">
<ref
local="sessionFactory"
/>
</property>
</bean>
(3)<bean
id="Project_PublishService"
class="org.nbu.lab619.service.impl.Project_PublishServiceImpl"
scope="prototype">
<property
name="projectPublishDao"
ref="Project_PublishDao"
/>
</bean>
(4)<bean
id="ProjectPublishAction"
class="org.nbu.lab619.action.admin.project.ProjectPublishAction"
scope="prototype">
<property
name="projectPublishService"
ref="Project_PublishService"
/>
</bean>
以上的第四个Bean中的id就是上面讲过的Action的”代表“名字了。也就是Strut.xml文件中class值,而接下来的class指向的就是具体的执行Action类的路径和真正的名字,这样一来就实现了JSP页面和Action类的联系了。而Property中的name则表示的是Action类中调用业务层(Service)中的对象名,Ref指向业务层的id属性了。
而第三个Bean就是实现Action类与业务层(Service类)之间的联系了,bean中的id就是第四个Bean中ref的值,必须是同一名字,不然联系不起来、同样的这个Property中name则表示的是调用接口类(Dao)对象名,Ref指向接口类(Dao)的ID属性了。
第二个Bean实现业务层和接口层的联系。,bean中的id就是第三个Bean中ref的值,必须是同一名字,不然联系不起来、同样的这个Property中name,ref基本上是基本格式了。
接口层实现的是业务层和数据层的联系,他可以直接调用数据层的实体类。通过Hibernate中的实体类和相应的配置文件就能实现与数据库的联通。
相关文章推荐
- Struts,hibernate,Spring整合开发各层之间联系的配置说明(初学者值得看下)
- Struts,hibernate,Spring整合开发各层之间联系的配置说明(初学者值得看下)
- 使用struts、hibernate、spring进行框架整合流程详细说明(完整版)附:开发规范
- 使用struts、hibernate、spring进行框架整合流程详细说明(完整版)附:开发规范
- 使用struts、hibernate、spring进行框架整合流程详细说明(完整版)附:开发规范
- Activiti5工作流框架学习之Struts2+Hibernate+Spring整合配置
- Struts2.0 + Spring2.5 + Hibernate3.3开发环境的配置(1)
- SSH(struts 1.x+spring 2.5+hibernate 3.2)开发文件配置
- Spring,Struts,Hibernate整合的配置
- Spring+Struts2+Hibernate整合开发讲解
- SSH(struts+spring+hibernate)迅速开发--第五章 定义配置和资源文件
- SSH:SSH(Struts1 + Spring + hibernate)整合之配置文件
- Spring+Hibernate如何配置数据源(Struts Spring Hibernate (SSH) 整合实例)
- Struts、Spring、Hibernate整合开发
- proxool连接池配置说明(与jdbc、Hibernate、Spring之间的配置)
- spring WEB MVC + Spring + hibernate开发web程序的配置说明和简单实例的详细说明
- 粗谈Struts+Hibernate+Spring开发——从分层,对接,蔓延的开发过程来看Struts,Hibernate,Spring的整合开发
- 轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)
- 最新版的SSH框整合(Spring 3.1.1 + Struts 2.3.1.2 + BoneCP + Hibernate 4.1)更新增加C3P0和EhCache配置
- 关于使用Spring和hibernate开发web程序的配置说明和简单实例的详细说明