SSH
Ssh为 struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。在此专栏中,对每一个框架都作了细致的学习总结,欢迎大家一起交流。
好好生活_
这个作者很懒,什么都没留下…
展开
-
Spring系列之J2EE开发的春天
Spring框架,现在来说,我们并不陌生了。但对于其理论知识还是比较薄弱的,被问到一个名词,并不能很好地去解释,只是三言两语,结果还是没有说到位。从本篇博客开始,将对Spring框架做一系列总结,点滴积累。 在介绍Spring框架之前,我们先回顾一下之前接触过的代码,如果不用Spring框架,我们是如何去实现层与层之间的调用关系。下面做个小实例,项目的目录结构如下: 简单地分原创 2016-07-11 07:37:18 · 3144 阅读 · 11 评论 -
Spring系列之简单的应用实例
【回顾】 在上篇博客中,我们对Spring框架做了很细致的了解。从博客开头的实例中,我们知道了,没有使用Spring框架,就需要自己在应用程序中去写实例化对象的代码。现在,我们就看看使用了Spring框架,可以给我们带来怎样的便利。 【应用】 整个项目的目录不需要改变,只需要添加对应的jar包(spring.jar/log4j.jar/commons-loggin原创 2016-07-14 07:15:20 · 1424 阅读 · 11 评论 -
Spring系列之IOC
【回顾】 通过前两篇博客,我们对Spring框架的理论和应用都有了一定的了解,也知道了Spring的核心是IOC,本篇博客将对IOC作进一步的学习。 Spring帮助我们更简单地实现功能,在于它的使用,可以让我们不必自己去创建所需要的对象实例,它包揽了此项工作,给我们提供了一个容器。我们只需要把东西放进去就好。 【问题】 IOC(Inversion原创 2016-07-19 08:15:23 · 1279 阅读 · 46 评论 -
Spring系列之核心容器
【回顾】 在上篇博客中,我们清楚了Spring的核心IOC,博客的结尾,提出了关于容器的问题。在Spring框架中,容器扮演者重要的角色。容器是什么?Java容器?Spring容器?这几个词,大家都很熟悉,但真正知道么?本篇博客的重点分析Spring中的核心容器。容器和Java容器不做详细介绍。 【容器】 容器,从字面角度很容易理解,就是用来贮藏东西的。从计算机的角度,...原创 2016-07-22 07:56:35 · 12652 阅读 · 13 评论 -
Spring系列之对Bean的认识
【回顾】 在上篇博客中,我们认识了Spring的核心容器:BeanFactory和ApplicationContext。正是因为它们,才能帮助我们主动创建对象。在Spring容器中,还有另外一个必定出现的词——Bean。 对于我们而言,我们使用Spring框架所做的就是两件事:开发Bean、配置Bean。对于Spring框架来说,它要做的就是根据配置文件来创建Bean实例,并调原创 2016-07-25 17:15:45 · 945 阅读 · 20 评论 -
Spring系列之Java代理机制实现AOP
【回顾】 在之前的学习中,我们对Spring框架有了一个宏观认识,并且深入分析学习了它的核心内容IOC。从这篇博客,将开始对其另一个重要思想的实现展开学习,那就是AOP。 【前言】 AOP的意思是面向切面编程,英文全称是Aspect Oriented Programming,它是开发人员可以更好地将本不应该耦合在一起的功能分离开。 【内容】 一.认识原创 2016-07-27 13:26:38 · 911 阅读 · 20 评论 -
Spring系列之AOP的关键概念
上篇博客我们了解了什么是AOP,AOP的思想,以及Java代理机制对AOP思想的实现。本篇博客将进入AOP的概念学习,这些概念并不是Spring所特有的,但要真正理解AOP,理解这一系列概念是必须的。 正常来说,应用程序的结构是纵向的,会执行一系列方法的调用,而AOP(面向切面编程)思想,则关注的是应用程序的横向结构。所以会有下面一系列概念: 1.横切性关注点(Cross Cu原创 2016-08-02 14:34:57 · 915 阅读 · 6 评论 -
Spring系列之不同方式对AOP的实现
【回顾】 上篇博客,我们了解了AOP的相关概念,本篇博客,将介绍Annotation(注解)和静态配置文件两种方式实现AOP,从而让我们更加清楚AOP相关概念对应的代码。下面我们还是从示意图出发,一点点挖掘。 【Annotation(注解)方式】 1. Spring依赖包配置 * spring.jar * log4j.jar原创 2016-08-02 14:47:18 · 691 阅读 · 6 评论 -
Spring系列之事务处理
事务处理在应用程序中起着至关重要的作用。本篇博客将进入Spring的事务处理学习。下面,首先我们来简单回想一下与事务有关的一些概念。【事务】 所谓事务,就是一系列必须成功的操作,只要有一步操作失败,所以其他步骤都将要撤销。当所有的步骤都执行完成后,则该事务提交成功。由于操作中的某一个步骤失败,导致所有的步骤都没有提交,则事务必须回滚,即回到事务前的状态。【Spring事务概述】原创 2016-08-03 19:29:14 · 709 阅读 · 6 评论 -
Spring系列之与Struts的集成
【回顾】 在之前Spring事务处理中,我们学习了如何将Spring与Hibernate集成,实现事务处理。本篇博客,将介绍Spring与Struts的集成。【集成示意图】 如何将Spring与Struts集成,看下面的示意图就很容易理解了: 集成原理:在Struts流程的基础上,从Action中取得BeanFactory,通过BeanFactory取原创 2016-08-04 17:09:52 · 811 阅读 · 9 评论 -
Struts,迈向java的大门
Struts是学习轻量级的J2EE框架必须了解的一个框架,它的各种优点使得它成为了目前最流行的三个框架之一。它实现了MVC模式,本篇博客主要对Struts所实现的MVC流程以及如何配置进行简单介绍。 【Struts的流程】 上图是Struts完整的一个业务流程图。下面针对上面的流程,做一些说明。 (1)第1步,一般情况下,用户所有的以do结尾的请求都原创 2016-05-28 21:28:07 · 898 阅读 · 13 评论 -
Struts2,继续java之旅
在上篇博客中,用Struts1实现了一个登录实例,本篇博客,继续java之旅,用Struts2继续实现简单的登录实例,即:登录成功,跳转至成功页面;登录失败,跳转至失败页面。 【实现步骤】 1.创建web项目 2.引入Struts2的依赖包,将依赖包拷贝到WEB-INF/lib下 * commons-fileupload-原创 2016-06-08 18:52:00 · 717 阅读 · 12 评论 -
Struts2,工作原理
Struts2的工作原理,如下面的图所示,这其中有很多值得去挖掘学习的东西。 本篇博客就从这张图出发,一步步来介绍一下工作流程的核心步骤。本图流程是从HttpServletRequest对象开始。所以很容易想到需要先实例化出对象。 1. 客户端初始化一个指向Servlet容器,如tomcat,发出请求,实例化HttpServletRequest和HttpServletRes原创 2016-07-06 16:47:28 · 683 阅读 · 8 评论 -
【Hibernate】概述
【回顾】 在之前的一段时间,我们详细学习了SSH经典框架中的Struts和Spring,本篇博客,将开始Hibernate的学习,主要是对Hibernate框架的一个概述。【前言】 在Java发展的初级阶段,直接调用JDBC几乎是数据库访问的唯一手段。但随着设计思想和java技术本身的进步与发展,出现了许多JDBC的封装技术,这些技术为我们的数据库访问层实现提供了更原创 2016-08-10 22:47:25 · 827 阅读 · 10 评论 -
【Hibernate】简单应用实例
【回顾】 在上篇博客中,我们对Hibernate有了一个宏观认识,它是一个比较经典的持久层框架,给我们的开发带来了很大的优势。本篇博客,就开始从实例出发,继续学习Hibernate。【环境搭建】 1. 建立java项目。它不像Struts需要建立Web Project,它不需要容器支持,普通的项目就可以。 2. 引入jar包。包括:Hibernate li原创 2016-08-11 23:05:34 · 2633 阅读 · 12 评论 -
【Hibernate】基础语义
【回顾】 在上篇博客中,我们通过简单地保存用户数据实例,学习了如何进行Hibernate配置,从而建立实体类与数据库表的映射关系,在不用写执行语句的情况下,实现对数据库表的操作。 本篇博客,将回到Hibernate的具体配置,了解一下配置中的一些基础语义。【基础】1. Configuration Configuration类负责管理Hibernat原创 2016-08-16 22:39:46 · 630 阅读 · 15 评论 -
【Hibernate】持久化对象的三种状态
【回顾】 上篇博客,进一步对Hibernate的基础语义做了简单的总结。主要包括Configuration、SessionFactory和session,并且熟悉了如何进行简单的CRUD(增删改查)操作。【前言】 本篇博客的内容是持久化对象中的三种状态,即:瞬时对象(Transient Objects)、持久化对象(Persist Objects)和离线对象(Deta原创 2016-08-25 23:42:00 · 1022 阅读 · 18 评论 -
【Hibernate】基本映射
【回顾】 本篇博客开始,我们将学习的视线转移到“映射”。【映射定义(Mapping Declaration)】 对象和关系数据库之间的映射通常是用一个XML文档(XML document)来定义的。这个映射文档被设计为易读的, 并且可以手工修改。映射语言是以Java为中心,这意味着映射文档是按照持久化类的定义来创建的, 而非表的定义。 下面,同样从原创 2016-08-28 13:04:11 · 587 阅读 · 14 评论