ssh变身j2sh

来源:互联网 发布:淘宝卖家进货渠道 编辑:程序博客网 时间:2024/04/27 19:25
ssh大家很熟悉,就是struts + spring + hibernate框架的开发模式,现在非常流行。

j2sh是什么呢?它能给程序员带来什么好处呢?带着这两个疑问我们接着说明。

j2sh是本人的一个不太成熟的设想,它是由json(一种数据格式) + jqGrid(一个前端框架) + spring + hibernate。

这种数据格式与具体框架的组合,看起来似乎有点乱,不符合情理。其实可以这样说,程序员采用各种框架来做自己的项目,无非就是为了少写代码、功能齐全、维护方便。

入行3年多来,有无数次为了一个小小的需求,改动大量的代码,身陷痛苦之中。

关于j2sh这个组合开发模式,具体如下:
  1. hibernate负责查询与更新数据库资料,我们都知道hibernate的做法,一个table对应一个实体javaBean(实体类),再对应一个dao,还有一个配置文件。这些对应的对象都可以通过开发工具自动生成,对程序员来说很方便。
  2. json数据格式,在j2sh中json是前后端通讯的桥梁,所有的通讯都将通过该数据格式传输。为什么要通过它来传输呢?json是javasript原生支持的一种数据格式,javasript不用通过任何插件就能很好的解析json格式数据。后端可以通过一个叫json-lib的开源框架把对应实体类(各table对应的javaBean)组合成json格式的字符串传送到前端页面,因为json是javascript原生支持的数据格式,前段可以很快速的把后端信息解析出来。
  3. jqGrid基于jquery的一个开源前端框架,该框架能接收json格式数据,并能很好的显示与操作数据。将最终的目的数据信息,在前端组合成json格式字符串,回传到后端。后端通过json-lib把json格式转换成实体类(各table对应的javaBean),调用hibernate的dao实现持久化。
  4. spring面向切面编程,用它能做一个很好的权限管控。web程序的安全问题一直存在,我认为最安全的权限管控,还是每个动作都去检查是否有权限,spring提供的代理将能帮助我们很好的实现权限管控。

上面介绍了j2sh核心工作流程,它跟ssh对比到底有那些好处呢?

struts的前后端交互,是通过表单来实现的,后端必须编写对应前端fromBean后手动取得对应的信息,然后在action中调用业务逻辑层的方法实现持久化。如果我有100个不同的页面,我至少要写100对应的fromBean和action类。如果是用j2sh的话,就不用写这些东西:前后端通讯是通过json格式数据,所以后端应该有一个将实体类组合成json的类,组合各实体类的时候,同时把类标示(比如:类名,只要能区分出是哪个实体类就ok)记录在json一并发送到前端页面;因为前端页面会将最终目标数据信息回传到后端,所以后端应该还有一个根据类标示解析并持久化前端页面回传回来的json格式数据的类。如果我现在还是有100个不同页面,我就不用写100对应的fromBean和action类了,因为这些都是由刚刚两个类根据类标示搞定。

更具体的实现,正在学习中,期待您的建议……


原创粉丝点击