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重新安装后,启动成功. 虽然很乌龙,但是下次再也不随便升级系统了,太坑爹了
随机推荐
- ubuntu搭建交叉编译环境makeinfo: command not found
解决办法:sudo apt-get install texinfo
- bzoj3307雨天的尾巴(权值线段树合并/DSU on tree)
题目大意: 一颗树,想要在树链上添加同一物品,问最后每个点上哪个物品最多. 解题思路: 1.线段树合并 假如说物品数量少到可以暴力添加,且树点极少,我们怎么做. 首先在一个树节点上标记出哪些物品有多少 ...
- 005 python 整数类型/字符串类型/列表类型/可变/不可变
可变/不可变类型 可变类型 ID不变的情况下,值改变,则称之为可变类型,如列表,字典 不可变类型 值改变,ID改变,则称之为不可变类型,如 整数 字符串,元组 整数类型 int 正整数 用途就是记录年 ...
- ActiveMQ学习总结(6)——ActiveMQ集成Spring和Log4j实现异步日志
我的团队和我正在创建一个由一组RESTful JSON服务组成的服务平台,该平台中的每个服务在平台中的作用就是分别提供一些独特的功能和/或数据.由于平台中产生的日志四散各处,所以我们想,要是能将这些日 ...
- CSU1660: K-Cycle
Description A simple cycle is a closed simple path, with no other repeated vertices or edges other t ...
- graphicview和widgets没本质区别。它只是更轻量级,更灵活,性能更高的widgets
graphicview和widgets没本质区别.它只是更轻量级,更灵活,性能更高的widgets.核心就是把widgets变成了更轻量级的graphicitem,把QWidget的各种事件转换成了g ...
- [置顶]
WebService学习总结(1)——WebService相关概念
一.序言 大家或多或少都听过 WebService(Web服务),有一段时间很多计算机期刊.书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成 分.但是不得不承认的是W ...
- stm32关于.o的错误
是因为没有加入官方库的原因,而且编译出错之后不能跳转到那里.
- Altium Designer画异型焊盘的步骤
注:如果要画的是过孔,就需要加入底层的
- [React Intl] Render Content with Placeholders using react-intl FormattedMessage
Learn how to use react-intl to set dynamic values into your language messages. We’ll also learn how ...