阅读更多

6顶
1踩

编程语言

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

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

  昨日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实现文件拷贝

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

  • java 文件拷贝的四种方式

    java 文件拷贝的四种方式

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

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

  • JAVA 拷贝文件的几种方式

    闲话少叙,今天主要讲讲 JAVA 四种拷贝文件的方式,分析一下他们对内存使用的方式和各自应用的场景,其实也是对之前学过的知识做一个回顾吧,毕竟太久不回顾的话,记忆就像拼图,随着时间流逝就只剩下散落一地的碎片了。对于 JAVA 文件拷贝来说,本文只是展示和介绍了冰山一角,实际上对于读写流操作,操作系统的实现经过了长时间的演化,从CPU 中断到pagecache,从sendFile到DMA,以及网络传输过程中的bioniopoll和epoll,操作系统经过很多年的演化其中文件和网络的传输处理的复杂程度可想而知。

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

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

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

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

  • java文件处理(3)——实现文件复制和文件移动_java实现文件复制移动功能

    InputStream和OutputStream是抽象类,是所有字节输入流和输出流的父类。InputStream(输入流):输入流是用来读入数据的。(读入)OutputStream(输出流):输出流是用来写出数据的。(写出)

  • 第12讲 | Java有几种文件拷贝方式?哪一种最高效?

    在专栏上一讲提到,NIO 不止是多路复用,NIO 2 也不只是异步 IO,今天我们来看看 Java IO 体系中,其他不可忽略的部分。今天要问你的问题是,Java 有几种文件拷贝方式?哪一种最高效?

  • 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中文件操作大全

    一.获得控制台用户输入的信息/** *//**获得控制台用户输入的信息 * @return * @throws IOException */ public String getInputMessa...

  • 用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复制文件的4种方式

    为什么80%的码农都做不了架构师?&gt;&gt;&gt; ...

  • 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 { ...

  • 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实现文件复制

    代码实现复制文件 /*  * 编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad。  *  */ public class CopyFolder { public static void main(String[] args) throws IOException { // 封装d:\\java这个

Global site tag (gtag.js) - Google Analytics