com.github.jspxnet:jspx-framework

jspx framework


License
GPL-3.0

Documentation

#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中的这些缺点,并且更加适合作者使用。

##要解决的问题

  1. 高并发及高稳定性。本构在7x24小时,365天不停机环境下稳定运行。
  2. 去除重复的功能,相同功能组件中只选择最好的。例如上传,支持一个完美的就好,没必要支持一堆的上传控件。
  3. 模板语言生成界面。丢掉JSP和JSTL标签,避免重复太多,难记又难用。统一使用scriptmark模版语言。
  4. 数据库连接池,高并发性能,媲美c3p0,dbcp连接池,解决8小时问题和断线从连问题。
  5. JRWPoolDataSource + Sober支持分布式负载均衡和读写分离。
  6. 默认UTF-8为编码,这样实现多语言支持也较方便。同时可以自定义支持所需编码。
  7. 上传部分使用升级版的cos组件。内置这个版本上传组件支持缓存,多编码,限制大小,是否覆盖,拼音自动从命名,ajax上传状态返回,并且相当稳定。
  8. 配置和结构仿spring+struts2这样对于熟悉SSH构架的程序员容易学习,接口支持resetFull和传统模版页面方式两种。
  9. 持久层简单化hibernate的使用方式,及屏蔽了应用陷阱。采用hibernate,iBATIS和jdbc三种方式结合,并且提供了自动识别查询。
  10. 标签方式定义bean,自动创建数据库表结构,这样避免使用sql,达到数据库建表无需SQL脚本。
  11. 连接池部分内置一个高性能连接池,处理mysql的8小时问题,并且能够支持高并发,并且支持读写分离和负载均衡。
  12. 配置分两部分ioc和web转向,配置支持通配符和命名空间。支持继承访问,拦截器等功能。
  13. 框架不但能使用在B/S结构,也能够使用在应用软件中。
  14. 中文扩展支持。不需要在为中文处理发愁,提供繁简,拼音,中文数字等更加方便中文及国标化。
  15. 高伸缩性。能够方便的使用中租用空间,也能分布式部署使用在多台集群服务器上。
  16. 内置安全过滤验证功能,能够有效避免SQL注入漏洞。
  17. form提交验证。采用javascript方式,验证配置可以在服务器端和浏览器端运行。并且一直连通到数据库已嵌入到sober,能够很好的保证数据安全性。
  18. 整合常用接口应用。例如单点登录,用户信息,在线信息,附加码,tags分词,IP表和备选字典,用户,权限,树结构等。
  19. 提供的一套js UI库,提供常用的UI支持,目前多使用API接口前后端分离方式.
  20. 通过配置支持任意后缀名称。可以让隐藏后台环境信息,服务器配置灵活。
  21. 提供在线管理,权限配置,验证等常用功能,提高开发速度。
  22. API文档自动化,减少写文档的麻烦. 23.分布式调用集群支持,内置Netty的Tcp长连接RPC调用服务器,和hessian 的http RPC调用.

##主要特点

  • 快速:配置灵魂,高可伸缩性
  • 开源:开放源代码,高质量,高品质
  • 底层:使用jdk1.8原生库,最小依赖第三方基础库。
  • 扩展:基于插件的设计,所有功能都是插件,可根据需求增减功能,多应用可同服务.
  • 文档:文档自动生成API,运行时,不需要可以配置去掉
  • 系统: 支持window,linux, unix等多种平台,支持32位,64位系统

##适合群体

本框架不适合一无所知的未入门者,如果你还未步入编程的门槛,那么可以先学习一下,jsp,php的基本开发, 并且了解一下java的构架概念后在来学习。也不是那种通过点击就可以生成软件的开发工具。

本平台主要针对以下开发对者:

  1. 已有一定的基本开发能力,需要提高开发能力的开发人员
  2. 对现有构架标签过多,软件体积过大,结构复杂感到不满的开发人员
  3. 对构架要求较高性能,同时又追求灵活轻便的开发人员
  4. 希望jsp开发如同php一样简单方便,同时又具备java的强大
  5. 构架太多,不知道选择那个构架的开发人员,本构架都使用标准的开发体现,并不会干扰和限制你的技术
  6. 被java 的null异常,乱码,连接数老卡死这些繁琐问题搞得头大的程序员
  7. 目标宗旨就是让你脱离繁琐的技术,专注业务逻辑,简单快速的完成工作

##硬件部署

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 微调,稳定版本