`
duanaiguo
  • 浏览: 2799 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
阅读更多

jws-jpt 项目地址 http://code.google.com/p/jws-jpt/  简单说就是一傻瓜型开发环境+模板,带有传说中的CRUD功能及COC零配置,做企业管理系统足够了,更远的什么osgi啦,分布式啦,soa啦暂不考虑,文档在整理中。

 

  J (java) W (web) S (studio)是一个集成、绿色、简洁的开发环境。JWS通过集成 maven2, ant, eclipse 使开发环境变成全绿色,甚至jdk都无需安装。这样开发团队就可以通过直接拷贝JWS实现开发环境的统一配置,缩短了项目的启动周期,方便了团队新成员的加入。由于JWS只是通过批处理使用所集成工具的核心功能,所以可看作是这些工具的最小组合,避免了由于安装大量插件造成IDE臃肿庞大、启动慢、配置复杂等问题。通过自定义maven插件实现的代码生成操作,灵活方便可扩展。JWS已经历3个内部稳定版本,支持Java代码的编译、打包、调试、执行等,目前只有WIN32下的批处理脚本,随后会增加LINUX下的。

 

  J (java&javascript) P (project) T (template)是一个maven项目模板。通过优化组合Spring2, Struts2, IBATIS, Acegi Security, Freemarker, urlrewrite, JSON, JST, jQuery等优秀开源项目实现Web应用快速开发。通过模板生成的代码包含了基本的CRUD操作及客户端&服务端校验,规范了什么代码应该写在哪里,一切基于简单约定,无需任何配置。

 

  可以下载 jws-jpt默认生成的mytest项目 快速预览jws-jpt效果,下载后解压 mytest.rar,在<解压目录>/src/main/webapp/下是静态页面,同时也是DEMO,浏览 index.html 可以看到生成的功能,静态页面展示的与实际启动了Web服务器的效果完全一致,区别只在于静态页面的数据是写在.json文件中模拟数据。分页功能是默认都有的,mytest中只有用户信息的模拟数据符合分页条件,所以静态页面中只有在用户管理中可以看到分页控制。 Firefox下浏览静态页面会由于ajax的安全限制看不到效果,请使用IE6以上浏览器。注意不要阻止本地javascript的执行

 

JPT所能解决的开发问题

 

  • 客户端与服务端全解耦,使得静态DEMO挂上服务端就是实际系统,100%保证DEMO的完全重用,即最初的DEMO即是最终客户端,而模拟数据即是数据库设计的原型;
  • Web与HTTP全解耦,使得更容易与非Web程序兼容;
  • DAO与业务逻辑全解耦,真正体现D-A-O的实际职责。通过动态注入技术使得Service只在需要时才需添加;
  • 完全意义的COC零配置,默认的配置几乎可以适用所有的逻辑,非常特殊的逻辑亦可单独配置;
  • Freemarker与IBATIS的结合,简单而全面地封装了数据库差异,全面支持不同类型数据库,极大提高了SQL的重用程度;
  • 类似REST的URL驱动的开发模式保证增加一个功能要做的只是“确定一个URL”“写几个模型或叫VO类”“写几个静态页面”“写几条SQL语句”,而这些又都可以用自定义的maven插件从数据库或xml自动生成;
  • 只需客户端技术和SQL技术即可完成绝大部分的应用逻辑,降低了对团队成员的技术要求,使任务更容易分配;
  • 由数据库结构生成的默认代码,保证开发的规范性和代码结构的一致性;
  • 只写真正需要的代码,全面平衡三层架构各层逻辑分布,去除各层之间传递性调用的尴尬;
  • 优化组合spring2, struts2, ibatis, freemarker, acegi, urlrewite, json, jst, jquery等优秀开源技术,全面提高系统的兼容性和可扩展性;
  • 默认实现了基于acegi security的用户管理,其中的资源缓存思想参考了springside,在此向其团队成员致敬。
分享到:
评论
31 楼 jasph77 2008-09-02  
duanaiguo 写道
未曾关注过spring-security 2.0,不了解他的特性,有时间会了解下

最近关注spring-security 中,发现2.0进步了不少.
30 楼 angeltping 2008-06-27  
有不有文档介绍哦?楼主发出来赛,学习学习,比如说我们怎么扩展!
29 楼 duanaiguo 2008-06-26  
未曾关注过spring-security 2.0,不了解他的特性,有时间会了解下
28 楼 ealpha 2008-06-25  
建议把acegi升到 spring-security 2.0
27 楼 lims 2008-06-25  
说实话,写得挺乱,没什么意义
26 楼 duanaiguo 2008-06-25  
1、表的命名规则主要用来自动生成代码,具体规则是写在test/resources/lib/global.js中,可根据具体需要修改此默认规则。
2、<项目目录>/bin/package.bat可以打包。
3、executeByEntityName用于根据实体模型调用具体service中的方法,例如保存User时需要处理缓存,UserManagerImpl中只是写了saveUser方法,而没有覆盖基类的save方法,executeBy开头的方法就是用来调用类似saveUser这样的方法的。当调用UserManagerImpl的save方法,传递User对象时,实际调用的是saveUser,而传的参数是其他模型对象时,依然使用的是基类的save逻辑。这样可以保证基类中的既有方法可用于其他模型对象。
25 楼 duanaiguo 2008-06-25  
谢谢楼上朋友提醒,应该在urlrewrite中把.action过滤掉的,后面我会加上的。
24 楼 stevenmo 2008-06-25  
资源管理这块 表面看来是应该控制 pages下面的各个模块  但实际取数是对应server下pages各个模块json 更或是直接输入 后缀名为action的url  难控制啊
23 楼 stevenmo 2008-06-25  
全部研究了下代码  可以解释下数据库的表为啥规定死以 t_开头 s结尾呢? 并且表名或字段中间不允许有 下划线出现 其次 这项目怎么打成一个完整的war包方便在其它服务器使用  basemanager类下有executeByEntityName这些方法  目的何在?
22 楼 duanaiguo 2008-06-25  
配置文件是很多,但那些是固定的,具体项目中不需要配置的。树形菜单可以参看静态页面中的实现,静态页面中演示了如何使用jquery.SimpleTree实现树形菜单,由于具体子菜单数据格式依赖你实现中使用的客户端树脚本,所以一般需要根据情况定制,本身项目中可能已经用到了树,要是jpt中再加一个树,会造成代码混乱,所以建议是自己根据需要使用合适的客户端树,取数据可以使用json,jsp,freemarker
21 楼 angeltping 2008-06-25  
我把这个项目搞起运行起了,感觉其实配置还是很多,不过简单应用不行啊,菜单怎么不能树形添加啊啊
20 楼 sphenx 2008-06-25  
williamy 写道
xellos 写道
duanaiguo 写道
因为公司不需要养那么多的所谓高手了,而且靠加人就能加快项目进度。


有人吭哧吭哧干活,加人就可以加快进度,就可以不要高手了吗?
言下之意,公司养着高手的目的,是让他跟一般人一样,吭哧吭哧干活用的吗?


降低风险的方法有二:   一:加班,二:加人   总结为一:加钱


老兄,加班和加人不能降低风险,只能增加不可控因素。这个问题有很多大家阐述过了,建议看看《人月神话》。加钱有用的前提是,钱加在了正确的地方,不然就只是烧钱了。
19 楼 wushexu 2008-06-25  
漂亮。我喜欢模板技术。有空研究研究
18 楼 duanaiguo 2008-06-24  
感谢大家的关注,最近一周在封闭做项目,基本上开发模式是一个业务很熟的朋友总结业务相关sql,其他人做页面及相关sql实现,到目前为止,项目基本完成,未写一行java代码。当然这种情形不是普遍的,正好这个项目属于事务型操作。做的过程中又添加了一些以前未考虑的情形。忽然想到一句“文人相轻”,是不是我们程序员也有类似思想呢。相信大家都有很多不错的积累代码或思想,我不过把自己的一些想法共享一下,希望对大家有所帮助。这个框架对事务型操作比较适合,提供了sql串联执行,效果与存储过程有点类似,屏蔽流行框架的复杂配置,页面可以用纯客户端或jsp或freemarker实现,降低入门门槛。
17 楼 williamy 2008-06-24  
xellos 写道
duanaiguo 写道
因为公司不需要养那么多的所谓高手了,而且靠加人就能加快项目进度。


有人吭哧吭哧干活,加人就可以加快进度,就可以不要高手了吗?
言下之意,公司养着高手的目的,是让他跟一般人一样,吭哧吭哧干活用的吗?


降低风险的方法有二:   一:加班,二:加人   总结为一:加钱
16 楼 jeekchen 2008-06-24  
感觉不错啊
15 楼 sphenx 2008-06-24  
看上去挺不错的。软件的发展趋势一直是从低级到高级的封装,从效率低下的看法方式向效率高的开发方式转变的过程。熟悉底层有助于开发更强壮的系统,也有利于解决系统的问题,但如果总是追求以低级的方式开发软件,显然是生产效率低下,不符合软件发展的大趋势的。

顶楼主。
14 楼 chenyongxin 2008-06-23  
对于一个大型项目来说,高手和普通程序员缺一不可,否则在好的框架都可能被做的乱七八糟。
13 楼 yecllsl 2008-06-23  
jasph77 写道
首先自己要有一个想法,有自己的实现的思路,然后找一个具体实现的框架,等你熟悉了这个框架,去读框架的源码,按自己的思路去再去实现一个适合自己的框架。

当我还不知道IOC是个什么的时候,就已经按照IOC的思想去写代码(长久coding的经验)

后来无意中知道了IOC这个概念,豁然开朗,原来如此。于是开始想试着尝试写一个IOC框架,实现了一个非常简陋的IOC框架。

又有一天,无意中发现spring这个好东西,原来世界上还有怎么好的一个东西。花了一天时间,就把系统非常平滑的移植到了spring框架上。

现在试着去读spring框架的源码,等时机成熟了,如果有必要的自己改造或自己写一个spring框架

不管什么框架,一定要思想现行。


时间长了会发现自己的很多想法、解决方案和大师级的想法是一致的(当然是看到这样的思想之前的想法),是大师善于总结,并付诸于实践,而且通常是第一个。
12 楼 jasph77 2008-06-22  
首先自己要有一个想法,有自己的实现的思路,然后找一个具体实现的框架,等你熟悉了这个框架,去读框架的源码,按自己的思路去再去实现一个适合自己的框架。

当我还不知道IOC是个什么的时候,就已经按照IOC的思想去写代码(长久coding的经验)

后来无意中知道了IOC这个概念,豁然开朗,原来如此。于是开始想试着尝试写一个IOC框架,实现了一个非常简陋的IOC框架。

又有一天,无意中发现spring这个好东西,原来世界上还有怎么好的一个东西。花了一天时间,就把系统非常平滑的移植到了spring框架上。

现在试着去读spring框架的源码,等时机成熟了,如果有必要的自己改造或自己写一个spring框架

不管什么框架,一定要思想现行。

相关推荐

    jakarta.jws-api-2.1.0.zip

    标题中的"jakarta.jws-api-2.1.0.zip"是一个包含Jakarta JWS API 2.1.0版本的压缩文件。Jakarta JWS(Java Web Services)API是用于构建和部署Java Web服务的重要组件,它是Java平台标准版(Java SE)和企业版(Java...

    javax.jws-3.1.1-b01.jar

    项目中缺少jws的jar包可以通过导入jar包的方式进行使用,下载该jar包导入到项目中。积分是csdn设置的太高了,如果想要直接私信我,我发你。

    axis2-jws-api-1.4.1.jar

    官方版本,亲测可用

    jws-1.6.1环境安装包

    这个"jws-1.6.1环境安装包"显然是一个包含JWS 1.6.1版本所需组件的压缩文件,便于用户在本地计算机上快速建立运行Java Web Start应用的环境。 JWS的核心功能在于它允许用户通过浏览器启动和运行Java应用程序,而...

    axis2-jws-api-1.3.jar

    官方版本,亲测可用

    PyPI 官网下载 | jws-0.1.3.tar.gz

    标题中的"PyPI 官网下载 | jws-0.1.3.tar.gz"表明这是一个在Python Package Index(PyPI)上发布的软件包,名为"jws",版本为0.1.3,且文件格式为tar.gz。PyPI是Python社区官方的第三方软件包仓库,开发者可以在这里...

    jws-api.jar

    还在为找不到jar文件烦心吗,不用了到我空间来有你想要的,持续更新。。。 jws-api.jar

    jws-webservice 的发布

    在这个场景中,"jws-webservice 的发布"指的是利用JWS技术来发布一个Web服务,使得其他应用程序可以通过网络调用这个服务的功能。我们将深入探讨服务端和客户端的实现过程。 1. **服务端发布** - **JWS服务端的...

    node-jws-jwk:向 node-jws 添加(一些)对 JWK 的支持

    节点-jws-jwk 这基本上只是增强,以便secretOrKey可以是或一组 。 安装 $ npm install jws-jwk 例子 var jws = require ( 'jws-jwk' ) ; var signature = getJWSFromSomwhere ( ) ; var jwk = { kid : '1234' , ...

    axis2-jws-api-1.4-sources.jar

    官方版本,亲测可用

    axis2-jws-api-1.4.1-sources.jar

    官方版本,亲测可用

    axis2-jws-api-1.4.jar

    官方版本,亲测可用

    jakarta.jws-api-2.1.0.jar

    javaweb/javaEE常用jar包,亲测可用,导入到java工程中使用

    webServices教程(JWS-Java)(图文介绍)

    本​文​主​要​是​简​介​了​几​种​w​e​b​s​e​r​v​i​c​e​s​技​术​,​并​以​j​w​s​技​术​创​建​w​e​b​s​e​r​v​i​c​e​s​,​创​建​过​程​有​图​有​解​释​,​容​易​...

    JWS jar包和测试程序

    Java Web Service (JWS) 是Java平台上的一个技术,它允许开发者创建和部署Web服务。在本场景中,"JWS jar包"指的是用于支持JWS开发和运行的Java类库。`edu.mit.jwi` 和 `edu.sussex.nlp.jws.beta.11` 是两个特定的...

    jws-http2-h2spec-test-embedded:嵌入式tomcat用于使用h2spec测试jws服务器

    标题中的“jws-http2-h2spec-test-embedded”是一个项目名称,暗示了这个项目的主要目的是测试基于HTTP/2协议的JWS(Java Web Services)服务器。H2Spec是一个用于验证HTTP/2实现的规范测试套件,它遵循RFC 7540标准...

    webService JWS实现方式

    而"jws-service-provide.rar"则可能包含服务端的实现,包括服务接口定义和服务实现的Java类,以及可能的部署配置文件。 学习JWS,你需要理解上述的技术概念,并实践如何创建服务接口,实现服务逻辑,发布服务,以及...

    开发基于JWS的webservice并通过jun-jaxws发布所需的jar包

    Java Web Service (JWS) 是一种使用Java技术构建Web服务的方法,它允许应用程序通过网络提供和使用服务。在本场景中,"开发基于JWS的webservice并通过jun-jaxws发布所需的jar包"指的是利用Java API for XML Web ...

    org.liveSense.framework.gxt-1.0.5.zip

    【压缩包子文件的文件名称列表】"org.liveSense.fragment.javax.jws-jre-1.6-master" 暗示了这个子文件可能包含了org.liveSense.fragment.javax.jws-jre-1.6项目的主分支代码。在Git等版本控制系统中,"master"通常...

    jws.rar_JWS_java jws

    Java Web Start(JWS)是Java平台上的一种技术,主要用于便捷地分发和运行基于Java的桌面应用程序。这个“jws.rar”压缩包看起来是一个学习资源,帮助初学者了解如何使用JWS来部署和运行Java应用。让我们深入了解...

Global site tag (gtag.js) - Google Analytics