王朝百科
分享
 
 
 

jspx.net

王朝百科·作者佚名  2011-05-17  
宽屏版  字体: |||超大  

简介一套开源的 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 以上

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格&#8203;十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有