xp2p系统的10点技术创新和经验总结
最近在开发完善九天鸟的xp2p系统,解决了很多技术问题,特此总结下。
第一个项目开发,非常重要,它对建立开发规范、团队协作、开发效率,有很重大的意义。
1.分页
前台AJAX异步分页,用咱们自己的fupage分页组件。简单、灵活、好定制、好维护。
前台Freemarker同步分页, 用Freemarker写自己的分页宏。
后台分页,实现Mybatis的拦截器,自动计算count。分页组件只关心分页,其它问题不再处理。职责过多,很难维护。
2.CMS系统
内置一套简洁够用的内容管理系统。
主要功能、内容、内容分类,内容分类可以直接是一个页面(这个功能非常有价值)。
3.权限系统
后台管理系统,内置一套简洁够用的权限分配系统。
用户和角色挂钩,角色和权限挂钩。
技术实现,拦截器、注解和权限菜单,在前台URL层面和后台方法层面都做了处理。
4.后台管理系统
权限菜单,根据用户权限自动生成。
右侧iframe,承载内容,局部刷新,方便嵌入到其他系统或页面中。
5.系统之间三种交互方式
WebService、JSON(JSONP) 、HTTP。
6.前端代码分离
HTML、CSS、JS尽可能分离。
部署时,可随时切换到CDN版本的CSS和JS,CSS和JS都经过压缩处理,JS可能会做混淆。
7.前端JS组件和代码简洁灵活
日期、对话框、布局,都采用业界知名的JS组件。
不使用extjs之类的大型的完整的解决方案,不够灵活。
8.参数可配置化
参数配置3种方式:启动时Tomcat配置、properties属性文件配置、后台管理修改。
9.代码工具化
JS代码、CSS样式、Java功能、短信发送、邮件发送等可以在项目内复用,或之后的项目复用。
开发架构和规范、开发流程、各种组件,都可以今后复用,从而提高效率。
10.分布式Session
用Cookie和Redis实现登录,单独的登录系统,可以共用。
更多精彩内容,请关注九天鸟官方博客、小雷FansUnion的空间、CSDN博客。
转载请注明:九天鸟官方博客 » xp2p系统的10点技术创新和经验总结
xp2p系统的10点技术创新和经验总结的更多相关文章
- CTO对话:云端融合下的移动技术创新
云端融合真的来了?快听CTO们怎么讲云端融合下,技术创新怎么破? 快听CTO箴言 云喊了很多年,对于很多普通的技术人,心中有很多疑问:云端融合到底意味着什么,对公司的技术体系有什么影响,未来又会走向 ...
- 共享业务稳定性测试&技术创新组
本文其实是一篇招聘贴,不管你以前是做开发还是测试,都欢迎加入我们的小组. 2014年阿里巴巴的共享业务事业部有很大变化,共享的测试团队也做了一些调整,我不再担任共享业务的测试经理,但是仍然会留在共享测 ...
- 你应该知道的2016年有关App开发的技术创新
上一篇简述了2016年有关App产品的年中总结,这篇开始历数有关App开发的技术创新!无论你是创业者,还是程序员,无论你是否懂编程.写代码,利用APICloud平台数据撰写的年中总结,集合了移动应用创 ...
- 《嵌入式系统原理与接口技术》——嵌入式系统接口应用基础
本文为我负责编写的电子工业出版社出版的<嵌入式系统原理与接口技术>一书第七章部分,这里整理的仍然是修改稿,供需要的同学参考,本书为普通高等教育"十二五"规划教材,电子信 ...
- 互联网DSP广告系统架构及关键技术解析
互联网DSP广告系统架构及关键技术解析 宿逆 关注 1.9 2017.10.09 17:05* 字数 8206 阅读 10271评论 2喜欢 60 广告和网络游戏是互联网企业主要的盈利模式 广告是广告 ...
- 进阶!基于CentOS7系统使用cobbler实现单台服务器批量自动化安装不同版本系统(week3_day5_part2)-技术流ken
前言 在上一篇博文<cobbler批量安装系统使用详解-技术流ken>中已经详细讲解了cobbler的使用以及安装,本篇博文将会使用单台cobbler实现自动化批量安装不同版本的操作系统. ...
- DSP广告系统架构及关键技术解析(转)
广告和网络游戏是互联网企业主要的盈利模式 广告是广告主通过媒体以尽可能低成本的方式与用户达成接触的商业行为.也就是说按照某种市场意图接触相应人群,影响其中潜在用户,使其选择广告主产品的几率增加,或对广 ...
- 从原理到场景 系统讲解 PHP 缓存技术
第1章课程介绍 此为PHP相关缓存技术的课堂,有哪些主流的缓存技术可以被使用? 第1章 课程介绍 1-1课程介绍1-2布置缓存的目的1-3合理使用缓存1-4哪些环节适合用缓存 第2章 文件类缓存 2- ...
- 更新mac系统到10.15后,virtual box虚拟机无法打开
更新mac系统到10.15后,virtual box虚拟机无法打开: 尝试解决方案1:下载最新版的virtual box重新安装后,启动成功. 虽然很乌龙,但是下次再也不随便升级系统了,太坑爹了
随机推荐
- NET Framework 4.5 有更加简便的方法 Task.Run()
NET Framework 4.5 有更加简便的方法 Task.Run()
- C#空值和null判断
一.空值判断效率 string s = ""; if(s == ""){} if(s == string.Empty){} if (string.IsNullO ...
- 让我们彻底看清MVC、MVP
这里開始记录下来自己对MVC.MVP.MVVM这三种框架模式的理解,本文从以下几个方面来梳理. 架构的目的 框架模式.设计模式 MVC设计的介绍 MVC在Android中的应用 MVC该怎样设计 MV ...
- [Javascript AST] 2. Introduction: Write a simple ESLint rule
What we want to do is checking if user write nested if statements which actually can combine to one: ...
- R语言-有负下标里才干有零
1.仅仅有负下标里才干有零 先看一个样例 >a<-c(1,2,3,4) >a[-1:1] > a[-1:1] Error in a[-1:1] : 仅仅有负下标里才干有零 (1 ...
- 10.static_extern
另一个文件声明 #include <iostream> using namespace std; ; void show() { cout << " << ...
- ORA-16014 ORA-00312
打开alert日志发现如下错误信息 Errors in file /oracle/app/oracle/admin/hncdfhq/bdump/hncdfhq_arc0_45285882.trc: O ...
- JS学习笔记 - fgm练习 - 限制输入框的字符类型 正则 和 || 或运算符的运用 i++和++i
<script> window.onload = function(){ var aInp = document.getElementsByTagName('input'); var oS ...
- valueof(), intvalue(0 parseint() 这三个方法怎么用
valueOf(int i) 返回一个表示指定的 int 值的 Integer 实例.valueOf(String s) 返回保存指定的 String 的值的 Integer 对象.valueOf(S ...
- iOS_03_关键字、标识符、注释
一.学习语法之前的提醒 1. C语言属于一门高级语言,其实,所有高级语言的基本语法组成部分都一样,只是表现形式不太一样. 2. 就好像亚洲人和非洲人,大家都有人类的结构:两只手.两只脚.一个头,只是他 ...