
【SSH】
文章平均质量分 75
yuebinghaoyuan
记录工作生活中点点滴滴,思考丰富人生
展开
-
struts源于何方
当学习或工作时,有些同学会谈到熟悉struts、hibernate、spring等等框架,貌似熟悉这些框架是精通java的表现,但是我们应该首先弄明白为什么要学框架?是为了学习而学习?还是为了工作而学习? 就拿struts框架举例子,为什么要学习struts框架? 要了解struts框架,首先必须理解mvc是怎么回事?mvc又是如何冒出来的呢? 开始写程序的主要原创 2012-02-16 14:29:21 · 2641 阅读 · 18 评论 -
程序员进阶之道—快速理解设计
软件开发的流程:需求调研,架构设计,开发实现,测试以及后期的维护工作。 任何一个做过项目的人,无论专业或非专业程序猿都会接触以及熟知的流程。 在此声明,非专业程序猿,代指软件开发流程完全都是自己操作,自己设计,自己开发。 专业的程序猿,代指软件开发流程不是完全参与,而是参与其中一个环节。毕竟是程序猿嘛,开发实现肯定避免不了。别人设计,自己开发实现。原创 2012-06-07 08:14:16 · 2915 阅读 · 29 评论 -
程序员进阶之道—稳中求进
在做项目过程,出现一错误如下: Hibernate异常No row with thegiven identifier exists。 想必大家也能猜出其含义:不存在给出的标识符相对应的行。 这种错误经常出现在主外键关联的情况。 经过分析,本质的原因如下:外键值在主体表中不存在。因为外键值是要依赖主体表中的主键的。 比如:学生与班级的关系是多对一,根据数据库关系原创 2012-06-14 13:48:54 · 2380 阅读 · 10 评论 -
分析共享Spring配置数据源四种方式(附相应jar包)
使用spring框架时,平常你都使用那种数据源呢?本篇博客将分享spring常用的四种配置数据源方式。以下使用Oracle10g版本作为例子。第一种:使用spring自带的DriverManagerDataSource配置文件如下: <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="htt原创 2012-08-13 17:27:33 · 15780 阅读 · 32 评论 -
分析总结Spring管理Hibernate中Dao层访问数据库常用方式(附SSH的jar包)
上篇博客中已经讲解Spring配置数据源的常用的几种方式。接下来本篇博客继续讲解。配置完数据源,那Dao层是如何访问数据库呢?基于最近的项目使用SSH2框架完成,分析总结Spring与Hibernate集成后,Dao层访问数据库的常用的两种方式。至于为什么持久层用Hibernate框架?请参考我以前博客《Hibernate总结一》《Hibernate总结二》《Hibernate总结三》原创 2012-08-15 09:27:56 · 10385 阅读 · 14 评论 -
spring——控制反转
像前面博客中提到struts框架,Hibernate框架似的,spring同样也是一个开源的框架。使用框架的的优势在于分层结构,每层有相应的框架,减少开发工作量,减少组件之间的耦合。struts框架应用web层,Hibernate框架应用持久层,spring应用两者之间。 我觉得,框架是出于聪明的赖人之手。聪明是说他们开发封装每层框架,把复杂的操作全部封装在框架中。而赖人是说他所有复杂的操原创 2012-03-09 16:44:19 · 31756 阅读 · 15 评论 -
Struts中静态动态ActionForm的使用(一)
目录登录例子区别时间属性验证机制 在Struts1中,我们经常接触ActionForm为静态ActionForm。静态是指开发者在使用struts框架时必须写对应的ActionForm。 在介绍动态ActionForm使用之前,我们回忆struts常用的ActionForm的方式,以便做对比。 举个完整的登录例子。 第一原创 2013-02-18 11:31:25 · 3667 阅读 · 4 评论 -
struts静态动态ActionForm使用(二)—验证
目录登录例子区别时间属性验证机制 这篇博客主要介绍使用struts框架常用的验证方式。 第一种:重写ActionForm的validate方法。 在actionForm中需要验证的都是表单的验证而非业务的验证。比如用户名非空,密码为数字,日期为时间格式等等。在validate方法中,返回ActionErrors信息原创 2013-02-19 14:22:14 · 1897 阅读 · 0 评论 -
Hibernate的介绍
1.什么是Hibernate? 首先,Hibernate是数据持久层的一个轻量级框架。数据持久层的框架有很多比如:iBATIS,myBatis,Nhibernate,Siena等等。 并且Hibernate是一个开源的orm(object relations mapping)框架,提供了查询获取数据的方法,用面向对象的思想来操作数据库,节省了我们开发处理原创 2012-02-27 10:39:01 · 24997 阅读 · 7 评论 -
OO之间的大PK
原来在.NET项目中使用如下的架构图:以上的架构图就是一个简单的三层架构,可以在此添加接口层,这个暂时不考虑。单说以上的架构图,无论怎么看,也没有看出什么问题,并且从来也没有怀疑过此架构的设计,因为网上大多数以及自己的项目实践中都是这么操作的。 但是在接触java项目中,自己设计的架构图也是类似的,直接把.NET中的分层思想搬过来,结果被上司又一番说道。经过交流,发现确实上述的设计原创 2012-04-24 18:24:50 · 2887 阅读 · 45 评论 -
为什么用Spring来管理Hibernate?
为什么要用Hibernate框架?这个在《Hibernate介绍》博客中已经提到了。既然用Hibernate框架访问管理持久层,那为何又提到用Spring来管理以及整合Hibernate呢?首先我们来看一下Hibernate进行操作的步骤。比如添加用户的一个步骤。在上一篇博客中《八步详解Hibernate的搭建及使用》详细介绍到了Hibernate使用的步骤。以下的代码来自上篇博客,在此为原创 2012-04-06 08:34:47 · 23145 阅读 · 47 评论 -
struts总结
上两篇博客中分别介绍了struts框架引入的缘由以及struts如何实现mvc。其实struts实现mvc原理理解了,那么在表示层剩下的主要是actionForm,action以及配置。 这篇博客是主要是总结struts的应用。 1.struts标签库用于展示视图部分。像jstl一样,需要使用标签时,必须把头文件引进来。2.struts对国际化的支持。原创 2012-02-16 20:43:12 · 3477 阅读 · 15 评论 -
struts如何实现mvc
struts中核心类:ActionServlet,其中最主要的操作是RequestProcessor类中的process方法。上篇博客提到struts实现mvc的框架图:struts实现mvc的细粒度图如下:首先:Tomcat一启动,根据web.xml加载ActionServlet,读取struts配置文件中的struts-config中的配置读到内存。然后:根原创 2012-02-16 17:44:03 · 4171 阅读 · 10 评论 -
八步详解Hibernate的搭建及使用
上篇博客已经把Hibernate概念和其中的核心接口介绍,下面举个实例添加用户来介绍Hibernate如何使用。 1.创建普通的java项目。 因为Hibernate是一个轻量级的框架,不像servlet,还必须需要tomcat的支持,Hibernate只要jdk支持即可。 2.引入jar包。 可以在项目原创 2012-02-27 20:05:54 · 21140 阅读 · 14 评论 -
Hibernate总结(一)
看了大约十天的视频,从整体上了解一下hibernate,hibernate的优缺点以及如何搭建hibernate,在上篇博客中已经介绍。 目前在看ssh,但是具体的细节没有研究,只是从整体了解其出现的原因以及如何配置,但是里面涉及到细节部分,暂时不做研究,根据后期的学习,会进行深刻理解。 现在自己的java知识不够,这个阶段需要狂塞,猛汲取,整体上尽量消化。后期再对其进行研究细化。原创 2012-02-28 08:33:58 · 10325 阅读 · 15 评论 -
Hibernate总结(二)
5.测试工具Juit。测试类需要继承TestCase,编写单元测试方法,方法名称必须为test开头,方法没有参数没有返回值,采用public修饰。其中在测试中,查询对象时,使用get或者load两种方法进行加载,这种方法的区别:get不支持延迟加载,而load默认情况下是支持延迟加载。并且get查询对象不存在时,返回null;而load查询对象不存在时,则抛出ObjectNotFoundExc原创 2012-02-29 14:53:09 · 6166 阅读 · 10 评论 -
Hibernate总结(三)
8.hql查询。 Hibernate query language。hql查询中关键字不区分大小写,但是类和属性都是区分大小写的。 1.简单属性查询。 单一属性查询,返回属性结果集列表,元素类型和实体类的相应的类型一致。List students = session.createQuery("select name from Student").list();for原创 2012-02-29 19:48:39 · 6454 阅读 · 10 评论 -
Struts2实现单个文件上传的示例
Struts2并未提供自己的上传文件组件,但是Struts2却可以使用其他的上传文件组件,比如Commons-FileUpload,Cos等。即使不懂这些组件细节,我们依然可以正常使用,因为Struts2已经为这些组件封装好了接口,我们按照其规范实现即可。 本文介绍Struts2使用常用的Commons-FileUpload组件实现文件的上传。引入commons-fileupload.j原创 2012-03-26 16:58:45 · 3623 阅读 · 3 评论 -
Struts2实现多个文件上传的示例
上篇博客实现的是单个文件上传,这次实现多个文件上传。其中命名规范跟上篇博客一样。思路如下:多个文件上传,需要注入多个文件对象中,所以Action中定义多个文件,因此是定义文件数组。在这个实例中,我们应用List来实现。其实,在上传文件,无论是单个文件还是多个文件,就是从上传的临时文件或文件组(循环)读到本地中。因此,java的io基础是关键。遇到文件的读写,发现io流基础不牢固,回头又原创 2012-03-26 17:25:40 · 4005 阅读 · 10 评论 -
struts2下载文件错误提示误导——结果竟是中文乱码所致
在调试struts2文件下载时,提示错误如下:java.lang.IllegalArgumentException: Can not find a java.io.InputStream with the name [fileStream] in the invocation stack. Check the tag specified for this action. org.原创 2012-03-29 17:27:32 · 4005 阅读 · 7 评论 -
Spring切面管理日志
Spring切面管理日志 待续……原创 2013-03-31 21:39:47 · 2400 阅读 · 7 评论