#Jspx Framework 6.x
##简介 一套开源的 Jspx Framework (简实构架)是一套开源的java一体化构架,丢掉了jsp编译的烦恼和使用tag的麻烦, 完整的架构体系,ioc、cache、连接池、验证、模板、DAO层,sqlmap封装,b/s,c/s ,分布式集群调用支持,为了提高易用性,学习和使用上没有使用特殊技术,语言上只使用了标准的 java 和javascript,模板语言呈现页面,支持读写分离等。支持resetFull和传统模板呈现页面。其中融入了很多作者开发软件碰到的问题解决方法。 是替代sping cloud构架的的一套解决方案。
##仓库地址
<dependency>
<groupId>com.github.jspxnet</groupId>
<artifactId>jspx-framework</artifactId>
<version>6.24</version>
</dependency>
##6.x
6.x 以替代 sping cloud 构架
##参考手册 http://www.jspx.net/help
##名称说明
- 请大家不要以为是jspx,jspx是一个来自于埃及的java web快速开发框架。本构架和它没一点关系,而且本框架在它之前就已经开发了。
- 后边有个.net也和C#没一点关系,本构架开发之初.net才开始发布。
- 名称里边的x表示:jsp的扩展性,并且劲量遵循xml标准。
- 名称里边的.net表示:以web和网络研究为主的一套框架。
- 本框架不是一个傻瓜式的构架,在本构架的开发过程中一直在寻求,简化和效率的结合点,故而考虑得比较灵活。
- sping cloud 能实现的功能,本构架基本都很实现,各有侧重
##历史前言
长期的软件项目开发中,碰到很多零散的技术问题和全局规划结构不统一等问题。国外软件开发工程师将这些问题的解决方案及设计 融入到构架中来统一解决,例如
- Spring J2EE集合结构综合框架
- Struts Web MVC框架后改为web work2 框架
- Hibernate 持久层框架,处理数据库相关工作
- JSF Web事件驱动的、基于组件的模型框架
- Spring cloud restfull
构架虽然多但遗憾的是,各个公司和机构开发的构建功能重叠,使用上陷阱太多。而且中国内使用存在很多水土不服的问题。 一个框架使用越简单就会越笨重,性能也相对会更差,越灵活的框架,性能就更好,但工作量也就会更多,这也是就一个统一和对立的矛盾关系。 许多项目使用SSH构架,初期感觉很不错,但到后期沉余太多,性能低下,资源浪费,部署不方便和调整困难等问题,逐渐被放弃。 转投更加适合的框架。Jspx Framework就是这时期诞生的,要解决框架和java中的这些缺点,并且更加适合作者使用。
##要解决的问题
- 高并发及高稳定性。本构在7x24小时,365天不停机环境下稳定运行。
- 去除重复的功能,相同功能组件中只选择最好的。例如上传,支持一个完美的就好,没必要支持一堆的上传控件。
- 模板语言生成界面。丢掉JSP和JSTL标签,避免重复太多,难记又难用。统一使用scriptmark模版语言。
- 数据库连接池,高并发性能,媲美c3p0,dbcp连接池,解决8小时问题和断线从连问题。
- JRWPoolDataSource + Sober支持分布式负载均衡和读写分离。
- 默认UTF-8为编码,这样实现多语言支持也较方便。同时可以自定义支持所需编码。
- 上传部分使用升级版的cos组件。内置这个版本上传组件支持缓存,多编码,限制大小,是否覆盖,拼音自动从命名,ajax上传状态返回,并且相当稳定。
- 配置和结构仿spring+struts2这样对于熟悉SSH构架的程序员容易学习,接口支持resetFull和传统模版页面方式两种。
- 持久层简单化hibernate的使用方式,及屏蔽了应用陷阱。采用hibernate,iBATIS和jdbc三种方式结合,并且提供了自动识别查询。
- 标签方式定义bean,自动创建数据库表结构,这样避免使用sql,达到数据库建表无需SQL脚本。
- 连接池部分内置一个高性能连接池,处理mysql的8小时问题,并且能够支持高并发,并且支持读写分离和负载均衡。
- 配置分两部分ioc和web转向,配置支持通配符和命名空间。支持继承访问,拦截器等功能。
- 框架不但能使用在B/S结构,也能够使用在应用软件中。
- 中文扩展支持。不需要在为中文处理发愁,提供繁简,拼音,中文数字等更加方便中文及国标化。
- 高伸缩性。能够方便的使用中租用空间,也能分布式部署使用在多台集群服务器上。
- 内置安全过滤验证功能,能够有效避免SQL注入漏洞。
- form提交验证。采用javascript方式,验证配置可以在服务器端和浏览器端运行。并且一直连通到数据库已嵌入到sober,能够很好的保证数据安全性。
- 整合常用接口应用。例如单点登录,用户信息,在线信息,附加码,tags分词,IP表和备选字典,用户,权限,树结构等。
- 提供的一套js UI库,提供常用的UI支持,目前多使用API接口前后端分离方式.
- 通过配置支持任意后缀名称。可以让隐藏后台环境信息,服务器配置灵活。
- 提供在线管理,权限配置,验证等常用功能,提高开发速度。
- API文档自动化,减少写文档的麻烦. 23.分布式调用集群支持,内置Netty的Tcp长连接RPC调用服务器,和hessian 的http RPC调用.
##主要特点
- 快速:配置灵魂,高可伸缩性
- 开源:开放源代码,高质量,高品质
- 底层:使用jdk1.8原生库,最小依赖第三方基础库。
- 扩展:基于插件的设计,所有功能都是插件,可根据需求增减功能,多应用可同服务.
- 文档:文档自动生成API,运行时,不需要可以配置去掉
- 系统: 支持window,linux, unix等多种平台,支持32位,64位系统
##适合群体
本框架不适合一无所知的未入门者,如果你还未步入编程的门槛,那么可以先学习一下,jsp,php的基本开发, 并且了解一下java的构架概念后在来学习。也不是那种通过点击就可以生成软件的开发工具。
本平台主要针对以下开发对者:
- 已有一定的基本开发能力,需要提高开发能力的开发人员
- 对现有构架标签过多,软件体积过大,结构复杂感到不满的开发人员
- 对构架要求较高性能,同时又追求灵活轻便的开发人员
- 希望jsp开发如同php一样简单方便,同时又具备java的强大
- 构架太多,不知道选择那个构架的开发人员,本构架都使用标准的开发体现,并不会干扰和限制你的技术
- 被java 的null异常,乱码,连接数老卡死这些繁琐问题搞得头大的程序员
- 目标宗旨就是让你脱离繁琐的技术,专注业务逻辑,简单快速的完成工作
##硬件部署
6.x 版本 只要满足租用空间可用内存512M内存以上,JDK版本 1.8版本以上就可以。
##发展历程
- 2007年09月:Jspx.net Framework 1.0 发布
- 2008年07月:Jspx.net Framework 2.0 发布
- 2010年06月:Jspx.net Framework 3.5 发布
- 2011年05月:Jspx.net Framework 4.0 发布
- 2012年11月:Jspx.net Framework 4.9 发布,基本达到设计目标
- 2013年07月:Jspx.net Framework 5.0 发布,正式发布开发文档
- 2014年08月:Jspx.net Framework 5.4 发布,TXWeb正式支持ROC协议,同时简版兼容安卓
- 2015年04月:Jspx.net Framework 5.5 发布,配置统一化,界面组件化,开发规范化
- 2016年11月:Jspx.net Framework 5.6 发布,更新jdk1.8支持,调整在线管理部分,优化
- 2018年11月:Jspx.net Framework 5.8 发布,分布式接口调整
- 2019年11月:Jspx.net Framework 6.0 发布,精简,转向maven工程方式.resetFull,roc,redis 支持增强
- 2020年3月:Jspx.net Framework 6.x 发布,泛型支持升级,标签标准化,API自动文档完善,服务间调用签名标准化,id生成算法优化
- 2020年5月:Jspx.net Framework 6.5 发布,修复多个bug,优化权限管理方式支持动态配置,稳定版本
- 2020年7月:Jspx.net Framework 6.6-6.11 发布,添加tcp和http RPC调用支持,可以使用注释方式,tcp方式支持多服务器集群调用,http方式可以使用代理服务器集群,bug修复
- 2020年8月:Jspx.net Framework 6.11-6.16 性能,内存占用优化,修复多线程返回bug问题,bug版本
- 2020年9月:Jspx.net Framework 6.17 规范代码
- 2020年9月:Jspx.net Framework 6.18-22 稳定版本,调整上传支持云盘
- 2020年10月:Jspx.net Framework 6.23 添加SqlMap注释,支持查询,调整用户支持来源
- 2020年11月:Jspx.net Framework 6.24 微调,稳定版本