Backbone技术解析

Backbone是一款前端MVC框架,对于前段开发人员,将会产生很多的便利,使得我们的前端代码更容易维护;但是无可否认,使用Backbone进行前端开发无疑增加了前端开发人员的工作量,因为了解并熟悉Backbone的机制是需要时间的。不过清晰的代码逻辑、高维护性依然使得很多项目采用了Backbone框架,对于稍微大一点的项目,前端业务逻辑可能比较复杂,代码组织可能比代码实现更加重要。

使用RequireJS实现异步加载脚本

关于Require的使用

因为 javascript 天生的缺点,语言本身没有集成命名空间的概念,所以变量名、函数名很容易发生冲突。大家想尽了各种办法,给 js 添加命名空间的概念,其中最成熟的套路,就是 RequireJS 这种。

总之,RequireJS 定义了(define)一个命名空间,在定义的时候,顺便引用了需要使用其他命名空间。我们注意到,按照 RequireJS 的术语,它把命名空间叫做“模块”。注意,在这里,RequireJS 定义的模块(命名空间)是匿名的,没有取名,这是和c#不同的地方。

但这个不要紧,因为其他 js 在用到你这个 js 的时候,一般是根据文件名称加载的,同时可以通过上面的 xx 这种方式,给模块(命名空间)自定义别名,所以,取不取名,还真不是关键。

基于Spring实现用户权限管理

很多系统都会有多重系统角色,并且每个角色的权限都是不一样的,进行权限管理是一件非常复杂的事情,我这里只是对方法进行权限管理,将权限跟API一一对应起来,如果对这和API没有权限,就无法使用该API,当然这种方法级别的权限管理,范围还是太大,有待进一步细化。

具体的原理就是:使用权限码,假设我的使用的是128位的权限码,那都能设置128种方法的权限,如果需要更多,可以继续加。每一个API方法都对应唯一一个权限码,即当前位是1其余位都是0;每一个用户拥有一个128为的权限集,如果当前位对应1的话,就说明该用户可以操作这个API,否则就是无权限。

防止表单重复提交

用表单进行文件上传的过程中,比较容易发生的就是重复提交,这样会造成很多无效的数据,为此,我的项目中加入了防止重复提交机制。防止重复提交的原理就是,在页面生成的时候,后台会为页面生成一个token,前端在上传的时候将token值传给后台,后台实现上传后就会销毁token,如果前端还是用token来上传,就会被判定是重复提交。具体步骤和实现如下:

定义SpringMVC注解

Hibernate和Mybatis的分页功能实现

持久层实现分页功能

分页功能在很多场合都会使用,比如如果有很多的资料,不分页的话网页效率将会堪忧, 用户体验也不好,分页功能有效缓解大数据的压力,这里所讲分页功能,主要是对数据库中的结构化数据而言的。

持久层框架我用过两种:HibernateMybatis 。 这里将两种框架的分页功能进行实现。

持久框架Mybatis的应用

对于持久层框架,我们比较熟悉的是Hibernate,这是一款功能非常强大的持久框。除此之外,还有一款比较流行的框架 - Mybatis

什么是Mybatis?

mybatis是数据映射器(数据映射器层:用于在对象和数据库之间搬运数据,同时保证对象、数据库和数据映射器层本身相对独立。Martin Fowler 《企业应用架构模式》) mybatis不是直接把类映射为数据库表,而是把sql语句的参数与结果(即输入与输出)映射为类。为如何在类和数据库间建立映射带来了更大的灵活性。同时也更好的隔离了数据库设计和应用程序中使用的对象模型。

本站总访问量