初学SSH框架所需注意的基本点

来源:互联网 发布:作品集用什么软件知乎 编辑:程序博客网 时间:2024/05/17 07:23

  初学SSH模式所搭建的完整项目,对三大框架有了初步的了解。SSH模式是一种MVC软件开发模式,即Struts,Spring,Hibernate的缩写,通俗的来说,Struts负责数据在页面之间的传递,而Hibernate负责对数据库操作进行封装,Spring则负责对各个类及Struts,Hibernate进行管理。

  在SSH模式搭建的项目中,大致流程是:JSP页面---》Struts---》Service---》Hibernate,数据从页面传到Struts中,然后Struts调用业务逻辑层(Service)对数据进行操作,后台用Hibernate对数据在数据库层面进行操作,然后Struts负责返回页面并跳转,Spring在SSH模式中充当了管理容器,他起到了控制Action对象和Service的作用,这样使两者的关系变得松散,也就降低了层与层之间的耦合度。举例来说,Struts要调用Service层的BatchService方法,不用Spring的话,就要先new一个BatchService,才能调用其中的方法。而用Spring则可以把BatchService作为一个Struts Action的属性,由Spring去实例化,这样实例化对象的任务就交给了Spring。Spring使用注释即可完成对对象的实例化,从而简化了存储对象时的代码

至于SSH项目中页面跳转的实现,可由以下简例看出:

①在“url:'<c:url value="/mission/missionAction!singleListByPage.action?pcId=${pcId}"/>',”中,可以看到“missionAction”与其中的“singleListByPage”方法,在项目中使用Ctrl+H搜索“missionAction.xml”可以找到SpringStruts的配置文件;

②在Spring的配置文件中使用Ctrl+F搜索missionAction”可以找到其所对应的表现层"com.zxt.wggl.mission.action.MissionAction",按住Ctrl后单击可跳转到此Action中;

③在此Action搜索singleListByPage”方法可找到其业务层接口“IMissionService”与其返回值null,因此页面不跳转;

④同理在“url:<c:url value="/mission/missionAction!toBatchAllot.action?sampleId=' + id + '"/>”中,使用同样方法可在对应的Action中搜索toBatchAllot”方法可找到其业务层接口“IDptManageService”与其返回值“batchAllot”,返回到Struts的配置文件中可看到batchAllot”所对应的页面时“/wggl/mission/misTree.jsp”,因此当toBatchAllot”方法的返回值是batchAllot”时页面将跳转到/wggl/mission/misTree.jsp”。

以上就是我对SSH模式初学的一点看法,希望各位批评指正。

0 0