SSH 为 struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架.本文主要针对初学者讲解了此部分内容.读者本文适用于初学SSH人员。预备知识学习本教程之前强烈建议你先熟悉一下,j2se、jsp。致谢内容撰写:http://blog.csdn.net/column/details/myssh.html作者:刘水镜版本信息书中演示代码基于以下版本:框架版本信息struts2.
Spring是SSH中的管理员,负责管理其它框架,协调各个部分的工作。今天一起学习一下Spring的事务管理。Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分。
什么是拦截器拦截器(Interceptor)是Struts 2的一个强有力的工具,有许多功能都是构建于它之上,如国际化(前两篇博客介绍过)、转换器,校验等。拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行。同时也是提供了一种可以提取action中可重用的部分的方式。
只要做过WEB开发人对于“404”已经再熟悉不过了吧。当我们访问的资源不存在时,它就会跑出来跟你打招呼啦。但是默认情况下,404页面比较简陋,不是很友好。而且一般用户不知道404是个神马东东,还以为是程序写的有问题呢。这样一来用户体验就打折扣了。所以通常情况下,我们都需要对这些常见的错误进行处理。
前面说完了Spring、Hibernate,很自然今天轮到struts了。struts的核心原理就是通过拦截器来处理客户端的请求,经过拦截器一系列的处理后,再交给Action。
在使用Hibernate的时候,我们通常都会用的Configuration、SessionFactory、Session、Transaction、Query和Criteria等接口。通过这些接口可以,不仅可以存储与取出持久化对象,还可以对事务进行管理。
Session的save()方法用来将一个临时对象转变为持久化对象,也就是将一个新的实体保存到数据库中。通过save()将持久化对象保存到数据库需要经过以下步骤:1系统根据指定的ID生成策略,为临时对象生成一个唯一的OID;2将临时对象加载到缓存中,使之变成持久化对象;3提交事务时,清理缓存,利用持久化对象包含的信息生成insert语句,将持久化对象保存到数据库。
前面写了几篇关于SSH的博客,但不是Struts就是Spring,Hibernate还从来没写过呢。说好是SSH的,怎么可以光写那两个,而不写Hibernate呢对吧。今天就先说说Hibernate对象的三种状态,Hibernate对象有三种状态,分别是:临时态(Transient)、 持久态(Persistent)、游离态(Detached)。临时状态:是指从对象通过new语句创建到被持久化之前的状态,此时对象不在Session的缓存中。
Struts、Hibernate、Spring这类的框架给我们开发带来非常大的好处,让我们更加快速、有效的开发。所以我们在开发中通常都会用到各种框架,每个框架都有很多jar包,每个jar都有各自不同的功能。开发不同的功能用到的jar也不尽相同,所以当我们用到相关框架的时候,并不是把它所有的jar都引入系统。那么怎么确定自己将会用到框架中的哪些jar包呢?
上传文件在一个系统当中是一个很常用的功能,也是一个比较重要的功能。今天我们就一起来学习一下Struts2如何上传文件。今天讲的上传文件的方式有三种:1以字节为单位传输文件;2Struts2封装的一种方式;3以字符的方式传输文件。其实这三种方式都差不多,都是将文件先从客户端一临时文件的形式,传输到服务器的临时文件夹下,然后在将该临时文件复制到我们要上传的目录。
国际化(internationalization,i18n)和本地化(localization,l10n)指让产品(出版物,软件,硬件等)能够适应非本地环境,特别是其他的语言和文化。程序在不修改内部代码的情况下,能根据不同语言及地区显示相应的界面。国际化原理:国际化资源文件:用不同国家的语言描述相同的信息,并放在各自对应的.properties属性文件中,程序根据运行时环境决定加载哪个文件。
小知识:SSH 其实是 Secure Shell 的缩写,SSH 为建立在应用层和传输层基础上的安全协议。SSH 框架为 struts+spring+hibernate 的一个集成框架,是目前较流行的一种Web应用程序开源框架。后者太过流行而导致目前人们提及 SSH 就想到它是一个集成框架。下图是 SSH 框架的系统架构图本书从综合应用的角度给你讲述不一样的 SSH 开发之路。课程入口
关注时代Java