论SSH框架 —— 一个狮子座程序员的大言不惭!SSH和Leopard深入对比 记得很多很多年前,在Java Web开发的世界里,SSH(Struts、Spring、Hibernate、)这个框架是很火的?火到什么程度呢?在当时你如果说不懂SSH,你都不好意思说你是搞Java Web发的。现在回想起来,这个框架实在是太过扯蛋!而且扯得蛋很疼!导致至今仍有很多很多Java Web开发者前扑后继的去学习这个架构!
我是一个写了很多年程序的老程序员,我对这个现象感到很痛心!仅仅是因为我们的程序员同学都太过依赖旧的技术,不愿与时俱进!
下面我们来分析SSH为什么会这么流行?又怎么样来改变这个现状?
Struts是MVC模式web框架公认的标准,在Spring还没有出来的时候。Struts已经很流行了,大大小小的web项目都使用struts进行开发,这为后来的SSH框架垫定了稳固的江山。
后来,Spring出来了,他宣传的是依懒注入和控制反转,把主要精力放到了如何在模块之间解耦上去了。很多框架师也确实认同Rod Johnson,纷纷也将Spring引入到了项目中去。而Hibernate在持久化上也确实做到了很成功,因此桃园结义就此拉开!SSH一个强大的框架,就此诞生!Struts 负责MVC,Spring负责解耦,Hibernate负责数据持久化,分工明确!各自在自己的地旁上呼风唤雨!
SSH这个框架,看似很好?但我却认为很复杂。为什么一个人能干好的活,非要交给三个人干呢?这里也许是包含各种历史原因,也许是因为太多的程序员的惰性思维。不管怎么样,我认为程序员应该创新,应该与时具进!
直到有一天,我看到了一个很牛逼的网站
http://leopard.io/。作者开发了一个叫作Leopard的框架。这个框架基于Spring开发,在Spring MVC、Spring JDBC上做了深入的封装,将困扰众多WEB开发者的问题,一一化解!
我深入研究了这个框架,并对SSH和Leopard进行了一个深入的对比:
SSH,我就用一句话来描述:使用了各框架之所长!
Leopard,我想深入列举一下:
WEB MVC功能 1、使用Spring MVC框架,在原有功能上封装了多个数据视图。比如有返回Json数据的视图、返回文本数据的视图、返回分页数据的视图、返回ftl数据的视图等等。
2、实现自定义关键参数(参见我的博客
http://wsppkdc.iteye.com/)。
3、对int、boolean、long型对象为空值时进行了转换。
4、实现智能登录验证扫描。
5、内置自定义拦截器,可实现自定义功能。
6、实现分布式session,开放自如。
7、实现自定义登录验证组件,开放验证接口支持自定义实现登录验证及登录界面。
8、实现防并发组件,可以在指定时间限制接口访问次数。
9、实现验证码组件,可支持多组验证码分组验证。
10、实现方法耗时监控、数据源(MySQL、Redis、Memcached等)请求统计。
11、实现CSRF、XSS安全漏洞防范。
以上web功能,开箱即用。不想用的时候,关闭即可。
持久化功能 1、封装Spring JDBC实现,Hibernate号称的方便牵移,我想已经毫无用武之地了。因为Leopard不仅仅在实现上做了工作,还在设计上给了建议。建议所有数据库操作均使用单表操作(如果你认为做不到,可以直接找作者帮忙,而且还是免费的,这使我对作者肃然起敬!!!)。
2、封装了Redis缓存实现,Hibernate的缓存,又被打趴了。
3、对JDBC、Redis配置连接池,仅仅一行标签搞定!
解耦功能 1、依然采用Spring的解耦功能。
其他组件 1、实现了Jetty热部署。这个是相当牛擦的,启动web应用。只要运行一个JettyTest类即可。而且支持热部署,改完代码不需要重启。
2、智能配置mvc resources,为了提高静态文件的访问速度。Leopard会自动将静态文件转换为Spring 的Resource,请求时不需要再进入Controller。
3、自定义标签,简化XML编写。
4、内置Tson数据结构简化Model构造,使单元测试编写变得相当简单。
5、开放可扩展接口。
6、制定开发规范,简化项目交结。
7、智能化日志配置。
8、....
太多太多的新玩艺了,还是自己上
http://leopard.io/上去看吧。作者已经将源码、示例代码全部开源出来了。我认为此框架值得学习,也许它将带来另一个春天!
分享到:
相关推荐
javaSSH框架——学生学籍管理系统.pdf
其中javascript向java类中传递值解决中文乱码问题是一个难点,该项目成功地解决了该问题。此外,组合查询时如何解决浏览器缓存也让我思考很久。希望它能够帮助到需要的人。另外,项目中的jar包是从官网下载最新后...
适用于初学者的SSH框架,一个注册登录的小例子。
(包括数据库,在项目里)前台做的比较简单,只加了框架和flash。后台代码有详细的注释,包含选课系统的课程项目设计报告。项目实现了学生查看个人信息、学生信息修改、选课、退选、国际化、分页、模糊查询功能。
很实用的SSH框架入门教程,推荐给有兴趣的朋友门!
SSH框架搭建示例、包含登录、分页功能! 详细描述请看博客!
ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh框架项目源码ssh...
NULL 博文链接:https://wxl1990721.iteye.com/blog/2000209
ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ssh 框架 ...
SSH框架搭建,带有登录注册实例,适合刚刚学习开发的java新手
一个最简单的SSH框架Struts 、 spring 、 Hibernate 在各层的作用 1 ) struts 负责 web 层 . ActionFormBean 接收网页中表单提交的数据,然后通过 Action 进行处理,再 Forward 到对应的网页。 在 struts-config...
ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ssh shhs ssh ...
SSH实例——电子拍卖系统
里面是SSH框架搭建登录的demo,清楚的描述了SSH框架搭建过程的各种配置,另附博客地址:http://blog.csdn.net/u010539352
Java SSH框架整合,分分钟学会!!
一个完整的SSH框架demo,适合正在开始学SSH框架的小伙伴
使用SSH框架,tomcat,myeclipse,sql server数据库
eclipse插件生成ssh框架和ssi框架
javaSSH框架javaSSH框架javaSSH框架javaSSH框架