一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Java

DbVisualizer

数据库管理工具 基本内容 DbVisualizer是一个完全基于JDBC的跨平台数据库管理工具,内置SQL语句编辑器(支持语法高亮),凡是具有JDBC数据库接口的数据库都可以管理,已经在Oracle, Sybase, DB2, MySQL, InstantDB, Cloudcape, HyperSonic ,Mimer SQL上通过测试。 DbVisualizer常见问题解答:http://database.ctocio.com.cn/tips/484/7625484.shtml DbVisualizer是一款涉及到所有主要数据库且基于交叉平台上的援助与维护数据库工具。它允许通过JDBC的驱动同时连接各种不同的数据库;立刻指向并浏览数据库结构,观看数据库对象的详细特征,图解桌面数据、任意的SQL声明或SQL脚本,利用逆向工程图示出primary/foreign的键值,并以先进的图表方式显示出来,友好的图形界面接口与各种特色的独特组合,足以值得您去收藏一份。 DbVisualizer 是一个功能强大Java工具,用来同时查看一个或者多个JDBC击活的数据库。它可以以图形的方式显示表单之间的关系。它可以显示关于数据项、关键字等信息。使用SQL命令,还可以执行所有的SQL语句。 个人版和免费版本相比,个人版有以下功能扩展: #编辑表格数据。 #支持表格/索引创建。 #SQL脚本执行。 #多个结果集合管理。 #数据图表化。 #BLOB/CLOB数据管理。 #浏览存储步骤等。 DbVisualizer的管理方式确实比phpMyAdmin会强一些,特别是可以轻松生成E-R图并导出,确实是不错的软件,现在只有英文版,DbVisualizer中文版还没有出,期待中文版。 DbVisualizer使用JAVA开发的,目前拿他来做Oracle、MySQL、PostgreSQL甚至包括 MS SQL Server 数据库管理都是一件非常轻松的事情。 新版本已经集成了JDBC 的jar包,所以在安装6.0版本时要选中JDBC 的jar包,不然在创建与数据库连接时无法连接的。 这是我在偶然间找到的一个软件,它是使用JAVA开发的,可以这么说,只要有 JDBC 的驱动包,可以连接市面上所有的数据库。目前经我测试,已经连接上 Oracle、SyBase、MySQL、PostgreSQL。 破解方法: Unpack, Install.       Copy cracked files from /iNViSiBLE dir to           installdir\lib         Run app, go to Help > License Key     and select supplied license file.     http://baike.soso.com/v26476145.htm

龙生   11 Apr 2013
View Details

使用 Eclipse 调试 Java 程序的 10 个技巧

你应该看过一些如《关于调试的N件事》这类很流行的帖子 。假设我每天花费1小时在调试我的应用程序上的话,那累积起来的话也是很大量的时间。由于这个原因,用这些时间来重视并了解所有使我们调试更方便的功能。那能为你省下一些时间,也将会使你的生活更安逸、轻松。同时也表明其它关于此主题的帖子也是很有价值的。 第1条:不要调试太多 一个关于调试的疯狂声明作为开头。但它必须是要说的!尝试切分一下你那复杂的逻辑成多个独立的单元,并编写单元测试来检测你代码的正确性。我想像如下这样的流程应该是发生得非常频繁的—-一些人通过大型web应用程序点击、填写多个表单、切换到不同的页面、正在最后的页面上检测工个计算逻辑和实现这个调试视图中的大部分逻辑。在启动你的tomcat之前总是问你自己:有没有方法使用一个单元测试来检测这些行为?你在过去这些时间可以不知道或已忘记这些,但从现在开始,我们将要关注一些eclipse的调试技巧,你会发现有大量的关于良好代码设计的好东西。 zhouao翻译于 2天前 0人顶 顶 翻译的不错哦! – 断点视图 : 条件断点 如果你只对应用中的某部分感兴趣的话,这个功能非常有用。例如,如果你要在第13次循环的时候检查程序,或者在一个抽象父类中调试某些功能,而你只关注其中一个具体的实现。你可以在断点视图中设置条件,或者通过代码旁边的蓝色断点标记的右键菜单("Breakpoint Properties")设置。你可以在条件代码片段为true的时候暂停程序,或者当代码片段的值改变的时候挂起程序。 enixyu翻译于 昨天(8:45) 0人顶 顶 翻译的不错哦! 其它翻译版本(1) – 变量视图:展示逻辑结构 如果你需要在变量视图查看一个Map对象或者List对象的值,对于eclipse的默认设置,一般并不是那么容易。假设,你使用的是HashMap,你需要点击遍历各个实体条目,并面临各种HashMap的实现细节。但是,在变量视图上面有一个叫做“Show Logical Structure”的按钮。它非常有用,尤其当你的对象的toString()方法所展示的信息并不友好的时候。我的老大在几周前为我展示了这个功能。你知道,他经常跟PowerPoint或者Excel打交道。对于我这么一个开发人员,多丢脸哦 未开启“Show Logical Structure” 开启“Show Logical Structure” enixyu翻译于 昨天(8:54) 0人顶 顶 翻译的不错哦! – 变量视图:更改变量值… 当你需要稍微更改输入信息的时候,不需要重新开始调试会话,只需在一个表格中输入新的信息,你可以在调试阶段直接修改你的变量的值。有写时候,你可以节省一些时间,你可以通过这个功能,更加简单的模拟一些怪异的情况。 – Display视图 你知道“Display视图”吗?你可以在调试过程中,通过“Window” -> “Show View” -> “Display”来激活它。现在,你的eclipse应该是一个空白的新视图。你可以使用这个视图,输入或者演算一些新的代码。这些代码在当前的调试位置的上下文环境中被执行,这意味着,你可以使用所有变量甚至是内容助手。要执行你的代码的话,只需标记它,并使用右键菜单或者CTRL+U(执行)或者 CTRL+SHIFT+I (检查). enixyu翻译于 昨天(9:02) 0人顶 顶 翻译的不错哦! – 导航: Drop to Frame 我想任何人都知道“Step Into”, “Step over”,而且可能也知道“Step return”. 这些是调试时的基本导航功能。我想提两个我非常喜欢的导航的高级方法。第一个是“Drop to Frame”. 使用这个特性你可以及时回退  你可以直接回退到运行过的java堆栈帧中某一帧。当我调试时,一不小心错过了某个关注的代码行时,我常常用这个回退一帧。使用“Drop to Frame”这个特性我可以简单的重新运行某帧代码。 – 导航: Step into Selection 第二个是“Step into Selection”. 这也是很简单,但很多人使用的一个。要使用它,你只需要按 Ctrl+Alt 同时点击一个你想运行到的方法名。非常方便,非常快速。相比“Step Into”这个非常方便,想想你像跟踪进一个有很多参数的函数,如果用“Step Into”你必须进入,退出每个参数计算过程,才能进入到你真正想进的函数。“Run to line”也是很棒的特性。只需要把光标放在你想运行到的哪一行前面,然后按“CTRL+R”就可以了。 ljb_iss翻译于 […]

龙生   10 Apr 2013
View Details

如何把java程序编译成.exe文件(就是制作可执行的JAR文件包)

  转自:http://www.dedecms.com/web-art/JSPjiaocheng/20060330/23987.html 作者:边城狂人 常常在网上看到有人询问:如何把 java 程序编译成 .exe 文件。通常回答只有两种,一种是制作一个可执行的 JAR 文件包,然后就可以像.chm 文档一样双击运行了;而另一种是使用 JET 来进行   编译。但是 JET 是要用钱买的,而且据说 JET 也不是能把所有的 Java 程序都编译成执行文件,性能也要打些折扣。所以,使用制作可执行 JAR 文件包的方法就是最佳选择了,何况它还能保持 Java 的跨平台特性。下面就来看看什么是 JAR 文件包吧:1. JAR 文件包JAR 文件就是 Java Archive File,顾名思意,它的应用是与 Java 息息相关的,是 Java 的一种文档格式。JAR 文件非常类似 ZIP 文件——准确的说,它就是 ZIP 文件,所以叫它文件包。JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的。举个例子,如果我们具有如下目录结构的一些文件:==– test– Test.class把它压缩成 ZIP 文件 test.zip,则这个 ZIP 文件的内部目录结构为:test.zip– test– Test.class如果我们使用 JDK 的 jar 命令把它打成 JAR 文件包 test.jar,则这个 JAR 文件的内部目录结构为:test.jar|– META-INF|  – MANIFEST.MF– test–Test.class2. 创建可执行的 JAR 文件包制作一个可执行的 JAR 文件包来发布你的程序是 JAR 文件包最典型的用法。Java 程序是由若干个 .class 文件组成的。这些 .class 文件必须根据它们所属的包不同而分级分目录存放;运行前需要把所有用到的包的根目录指定给 CLASSPATH 环境变量或者 java 命令的 -cp 参数;运行时还要到控制台下去使用 java 命令来运行,如果需要直接双击运行必须写 Windows 的批处理文件 (.bat) 或者 Linux 的 Shell 程序。因此,许多人说,Java 是一种方便开发者苦了用户的程序设计语言。其实不然,如果开发者能够制作一个可执行的 JAR 文件包交给用户,那么用户使用起来就方便了。在 Windows 下安装 JRE (Java Runtime Environment) 的时候,安装文件会将 .jar 文件映射给 javaw.exe 打开。那么,对于一个可执行的 JAR 文件包,用户只需要双击它就可以运行程序了,和阅读 .chm 文档一样方便 (.chm 文档默认是由 hh.exe 打开的)。那么,现在的关键,就是如何来创建这个可执行的 JAR 文件包。创建可执行的 JAR 文件包,需要使用带 cvfm 参数的 jar 命令,同样以上述 test 目录为例,命令如下:jar cvfm test.jar manifest.mf test这里 test.jar 和 manifest.mf 两个文件,分别是对应的参数 f 和 m,其重头戏在 manifest.mf。因为要创建可执行的 JAR 文件包,光靠指定一个 manifest.mf 文件是不够的,因为 MANIFEST 是 JAR 文件包的特征,可执行的 JAR 文件包和不可执行的 JAR 文件包都包含 MANIFEST。关键在于可执行 JAR 文件包的 MANIFEST,其内容包含了 Main-Class 一项。这在 MANIFEST 中书写格式如下:Main-Class: 可执行主类全名(包含包名)例如,假设上例中的 Test.class 是属于 test 包的,而且是可执行的类 (定义了 public static void main(String[]) 方法),那么这个 manifest.mf 可以编辑如下:Main-Class: test.Test <回车>这个 manifest.mf 可以放在任何位置,也可以是其它的文件名,只需要有 Main-Class: test.Test 一行,且该行以一个回车符结束即可。创建了 manifest.mf 文件之后,我们的目录结构变为:==|– test|  – Test.class`– manifest.mf这时候,需要到 test 目录的上级目录中去使用 jar 命令来创建 JAR 文件包。也就是在目录树中使用“==”表示的那个目录中,使用如下命令:jar cvfm test.jar manifest.mf test之后在“==”目录中创建了 test.jar,这个 test.jar 就是执行的 JAR 文件包。运行时只需要使用 java -jar test.jar 命令即可。需要注意的是,创建的 JAR 文件包中需要包含完整的、与 Java 程序的包结构对应的目录结构,就像上例一样。而 Main-Class 指定的类,也必须是完整的、包含包路径的类名,如上例的 test.Test;而且在没有打成 JAR 文件包之前可以使用 java <类名> 来运行这个类,即在上例中 java test.Test 是可以正确运行的 (当然要在 CLASSPATH 正确的情况下)。  

龙生   19 Feb 2013
View Details

myEclipse/Eclipse插件安装、更新、删除

Eclipse插件安装、更新、删除   Eclipse的插件可以装在内部,也可以装在外部,装在内部的方法很简单:把插件的features和plugins目录copy到eclipse的安装目录即可。eclipse和其插件升级比较频繁,用过eclipse的朋友应该都有体会,插件装在外部相比装在内部有很多优点,此处不再赘述。 装在外部的插件的的目录结构通常应该类似如下: samplePlugins |——eclipse |——features |——plugins |——.eclipseextension 其中.eclipseextension文件只是标识这是一个eclipse外部插件,没有实际意义。有些插件解压后没有这个文件,可以手工创建一个空的即可。 在外部安装插件的两种方法: 1、使用Software Update功能 在Eclipse中选择Help > Software Updates > Manage Configuration,在这里会列出所有已经安装的插件。右键单击Eclipse Platform,选择New > Extension Location…,然后找到要安装的插件的目录,如:samplePlugins,确定,ok,安装成功。Eclipse会提示你重启以使应用生效。继续点击yes,然后就可以使用新插件了。 2、使用links目录功能 进入Eclipse安装目录,查看是否有links目录,如果没有,则新建之。进入links目录,新建一个后缀为.link的文本文件,如:samplePlugs.link,此文件只有一行内容,格式为:path=插件目录。例如:安装汉化插件,将汉化包解压出来应该是eclipse文件夹(包含features和plugins两个文件夹),放在C:\Java\eclipse\language目录下,在同一目录新建links文件夹,在links文件夹下新建language.ini(language.link)文本文件,内容:path=language保存退出,重启eclipse,就完成了Eclipse的汉化,^=^。 Eclipse的升级也有两种方法: 1、使用Help —> Software Updates —> Find and Install,选中需要升级的插件,按提示操作即可。 2、下载全新安装文件,解压新版本的eclipse,把以前安装的插件按照前述方法导入,如果需要再修改workspace的指向即可。 插件升级的方法也是同理,可以在线升级,或者下载新版插件,然后在links目录里修改.link文件即可。 插件卸载的方法: 在Help —> Software Updates —> Manage Configuration 里disable相应插件即可。如果要完全删除,则需要删除eclipse目录下的configuration目录,这步操作其实无甚必要。 以上操作从Eclipse2.1到Eclipse3.x下都经过试验。如果修改之后eclipse不能正常启动,到configuration目录下查看错误日志,再寻找解决办法。通常如果是配置问题,只要删除configuration目录基本都可以解决。   接下来主要说一下Eclipse集成的一些插件及其在线更新地址: 1. Subversion是下一代版本(或源码)控制系统,它的目的是代替CVS下载. 在线更新地址 : http://subclipse.tigris.org/update_1.2.x/ 2.PyDevPyDev是一个允许用户利用Eclipse进行Python开发。它提供了一些很好的功能如:代码填空,语法高亮显示,语法分析,重构(refactor)和调试等等. 在线安装更新地址 : http://pydev.sourceforge.net/updates/ 3. JyDT Jython开发工具。 在线安装更新地址 :http://www.redrobinsoftware.net/jydt/ 4. 基于Eclipse的Java反编译插件 在线更新地址 : http://www.technoetic.com/eclipse/update/ 5. JSEclipse可以编辑JavaScript 文件,支持语法突出显示和包括了一些常用的面向对象的方法。支持的面向对象的功能有:构造函数,类方法,实例方法,类变量等等。支持代码错误提示,警靠报告等。 在线更新地址 : http://download.macromedia.com/pub/labs/jseclipse/autoinstall/ 6. Implementors当追踪方法代码时,Eclipse默认是转到方法的接口类,而接口中是只有方法名称没有具体的实现代码,此插件提供了追踪到具体实现类的实现代码的功能。 在线更新地址 : http://eclipse-tools.sourceforge.net/updates/ 7. Easy ExplorerEasy Explorer 打开在eclipse中选定文件所在的目录 在线安装更新地址 : http://easystruts.sourceforge.net/eclipse/updates/ 8. […]

龙生   26 Sep 2012
View Details

Eclipse:修改字符编码

一、设置代码的编码格式: 有时候大家也许会看到这个错误:Save could not be completed. Reason: some characters cannot be mapped using “ISO-8859-1“ character encoding 这个错误是因为你的文件格式是ISO-8859-1,右键点击报错文件->选择Properties->Text file enconding->把ISO-8859-1改为UTF-8或者GBK就解决这个问题了。 这是因为Eclipse默认的文件格式都是ISO-8859-1,那如果大量文件该怎么办呢?我们不会一个一个手动改吧?答案是NO。 方法如下: Eclipse-->Window-->Preferences-->General-->Content Types然后在选择 右边的Text下边的Java Properties File,修改其编码(推荐UTF-8)。 二、编辑器字体(全体,包括PyDev、cdt、jdt的编辑器) Eclipse-->Window-->Preferences-->General-->Appearance--> Colors and Fonts -->Basic --> Text Font-->Change 喜欢哪个就选哪个字体。

龙生   26 Sep 2012
View Details

第二天JSP服务器安装,JAVA/JSP学习系列之四(Orion App Server的安装)

 一、前言 Orion这个东西,小巧,但是功能却非常多,废话不讲,看它目前的支持就知道了: (1)Servlets/JSP (2)EJB (3)HTTP (注:说明不再需要Apache或者IIS等Web Server) 二、下载,安装下载地址为Orion Application Server官方站点:http://www.orionserver.com/,我下载的是Orion1.4版本。下载完,解压到一个目录,我这里用E:\Orion作为例子。三、配置   (1)根据Orion官方站点的安装说明,如果要支持JSP等技术的话,要将JDK的tools.jar复制到e:\orion目录下,tools.jar文件在你安装的JDK目录的lib子目录下。到现在,其实已经成功了缺省的配置了,如果你的80端口没有被占用,而且你也想用80作为端口的话,你到这里已经完成了,否则,请继续下面的配置。     (2)配置端口在E:\orion\config目录下有个default-web-site.xml文件,找到文件中下面行:将这行改为:注意,我这里使用的是8008端口。四、测试(1)启动Orion:在Orion目录下,command方式运行:java -jar orion.jar将出现Orion/x.x.x initialized,我这里版本是1.4所以显示:Orion/1.4.0 initialized到此,说明你已经成功了。(2)执行jsp文件在浏览器中输入:http://localhost:8008/出现:Orion Application Server 1.4.0 – Up and running,下面有JSP examples你可以试着运行。 十天学会JAVA之第二天Tomcat安装,JAVA/JSP学习系列之二(Tomcat安装) 一、前言    对于初学者来说,要执行JSP和Servlet,Tomcat是一个很不错的选择,。Tomcat是Apache组织的产品,sun公司对它的支持也相当不错。 二、下载,安装   下载地址为JAVA官方站点:jakarta.apache.org,国内也比较多。从这个地址可以下载:http://jakarta.apache.org/builds/tomcat/release/,我下载的是Tomcat32b4版本。   下载完,解压到一个目录,我这里用F:\tomcat32b4作为例子。三、配置   桌面上选择“我的电脑”(右键)   高级   环境变量   在“系统变量”—>“新建”   在变量名中输入:JAVA_HOME,变量值中输入:F:\JDK13然后确定;   在“系统变量”—>“新建”   在变量名中输入:TOMCAT_HOME,变量值中输入:F:\tomcat32b4然后确定;好了,配置完了,要重新启动计算机后,环境变量才能有效的。注意,对于Tomcat其他设置,如果没有必要,是可以不改的,我这里讲的都是最简单而可行的方法,如果对你的改动没有把握,还是建议不要改动。四、测试   (1)启动tomcat:在F:\tomcat32b4\bin下有一个:startup.bat,运行它,将出现一个Dos窗口。   (2)浏览 在浏览器中输入:http://localhost:8080/看看有什么效果(Tomcat默认端口为8080,在不冲突的前提下,你可以改动的),是不是可以看到一只可爱的小猫(其实,我个人认为,无论从颜色还是样子,更象一只老虎)    (3)运行 在这个页面有JSP Examples和 Servlet Examples, 好了,自己测试运行它们吧。   (4)退出tomcat在F:\tomcat32b4\bin下有一个:shutdown.bat,运行它,将关闭Dos窗口(如果坚持直接关闭这个DOS窗口也是可以的,但是,既然有这个shutdown.bat,应该有它存在的理由)。

龙生   23 May 2012
View Details

第一天JAVA的JDK安装,JAVA/JSP学习系列之一(JDK安装)

一、前言 JDK(Java Development Kit )是一切java应用程序的基础,可以说,所有的java应用程序是构建在这个之上的。它是一组API,也可以说是一些java Class。目前已经正式发布的最新版本是JDK1.3。考虑到我对linux不熟悉,而且大多数都是在MS系统下,所以,在这里我用的是win2000。  二、下载,安装    下载地址为JAVA官方站点:java.sun.com,国内也到处都是。    Windows下,直接运行.exe文件,安装到一个目录,我这里用F:\jdk13作为例子。三、配置   桌面上选择“我的电脑”(右键)   高级   环境变量   在“系统变量”—>“新建”   在变量名中输入:CLASSPATH,变量值中输入:F:\JDK13\LIB\dt.JAR;F:\JDK13\LIB\TOOLS.JAR;F:\JDK13\BIN;然后确定;好了,配置完了,要重新启动计算机后,环境变量才能有效的。四、测试   (1)用文本编辑器写一个简单的java程序:public class HelloWorld {public static void main(String args[]) {System.out.println("Hello World!"); }}这个例子就是著名的“Hello World”,它的功能就是显示“Hello World”。注意:该文件名称必须为“HelloWorld.java”,大小写也区分。细心的朋友会注意到就是和public class后的名字一样的。    (2)编译:在dos命令提示符下执行:(注意大小写) javac HelloWorld.java 如果正常的话,将生成HelloWorld.class文件。   (3)运行:在dos命令提示符下执行:(注意大小写) java HelloWorld这里有一个java初学者很有可能遇到的问题(不怕笑话,我也是)就是输入:java HelloWorld.class多了后面的.class,一定要注意,否则会出现下面的错误:Exception in thread "main" java.lang.NoClassDefFoundError:HelloWorld/class(本人猜想,是不是java翻译“.”的时候换成了“/”,或者是其他的本人不知道的原因)好了,运行java HelloWorld应该会出现伟大的“Hello World”了。到这一步,你已经成功配置好了JDK,可以开始漫长而痛苦(对于象我一样的,以前不懂java的朋友来说,可以用“痛苦”来形容,不理解的概念,不熟悉的java api…,不过,不要急,我将和大家一起慢慢入门,慢慢提高… …)的Java过程了。 十天学会JAVA之第二天Tomcat安装,JAVA/JSP学习系列之二(Tomcat安装) 一、前言    对于初学者来说,要执行JSP和Servlet,Tomcat是一个很不错的选择,。Tomcat是Apache组织的产品,sun公司对它的支持也相当不错。 二、下载,安装   下载地址为JAVA官方站点:jakarta.apache.org,国内也比较多。从这个地址可以下载:http://jakarta.apache.org/builds/tomcat/release/,我下载的是Tomcat32b4版本。   下载完,解压到一个目录,我这里用F:\tomcat32b4作为例子。三、配置   桌面上选择“我的电脑”(右键)   高级   环境变量   在“系统变量”—>“新建”   在变量名中输入:JAVA_HOME,变量值中输入:F:\JDK13然后确定;   在“系统变量”—>“新建”   在变量名中输入:TOMCAT_HOME,变量值中输入:F:\tomcat32b4然后确定;好了,配置完了,要重新启动计算机后,环境变量才能有效的。注意,对于Tomcat其他设置,如果没有必要,是可以不改的,我这里讲的都是最简单而可行的方法,如果对你的改动没有把握,还是建议不要改动。四、测试   (1)启动tomcat:在F:\tomcat32b4\bin下有一个:startup.bat,运行它,将出现一个Dos窗口。   (2)浏览 在浏览器中输入:http://localhost:8080/看看有什么效果(Tomcat默认端口为8080,在不冲突的前提下,你可以改动的),是不是可以看到一只可爱的小猫(其实,我个人认为,无论从颜色还是样子,更象一只老虎)    (3)运行 在这个页面有JSP Examples和 Servlet Examples, 好了,自己测试运行它们吧。   (4)退出tomcat在F:\tomcat32b4\bin下有一个:shutdown.bat,运行它,将关闭Dos窗口(如果坚持直接关闭这个DOS窗口也是可以的,但是,既然有这个shutdown.bat,应该有它存在的理由)。

龙生   23 May 2012
View Details

SoybeanMilk-1.0-b4 Java MVC开发框架发布

 SoybeanMilk-1.0-b4 做了较大的改进,包括: 增强泛型类型支持,框架现在支持自动将请求参数转换为调用方法的泛型类型参数 为<invoke>标签增加“breaker”属性,用以控制调用方法是否执行 一个新的转换异常类ParamConvertException被加入,用于追踪输入非法的请求参数 一个新的标签<type-target-handler>被加入,用于自定义动作目标处理器 BUG修复:默认通用转换器的getProperty接口不支持null输入 您可以点击 这里 下载框架包,里面包含了完整的说明文档和示例。 SoybeanMilk是一个极其简易、友好、且零侵入的Java MVC实现框架: 它几乎没有学习成本,你只需要熟悉jsp和servlet技术 也不需要你遵从任何代码编写模式 你的代码中找不到任何这个框架的踪迹  

龙生   21 Dec 2011
View Details
1 61 62