阅读更多

6顶
1踩

编程语言

原创新闻 快速Web开发环境&模板jws-jpt1.0发布

2008-06-16 09:39 by 见习记者 duanaiguo 评论(9) 有6868人浏览

  昨日jws-jpt项目正式开源并发布1.0版本,jws-jpt以实用为目的,源码来源于作者实际项目环境,可直接用于现实项目。

 

  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,在此向其团队成员致敬。
6
1
评论 共 9 条 请登录后发表评论
9 楼 looxiaohu 2008-07-14 23:48
看你写jws-jpt 很想进一步了解,不知道怎么联系了
8 楼 笨鸟先飞 2008-06-27 14:43
不知道楼主有没有相关的使用文档啊
7 楼 笨鸟先飞 2008-06-18 10:53
看了字面介绍,就有下载下来研究的欲望,强烈支持!
6 楼 duanaiguo 2008-06-17 00:26
appfuse只是教给大家怎么用这些开源框架,秀的是技术。这个是一个实际的开发环境和项目,更多考虑的是让这些框架透明而又发挥他们的优势,以便于降低人员成本。我想让一个没学过计算机专业课甚至是文科学生,只上了半年的培训班的人来用appfuse难度可想而知。而用这个我可以两天让他记住规则,写个html培训班总会教吧,基本sql语句总该会吧。这样的人员成本不到2000块,但一样能和每月5000块的熟手作出一样的东西。
5 楼 hantsy 2008-06-16 23:22
说appfuse是花架子,springside提供了什么额外的功能?
4 楼 hantsy 2008-06-16 23:20
有了appfuse,这个有意义吗?
3 楼 duanaiguo 2008-06-16 15:44
bug肯定是难免的,但springside很多思想是值得学习的,acegi这块主要参考的是思想,至少springdide提供了个样例,代码自然会重构了,就像现在看appfuse觉得很多东西只是花架子,但当初刚出来的时候,也为不少人快速上手ssh提供了样例。
2 楼 icewubin 2008-06-16 13:20
大家注意,springside的acegi是有bug的,不知道有没有其他人碰到过。
症状是有个类,瞎用static变量,导致多用户访问时,权限数据相互乱窜了。
1 楼 fangsimple 2008-06-16 11:50
拉下来看了一下,实用价值比较高
o(∩_∩)o...

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • java复制文件的4种方式

    java复制文件的4种方式 java复制文件的4种方式 java复制文件的4种方式

  • Java文件复制多种方法

    java文件复制的方法有几种方式

  • java 文件拷贝的四种方式

    java 文件拷贝的四种方式

  • 【Java】实现文件复制的六种方式

    【Java】实现文件复制的六种方式

  • Java 实现文件复制及文件夹复制

    在Java中,有多种方法可以实现文件的复制。以下是几种常用的方式:使用字节流进行复制:通过FileInputStream和FileOutputStream分别创建源文件和目标文件的输入输出流,然后通过循环读取源文件内容,并将数据写入目标文件中进行复制。可以使用字节数组作为缓冲区,提高复制效率。需要手动处理流的打开、关闭和异常处理。使用字符流进行复制:通过FileReader和FileWriter分别创建源文件和目标文件的字符流,然后通过循环读取源文件内容,并将数据写入目标文件中进行复制。

  • java使用Files类提供的copy方法来快速复制文件

    在上面的代码中,首先创建了两个Path对象分别表示源文件和目标文件。然后调用Files类提供的copy方法进行文件复制。需要注意的是,如果目标文件已经存在,将会抛出FileAlreadyExistsException异常。在Java中可以使用Files类提供的copy方法来快速复制文件。1. 导入java.nio.file.Files类。2. 使用copy方法复制文件。

  • Spark DataSource API

    什么是Spark Datasource API Spark Datasource API 是一套连接外部数据源和Spark引擎的框架 它主要是给Spark框架提供一种快速读取外界数据的能力,它可以方便地把不同的数据格式通过DataSource API注册成Spark的表,然后通过Spark SQL直接读取。它可以充分利用Spark分布式的优点进行并发读取,而且SparkSQL本身有一个很好的Catalyst优化引擎,能够极大的加快任务的执行。 Spark Datasource API 同时提供了一套优化机制

  • java 复制文件_java复制文件的4种方式

    一、使用FileStreams复制这是最经典的方式将一个文件的内容复制到另一个文件中。 使用FileInputStream读取文件A的字节,使用FileOutputStream写入到文件B。 这是第一个方法的代码:1 private static voidcopyFileUsingFileStreams(File source, File dest)2 throwsIOExcept...

  • Java实现复制文件(文件、文件夹)

    Java复制文件主要是File工具类中`listFiles()`方法先列出文件夹中的文件, 然后使用`BufferedInputStream`缓冲输入流接收要复制的文件, 再用`BufferedOutputStream`缓冲输出流的`write()`方法写入文件

  • 用java实现拷贝目录以及目录下文件

    用java实现拷贝目录以及目录下文件 创建一个File对象 /也可以说是确定一个文件对象 File f1 = new File(“D:\file”); //就相当于获取了这个文件对象,不管这个对象是否真实存在。 对文件操作,所以方法里调用的都是File对象 如果方法中不加static,会报这个错误。但如果main方法声明里不加static,下面的方法里也不用加,不会报错。 非静态方法的FileCopy(java.io.File文件, java.io.File文件)无法

  • java实现文件拷贝

    java实现文件拷贝 java实现文件拷贝主要用到File类和FileinputStream和FileoutputStream方法 拷贝主体 要拷贝文件,就得有源文件和你要拷贝到的目标目录,这里我们可以设置两个参数:源文件:“File source”,要拷贝到的目标目录"File targetDir"。 首先先判断目标目录是否存在,若果不存在就创建它,这一步分别用exists()、mkdir()实现。 if (!targetDir.exists()) { targetDir.mkdirs();

  • java copyto_java将一个文件的图片(等)复制到另一个文件

    public class copyToFile{private int num = 0;//将一个文件的东西全部复制到另一个文件夹public boolean process() {//文件名后面加日期//Calendar calendar = Calendar.getInstance();//String dir = calendar.get(Calendar.YEAR) + "" + getT...

  • 文件复制Files.copy(source, target, options)

    发现了一个复制文件的源码自带的方法,比起流读写的方法更简单了 Files.copy(source, target, options) 源码部分 public static Path copy(Path source, Path target, CopyOption... options) throws IOException { ...

  • Copy-file-in-byte:Java学习中的小项目:使用字节流完成文件复制

    Copy-file-in-byte Java学习中的小项目:使用字节流完成文件复制 原理:读取一个已有的数据,并将这些读到的数据写入到另一个文件中。 步骤: 指定数据源:从指定的文件中复制数据; 指定目的地:把数据写入到指定的文件中; 从数据源中读数据; 把数据写到目的地中; 关闭流。

  • Java 实现文件拷贝

    文章目录案例: 原始实现, 未优化注意, 代码问题第一次改进内容第二次改进: 解决读取慢的问题核心代码方法代码, 以后使用最多的形式 案例: 原始实现, 未优化 package com.cwq.beyond; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import j

  • 用java实现文件拷贝

    用java实现文件拷贝的一个小程序,很实用的东西。

  • Java中实现复制文件或文件夹

    Java中实现复制文件或文件夹Java中实现复制文件或文件夹Java中实现复制文件或文件夹

Global site tag (gtag.js) - Google Analytics