Java SSH框架学习(入门)

SSH就是 struts+spring+hibernate 的一个集成框架,是java中一种流行的JAVA WEB 应用程序开源框架。因为我最熟悉的还是ASP.NET的的MVC和Python的Django框架,今天有必要学习下java 的流行框架SSH,其实作为WEB应用的整体框架,我发现其中有很多类似的地方,比如这里的Struts就是Django中的Views层+模板层的一个前台数据填充模块,而spring 就是连接Struts和Hibernate 的中间业务逻辑层,但是这在Django中已经被划分到views中去了,最后的Hibernate 就是典型的数据库映射层嘛,这一点和Django的models 层有相似之处,就是没有Django的简化,下面是看了篇博客然后总结的:

Struts

这是的java 基于Sun J2EE 平台的MVC框架,主要是采用 Servlet 和 JSP 技术来实现的。

官方地址:http://struts.apache.org

Spring

解决许多J2EE开发中常见的问题的框架,Spring提供了管理业务对象的一致性方法并且鼓励面向接口编程而不是对类编程,Spring架构的基础是基于JavaBean属性的Inersion of Control容器,String提供了唯一的数据访问抽象,包括简单和有效的JDBC框架,String 结合Hibernate和其他的O/R mapping 解决方案等。

官方地址:spring: http://www.springsource.org

Hibernate

他是一个开源的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java 程序员可以随心所欲的使用对象编程思维来操控数据库,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

官方地址:http://www.hibernate.org

在SSH的组合模式中,三者各自的作用

Struts 是一个很好的MVC框架,主要技术是Servlet 和Jsp.Struts的MVC设计模式可以使我们的逻辑变得很清晰,让程序变得层次分明(类似于Django中的Views层)。

Spring提供了管理业务对象的一致化方法,并且鼓励对接口编程而不是对类编程,这样在很大程度上松解了耦合(已经被融入到Views层中了)。

Hibernate 是用来持久化数据的,提供全面的面向对象的数据库操作,Hibernate 对JDBC进行了非常轻量级的封装,这样和数据库打交道就容易多了(类似于Django 中的models层)。

其中很多没说的,直接看看SSH架构图吧:

Struts负责的是web层:

ActionFormBean接收网页中表单提交的数据,然后通过Action进行处理,再Forward到对应的网页中,在Struts-config.xml中定义<action-mapping>,这样ActionServlet会加载进来。

Spring负责的是业务逻辑层,即Service:

Service为Action提供统一的调用接口,封装持久层的DAO,并且集成了Hibernate ,Spring可对JavaBean(对象)和事物进行统一的管理。

Hibernate负责持久层,完成数据库的CRUD操作:

Hibernate有一组hbm.xml和PO,是数据库中的对应的表相对应的,然后定义DAO,这些是与数据库打交道的类。(直接就是复杂化的Models层)

下面是SSH中的对象调用流程图:

主要的数据流路径是:Struts->Spring->Hibernate(JSP->Action->Service->DAO->Hibernate)

转载地址:http://blog.csdn.net/l_f0rm4t3d/article/details/23956247

时间: 2024-10-14 00:18:34

Java SSH框架学习(入门)的相关文章

Spring.NET依赖注入框架学习--入门

Spring.NET依赖注入框架学习--入门 在学些Spring.net框架之前,有必要先脑补一点知识,比如什么是依赖注入?IOC又是什么?控制反转又是什么意思?它们与Spring.net又有什么关系 带着问题,我们一起来看看下面内容(适合刚刚学习或者对依赖注入还太懂的小神看---大神直接飘过) 对以上几个问题都滚瓜烂熟的直接跳下一篇 这里我找到一篇我认为比较好的博文   原地址:http://www.cnblogs.com/jhli/p/6019895.html ---感谢博主分享 1. Io

JAVA SSH 框架介绍

SSH 为 struts+spring+hibernate 的一个集成框架,是目前较流行的一种JAVA Web应用程序开源框架. Struts Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的.由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注.Struts把Servlet.JSP.自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套M

Java集合框架学习笔记之集合与Collection API

一.CollectionAPI 集合是一系列对象的聚集(Collection).集合在程序设计中是一种重要的数据接口.Java中提供了有关集合的类库称为CollectionAPI. 集合实际上是用一个对象代表一组对象,在集合中的每个对象称为一个元素.在集合中的各个元素的具体类型可以不同,但一般说来,它们都是由相同的类派生出来的(而这一点并不难做到,因为Java中的所有类都是Object的子类).在从集合中检索出各个元素是,常常要根据其具体类型不同而进行相应的强制类型转换. Collection

java SSH框架详解(面试和学习都是最好的收藏资料)

Java—SSH(MVC)1. 谈谈你mvc的理解MVC是Model—View—Controler的简称.即模型—视图—控制器.MVC是一种设计模式,它强制性的把应用程序的输入.处理和输出分开.MVC中的模型.视图.控制器它们分别担负着不同的任务.视图: 视图是用户看到并与之交互的界面.视图向用户显示相关的数据,并接受用户的输入.视图不进行任何业务逻辑处理.模型: 模型表示业务数据和业务处理.相当于JavaBean.一个模型能为多个视图提供数据.这提高了应用程序的重用性控制器: 当用户单击Web

黑马程序员——JAVA集合框架学习总结

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- www.itheima.com 要学好java的集合框架,必须掌握此图: Java集合框架很全面,从大的来说.它包括两种类型: 1.一种是以collection为根接口的集合. 2.另一种是由map为根接口的<key,value>的“图”. 而collection之下的set接口和list接口又有不同: 1.Set 接口继承 Collection,但不允许重复,使用自己内部的一个排列机制.

黑马程序员------Java集合框架学习总结

Java培训.Android培训.iOS培训..Net培训.期待您的交流 一.综述 所有集合类都位于java.util包下.集合中只能保存对象(保存对象的引用变量).(数组既可以保存基本类型的数据也可以保存对象). Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些接口或实现类. 二.Collection接口 Collction: List:有序(元素存入集合的顺序和取出的顺序一致),元素都有索引.

Java SSH框架系列:用户登录模块的设计与实现思路

时间 2014-01-19 16:14:54  CSDN博客原文  http://blog.csdn.net/nupt123456789/article/details/18504615 1.简介 用户登录模块,指的是根据用户输入的用户名和密码,对用户的身份进行验证等.如果用户没有登录,用户就无法访问其他的一些jsp页面,甚至是action都不能访问. 二.简单设计及实现 本程序是基于Java的SSH框架进行的. 1.数据库设计 我们应该设计一个用户表,其Userinfo表,对应的SQL语句为(

SSH框架学习之 -- structs部分(1)

Structs在SSH框架中负责控制层,是基于MVA开发设计模式的一个开源框架,它主要由三部分组成: 1.表单对象类(~Form.java),继承了ActionForm类,为数据Model. 2.用于处理请求的动作类(~Action.java),继承Action类,为控制器. 3.Structs配置文件(structs-config.xml) ,分对完成对ActionForm类和Action类的关联等配置. 表单对象类(~Form.java) 该类是用于保存请求表单中的参数,该类继承Action

Java集合框架学习(一)List

先附一张Java集合框架图. 从上面的集合框架图可以看到,Java集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射.Collection接口又有3种子类型,List.Set和Queue,再下面是一些抽象类,最后是具体实现类,常用的有ArrayList.LinkedList.HashSet.LinkedHashSet.HashMap.LinkedHashMap等等.(ps:带虚线边框的都是接口不能直接使用) Collect