词条 | jspx.net |
释义 | 简介一套开源的 java 平台 web构架,体积小巧,使用模板制作页面。标准的(html+css+javascript) UI方式。 丢掉了jsp编译的烦恼和使用tag的麻烦, 完整的架构体系,包括了ui、ioc、cache、连接池、验证、模板、数据库查询更新等更能和完整代码。配置和使用上类似ssh构架,但体积更小,功能不弱,b/s,c/s 构架都可以使用.为了提高易用性,学习和使用上没有使用特殊技术,语言上只使用了标准的 java 和javascript,模板标签类似freemaker(将非XML标准的Freemaker改为标准的XML标签)模板语言引擎使用javascript,所以对于ssh有一定了解的人很容易上手.完整的构架结构,包含了数据库到页面显示的繁多功能,支持分布式事务支持,hsession 远程调用等。 特点1.设计上尽量使用jdk内置库,尽量不使用第三方库。2M不到的包实现了大部分ssh的功能.想想ssh里边的各种jar包上100M的恐怖.在来看看这个构架,你会感觉如此轻盈。 2. sober简化了数据库的使用,避免了hibernate 的映射查询和映射后的查询的陷阱.提高开发速度,不提高难道。 3. 模板页面更方便调试,而且MVC分离.提供了dw的搭建插件.开发方便.比普通的jsp更容易安装,运行不需要编译。.保证了构架的清晰并使用标准的html+css+javascript方式配合模板输出,页面干净整洁。 4. javascript在服务器和客户端映射执行,一次代码定义,可以服务器和浏览器两头验证.并且可以绑定到数据库保存验证。将ui验证、服务器验证和数据库验证合为一体。 5. web UI使用mootools库,如果使用压缩gzip方式发布.一套ui的js代码在200k左右.实现了大部分的常用ui功能.其中包括表格,日历,切换标签,相册等。javascript库很多,可以任意选择搭配,默认提供一套简单的ui满足基本开发。 功能说明siocIOC容器,特点小型,快速,支持变量类型,所有bean 都是延时加载,配置直观.能够代理创建,也可以实现AOP。 txwebweb action 构架,很像xwork,但使用模版语言生成页面,XML方向请求载入变量,完全放弃jsp, 在页面显示前已经生成WEB页面,并且你可以得到要显示的HTML代码.且支持jdk1.5的标签配置跳转,也可象Struts2(webwork2)那样配置跳转,特点小,速度快.不需要编译. 并且提供了hsession 直接调用action的接口,能够方便是实现hsession 方式的分布式。action 名称支持通配符方式,可以实现类似resFull方式,但不能达到0配置。 内置了一个强大的上传组件(支持文件编码,支持flash方式上传,能个自动自动将中文文件名转换为拼音文件名,重复文件名能更具序号自增),request.session等直接使用,不像Struts2那么麻烦。 得到参数直接 getString('varName'), getInt('varName') 就可以得到, 如果要得到一个bean对象只需要 , BeanName bean= (BeanName) getBean(BeanName.class); 这样页面参数就已经放入bean里边了。参数传递非常方便。 sober 数据库ORM组件,支持jdk1.5的标签配置数据库映射,提供Amber,hibernate,ibatis 的部分优秀的查询方式和映射配置,尽量的保证jdbc高速度.细粒度控制cache。避免了hibernate的很多切点。 scriptmark一个类似Freemarker的模板语言,标签类似Freemarker,但更加标准化。使用javascript引擎。 标签例子: list________ <#list v=list> <li>${v.index}-${v}</li> </#list> if____________ <#if where=a=='11'> out:aaaaaaa <#else> out:bbbbbbbb </#else> </#if> date ______格式化输出 ${date.string('yyyy年MM月dd')} date ______格式化输出 ${date.string('yyyy年MM月dd')} mynum=12345____函数调用 ${mynum.toChineseCurrency()} ${mynum.toChineseNumber()} 结果:壹拾贰万叁仟肆佰伍拾陆圆整 一十二万三千四百五十六 结对值 ${-21321.abs()} 同类模板性能简单比较 测试环境:多线程并发,交叉模板方式测试, Freemaker 表现相当优秀,而网上一些朋友在单线程下比较,说得Freemaker很差是错误的,我在多线程,交叉模板方式下测试Freemaker 性能相当好, scriptMaker 在高压的时候约有优势,低压要弱一些。本测试没有使用io ,完全内存方式。 Freemaker 非常稳定,快,(但有缓存结果的嫌疑,有待验证),但要扩展功能不方便。 CommonTemplate:速度和稳定行的欠佳,多线程下容易错误,表达方式很丰富。 velocity: 运行很快, 多线程下容易错误,最快的是他,最容易出错的也是它,也许后边版本不会这样。 ScriptMark:稳定 速度在 Freemaker,velocity 之后,功能最丰富 smarty4j:稳定,单线程最快,多线程最慢的一个。 validator 验证,绑定在sober和txweb中使用 1.配置验证条件,和显示消息 例如:serialCode 字段名称,serialCodeMsg:html 里边div 显示的id <validation dataType="isLengthBetween(1,50)" field="serialCode" msgId="serialCodeMsg" needed="false"> <message>证书编号</message> <error>证书编号,没有填写</error> <success>验证通过</success> </validation> 2. sioc 中引入验证模块 <bean id="validator" class="com.jspx.txweb.support.ValidatorAction" singleton="false"> <string name="configFile">上边配置说保存的xml文件名称</string> </bean> 3. 页面中引入javascript new Request.Validator("validator.${suffix}", "上边配置所在表单ID"); jspxpool一个高并发连接池,使用jdk1.5新特性实现,处理了其他连接池不太注意的一些细节. 性能和稳定性都和c3p0有一比。路径和参数如下: <bean id="jspxDataSource" class="com.jspx.datasource.JspxDataSource" destroy="close" singleton="true"> <string name="driverClass">${driverClassName}</string> <string name="jdbcUrl"><![CDATA[${jdbcUrl}]]></string> <string name="user">${username}</string> <string name="password"><![CDATA[${password}]]></string> <int name="maxPoolSize">${maxPoolSize}</int> </bean> dreamweaver For jspx 提供的一套dw8-10 的开发插件,后缀名ftl, 安装方法解压后覆盖相应的版本既可。 jmaker 开发java工具IDEA 的一个插件,能够自动生成这个构架的bean,DAO,action.view和配置,减少开发人员的工作量。 项目开始于2005年 2007 年开始开源 2010年 项目已经成熟 系统代码都使用最新的技术,所以JDK必须在1.6以上 推荐组合: 1. jdk1.6 + tomcat6.x + mysql 5.x 2. jdk1.6 + resin 3.x以上 + postgresql 8.4 以上 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。