<?xml version="1.0" encoding="gb2312"?>

<!-- RSS generated by oioj.net on 4/16/2004 ; 感谢LeXRus提供 RSS 2.0 文档; 此文件可自由使用，但请保留此行信息 --> 
<!-- Source download URL: http://blogger.org.cn/blog/rss2.asp       -->
<rss version="2.0">

<channel>
<title>julian_wong的博客</title>
<link>http://blogger.org.cn/blog/blog.asp?name=julian_wong</link>
<description>julian_wong的博客</description>
<copyright>blogger.org.cn</copyright>
<generator>W3CHINA Blog</generator>
<webMaster>webmaster@blogger.org.cn</webMaster>
<item>
<title><![CDATA[[收藏]java新手必读，一些入门知识 -- 作者：npuhetao]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=julian_wong&amp;id=3964</link>
<author>julian_wong</author>
<pubDate>2005/3/20 12:25:54</pubDate>
<description><![CDATA[本文转载自<A href="http://bbs.w3china.org/" target=_blank>W3CHINA.ORG讨论区</A>(BBS.W3CHINA.ORG)&nbsp;&nbsp;&nbsp;<A href="http://bbs.w3china.org/dispbbs.asp?boardid=49&amp;ID=15687&amp;replyID=40344&amp;skin=1" target=_blank>原文链接</A><BR>作者：<A href="http://bbs.w3china.org/dispuser.asp?name=npuhetao" target=_blank>npuhetao</A><BR>以下为原文：<BR><BR><B>java新手必读，一些入门知识</B><BR><BR>1、jdk就是j2se,jdk1.1.8版本以后改成为j2se，<BR>下载地址：<A class=contentlink href="http://java.sun.com/j2se/downloads.html" target=_blank>http://java.sun.com/j2se/downloads.html</A><BR>2、jre是java运行时环境（jdk1.3版本以后都包含jre）不用单独下载<BR>3、设置环境变量<BR>安装了jdk以后，要配置环境变量<BR>我的电脑-&gt;属性-&gt;高级-&gt;环境变量<BR>添加以下环境变量(假定你的java安装在c:\jdk1.3）<BR>java_home=c:\jdk1.3<BR>classpath=.;c:\jdk1.3\lib\dt.jar;c:\jdk1.3\lib\tools.jar;（.;已经不能少，因为它代表当前路径)<BR>path = c:\jdk1.3\bin<BR>新开一个dos窗口，键入java和javac测试一下 <BR>4、简单测试程序<BR>public class Test{<BR>public static void main(String args[]){<BR>System.out.println("Hello world!");<BR>}<BR>}<BR>javac Test.java<BR>java Test
<P></P>
<P>5、java、j2ee、xml 开发常用工具介绍</P>
<P>j2sdk安装程序及Java API Doc <BR>j2sdk-1_4_0 for win <BR>j2sdk-1_4_0 for linux <BR>j2sdk-1_4_0-doc <BR>j2sdkee-1.3-doc</P>
<P>可去 <A class=contentlink href="http://java.sun.com/j2ee/download.html" target=_blank>http://java.sun.com/j2ee/download.html</A> ;下载</P>
<P><BR>6、build工具 <BR>ant: Ant是一个基于java的跨平台的build工具。之所以Ant能跨平台，是因为Ant不再需要你编写shell命令，Ant的配置文件是基于XML的任务树，<BR>能让你运行各种各样的任务，任务的运行是由实现了特定任务接口的对象来完成的。</P>
<P>http://jakarta.apache.org/ant</P>
<P><BR>7、开发工具(IDE,集成开发环境)<BR>1、开发工具首选两种<BR>1、jbuilder??不用我多说了<BR>2、netBeans(下载地址<A class=contentlink href="http://www.netbeans.org/" target=_blank contentlink>www.netbeans.org</A>,免费),forte也就是Sun EE和netbeans类似<BR>(估计是使用netbeans的原码改写而成), 但是netbeans(3.4版本)我觉得比较好用，<BR>可以和tomcat和cvs等集成，但是唯一不足的就是不能开发EJB,forte倒是可以，<BR>但是不能给出我们自己写的API(也就是.后出现的方法都是系统的，而我们自己写<BR>的方法出不来,faint) <BR>其它开发工具<BR>Eclipse： 号称未来能进行任何语言开发的IDE集大成者。<BR>Eclipse 是替代IBM Visual Age for Java（以下简称IVJ）的 下一代IDE开发环境，<BR>但它未来的目标不仅仅是成为专门开发Java程序的IDE环境，根据Eclipse的体系结构，<BR>通过开发插件，它能扩展到任何语言的开发，甚至能成为图片绘制的工具。<BR>目前，Eclipse已经开始提供C语言开发的功能插 件。更难能可贵的是，<BR>Eclipse是一个开放源代码的项目，任何人都可以下载Eclipse的源代码，<BR>并且在此基础上开发自己的功能插件。也就是说未来只要有人需要，<BR>就会有建立在Eclipse之上的COBOL，Perl，Python等语言的开发插件出现。<BR>同时可以通过开发新的插件扩展现有插件的功能，比如在现有的Java开发环境中加入Tomcat服务器插件。<BR>可以无限扩展，而且有着统一的外观，操作和系统资源管理，这也正是Eclipse的潜力所在。<BR>http://www.eclipse.org/</P>
<P><BR>8、专业XML编辑工具 <BR>XMLSPY：支持SOAP；支持Oracle XML Schema扩展；支持 MSXML4等等；提供三种XML文档视图：结构显示和编辑，<BR>原码视图和支持CSS,XSL的预览。支持最新schema标准，可以根据schema校验XML文档可以将不同schema版本schema<BR>文档转换成符合最新schema规范的文档可以将DTDs, XML-Data, 或者 BizTalk schemas 转换成 W3C XML<BR>Schema从数据库连接（ADO,ODBC）中自动产生XML Schema可以直接访问数据库，<BR>提供数据库和XML之间的转换提供类似Office XP compatible的用户界面提供了更方便的用户界面定制方式.<BR>该编辑器支持所见即所得的文本编辑，基于form地数据输入，图形元素等，包括了一个图形化的XSLT产生器，<BR>可以针对schema或者DTD产生样式文档，最后应用于相应的XML文档。</P>
<P>可去 <A class=contentlink href="http://www.xmlspy.com/download.html" target=_blank>http://www.xmlspy.com/download.html</A> ;下载 <BR>9、Framework</P>
<P>cocoon：XML　Framework <BR>Cocoon是采用100%纯Java编写的一个内容发布框架。<BR>Cocoon让你能采用W3C的最新技术(DOM、XML、XSL)来提供Web内容。 <BR>新的Cocoon模式能将文档内容、样式、处理逻辑进行完全的分离，允许这三层能独立地设计、创建和管理，<BR>从而减少了管理开销，加强了工作的重用性，减少了开发时间。</P>
<P>来源：<A class=contentlink href="http://xml.apache.org/cocoon" target=_blank>http://xml.apache.org/cocoon</A></P>
<P><BR>9、struts：JSP　Framework <BR>Struts是采用Java　Servlet/JavaServer　Pages技术，开发Web应用程序的开放源码的framework。<BR>采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。 <BR>Struts有如下的主要功能： <BR>　　 ? 包含一个controller　servlet，能将用户的请求发送到相应的Action对象。 <BR>　　 ? JSP自由tag库，并且在controller　servlet中提供关联支持，帮助开发员创建交互式表单应用。 <BR>　　 ? 提供了一系列实用对象：XML处理、通过Java　reflection　APIs自动处理JavaBeans属性、国际化的提示和消息。 </P>
<P>来源：<A class=contentlink href="http://jakarta.apache.org/struts" target=_blank>http://jakarta.apache.org/struts</A></P>
<P>10、turbine：Servlet　Framework <BR>Turbine是基于servlet的framework，使有经验的Java开发员能快速地构建web应用。 <BR>使用Turbine，可以通过创建使用特定服务来处理模板的Screen，<BR>来集成现有的模板技术（例如Velocity、Webmacro、Java Server Pages(JSP)、FreeMarker、cocoon）。 </P>
<P>来源： <A class=contentlink href="http://jakarta.apache.org/turbine" target=_blank>http://jakarta.apache.org/turbine</A> ;<BR>11、Demo</P>
<P>Java Pet Store: j2ee应用样例 <BR>Java Pet Store是Java software蓝图规划的j2ee企业应用样例。<BR>它示范了怎样应用j2ee 平台的威力去构建一个灵 活的、可伸展的跨平台企业应用。<BR>你可从java.sun.com/blueprints/enterprise/上获取最新的信息及学习资料，目前最新的版本是基于j2ee1.3的1.3_01。</P>
<P>来源： <A class=contentlink href="http://java.sun.com/blueprints/enterprise/" target=_blank>http://java.sun.com/blueprints/enterprise/</A></P>
<P>12、database</P>
<P>pointbase:进军企业级数据库市场的一只新军。 <BR>PointBase 是第一个经过认证的100%纯Java数据库，可用于任何使用的 Java 2 标准版虚拟机 (JVM)的平台。</P>
<P>来源： <A class=contentlink href="http://www.pointbase.com/" target=_blank>http://www.pointbase.com/</A><BR>13、j2ee server<BR>1、j2sdkee1.3.1 referrence implement(j2ee参考实现）,sun的一个很好的学习j2ee的工具，记着，这是一个学习的工具<BR>不是一个企业开发的工具，因为它的效率，安全等诸多问题，所以不能用它做项目或者产品。<BR>http://java.sun.com/j2ee/download.html<BR>2、weblogic和websphere 不用我多说了吧！<BR>3、sun one Application Server（前身是iplanet)---强烈推荐<BR>里面是一个比较完成j2ee开发平台<BR>1、sun one studio 4 (前身 forte)<BR>2、tomcat 4<BR>3、sun one application server 一个较棒的j2ee server<BR>4、和j2ee ri集成<BR>5、pointbase 是第一个经过认证的100%纯Java数据库<BR>这些工具可以够你开发任何java产品，最重要的是，它是一个免费的j2ee服务器，并且是免费的哦<BR>比起jboss来说，不知道好到哪里去了 哈哈，这下活该我发了！！！<BR>http://wwws.sun.com/software/download/app_servers.html</P>
<P>14、UML工具</P>
<P>1、Rational Rose 大哥大级别的UML设计工具，功能很强大。 <BR>2、Together 可以认为是最好的java UML设计工具，可以根据类图同步生成java代码，设计完成后，系统的<BR>框架也出来了，爽啊！</P>
<P>15、指导书籍<BR>1、入门书籍就不多介绍了<BR>看一些&lt;&lt;从入门到精通&gt;&gt;之类的书籍，&lt;&lt;java编程思想&gt;&gt;初学者不推荐<BR>2、java programmer推荐看&lt;&lt;java编程思想&gt;<BR>3、java designer推荐看&lt;&lt;java与模式&gt;&gt;(新书，中国人写的，不是翻译的，中国人能写出这样有深意的IT书，<BR>很难得) <BR><BR><BR>&lt;完&gt;<BR><A href="http://bbs.w3china.org/dispbbs.asp?boardid=49&amp;ID=15687&amp;replyID=40344&amp;skin=1" target=_blank>参与讨论本主题</A><BR></P>]]></description>
</item><item>
<title><![CDATA[[收藏]用WebWork、JSP、Velocity建立注册页面 -- 作者：npuhetao]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=julian_wong&amp;id=3963</link>
<author>julian_wong</author>
<pubDate>2005/3/20 12:24:13</pubDate>
<description><![CDATA[本文转载自<A href="http://bbs.w3china.org/" target=_blank>W3CHINA.ORG讨论区</A>(BBS.W3CHINA.ORG)&nbsp;&nbsp;&nbsp;<A href="http://bbs.w3china.org/dispbbs.asp?boardid=49&amp;ID=15538&amp;replyID=39753&amp;skin=1" target=_blank>原文链接</A><BR>作者：<A href="http://bbs.w3china.org/dispuser.asp?name=npuhetao" target=_blank>npuhetao</A><BR>以下为原文：<BR><BR><B>用WebWork、JSP、Velocity建立注册页面</B><BR><BR>WebWork是一个源代码开放的Web应用框架，用于简化基于Web的应用开发。本专栏介绍了WebWork并且描述了如何使用WebWork和JavaServer Pages（JSP）、Velocity两种技术来建立注册界面的过程。
<P></P>
<P>Web 应用程序的设计开发是复杂并且费时的。然而，你能够通过运用一种框架处理常见的Web应用程序来简化开发流程。许多开源Web应用框架能够做到这一点甚至更好一些。这些开发框架中最好的一个就是WebWork，是开源项目中OpenSymphony组的一个Web应用开发框架。</P>
<P>　　WebWork的最大优点是它的简单性和灵活性。WebWork有一个很小的API，它使开发者可以迅速进行开发工作。WebWork是许多特性和适用性的组合，包括使用variour view技术，例如JavaServer Pages(JSP),Velocity,Extensible Stylesheet Language Transformations <BR>Specification(XSLT)和JasperReporters。WebWork拥有一个活跃的社区，有许多文章、开发者和用户。</P>
<P>　　注意：本文基于WebWork1.3.0 release candidate 2(RC2)。为了使用本文提供的例子，你需要在你的应用服务器的webapps目录下建立文件夹，将例子拷贝至新的文件夹下，同时将所需的jar文件从WebWork distribution拷贝至WEB-INF/lib目录。在此处下载WebWork和本文相关的源代码。</P>
<P>－－－－－－<BR>　　Actions</P>
<P>　　WebWork的一个最重要的特色就是Action接口。WebWork actions通过在页面（视图）和商业逻辑间提供mapping来控制Web应用程序流程。在WebWork中，提交窗体到一个action URI(Uniform Resource Identifier);这个URI指向一个相应的action;action执行；用户可以前进到相应的视图。</P>
<P>　　下述class,LoginAction,是WebWork处理基于Web应用的注册窗体的例子。LoginAction扩展了ActionSupport。它是一个基类，提供了处理错误、视图映射、和许多有用的功能。 <BR><BR>import webwork.action.*;</P>
<P>public class LoginAction extends ActionSupport<BR>{<BR>private String userName;<BR>private String password; </P>
<P>public String getPassword()<BR>{<BR>return password;<BR>}</P>
<P>public String getUserName()<BR>{<BR>return userName;<BR>}</P>
<P>public void setPassword(String password)<BR>{<BR>this.password = password;<BR>}</P>
<P>public void setUserName(String userName)<BR>{<BR>this.userName = userName;<BR>}</P>
<P>public String doExecute()<BR>{<BR>return SUCCESS;<BR>}</P>
<P>public void doValidation()<BR>{<BR>if (userName == null || userName.length() &lt; 1) addError("UserName", "Please enter username.");<BR>if (password == null || password.length() &lt; 1) addError("Password", "Please enter password.");<BR>}<BR>} </P>
<P></P>
<P>　　LoginAction包括了两个JavaBean属性，password和username。WebWork把数据从属性中放置到你的视图中并且自动解析送到action的参数来设置属性值。</P>
<P>　　LoginAction重载了ActionSupport的两个方法：doValidation()和doExecute()。doValidation()方法验证参数，doExecute()方法让用户前进到相应的视图。doExecute()方法返回一个字符串，如果所有的处理是成功的，返回常量success。如果有任何问题发生，在用户输入视图上返回常量input。在LoginAction的doValidation()方法中调用addError指出了一个认证问题并且让用户返回INPUT视图。</P>
<P>－－－－－－－－－</P>
<P>　　View mapping<BR><BR>　　WebWork有两种方法从map到视图：通过一个Action.xml文件或者一个views.properties文件。每一种动作应该具有一个INPUT视图和一个SUCCESS视图。下述Action.xml文件定义了两个actions，loginJSP和loginVelocity。这两个action都使用了LoginAction类。如果LoginAction返回SUCCESS,这两个action使用LoginAction类并且使用户转向success.html。如果LoginAction返回INPUT,action转向相应的INPUT视图，或者login.jsp、或者login.vm；</P>
<P></P>
<P></P>
<P><BR><BR><BR>&lt;actions&gt;</P>
<P>&lt;action name="LoginAction" alias="loginJSP"&gt;<BR>&lt;view name="input"&gt;login.jsp&lt;/view&gt;<BR>&lt;view name="success"&gt;success.html&lt;/view&gt;<BR>&lt;/action&gt;</P>
<P>&lt;action name="LoginAction" alias="loginVelocity"&gt;<BR>&lt;view name="input"&gt;login.vm&lt;/view&gt;<BR>&lt;view name="success"&gt;success.html&lt;/view&gt;<BR>&lt;/action&gt;</P>
<P>&lt;/actions&gt; </P>
<P>－－－－－－－－<BR>　　视图<BR>　　<BR>　　尽管WebWork对于许多不同的视图技术提供了支持，但是最为常见的是JSP和Velociy。以下页面是两个注册页面的例子－－一个使用了JSP另一个使用了Velocity。每个页面都包括了一个用户部分和一个密码部分，这两部分提交给WebWork action。</P>
<P>　　Login.jsp页面通过使用WebWork标记库来建立和处理以上两个部分,并且通过错误收集器来处理错误。webwork:textfield 和 webwork:password标记建立了text和password部分，webwork:iterator标记处理从LoginAction返回的错误。 webwork:property标记设置username,password和errors属性。</P>
<P></P>
<P><BR><BR><BR>&lt;%@ taglib uri="webwork" prefix="webwork" %&gt;</P>
<P>&lt;html&gt;</P>
<P>&lt;head&gt;<BR>&lt;title&gt;WebWork JSP Example&lt;/title&gt;<BR>&lt;/head&gt;</P>
<P>&lt;body&gt;</P>
<P>&lt;form action="loginJSP.action" method="post"&gt;</P>
<P>&lt;webwork:property&gt;<BR>&lt;webwork:textfield label="'Name'" name="'userName'"/&gt;<BR>&lt;webwork:password label="'Password'" name="'password'"/&gt;<BR>&lt;/webwork:property&gt;</P>
<P>&lt;input type="submit" <I>value</I>="Submit"/&gt;<BR>&lt;/form&gt;</P>
<P>&lt;webwork:iterator <I>value</I>="errors"gt;<BR>&lt;br&gt;&lt;webwork:property/&gt;<BR>&lt;/webwork:iterator&gt;</P>
<P>&lt;/body&gt;<BR>&lt;/html&gt; </P>
<P></P>
<P>login.vm页面使用了Velocity模板语言来建立域并且处理错误。在Velocity中，$符号表明了一个参考。!符号告诉Velocity如果参考为空，那么什么都不显示。#符号表示了一个指令。在下述例子中，$!userName和$!password表明参考引用了LoginAction中的username和password；#foreach在错误处理属性中指示了循环。</P>
<P></P>
<P><BR><BR>&lt;html&gt;</P>
<P>&lt;head&gt;<BR>&lt;title&gt;WebWork Velocity Example&lt;/title&gt;<BR>&lt;/head&gt;</P>
<P>&lt;body&gt;</P>
<P>&lt;form action="loginVelocity.action" method="post"&gt;<BR>&lt;input type="text" name="userName" <I>value</I>="$!userName"/&gt;<BR>&lt;input type="text" name="password" <I>value</I>="$!password"/&gt;<BR>&lt;input type="submit" <I>value</I>="Submit"/&gt;<BR>&lt;/form&gt;</P>
<P>#foreach ($error in $errors)<BR>&lt;br&gt;$error<BR>#end</P>
<P>&lt;/body&gt;</P>
<P>&lt;/html&gt; </P>
<P></P>
<P></P>
<P>－－－－－－－－－－－－－－－<BR>　　开始工作！<BR><BR>　　WebWork是一个易用的、灵活的、功能强大的开源Web应用框架，本文介绍了它的基本功能。访问OpenSympony的网站去学习并且下载最新版本的WebWork。你下载完WebWork后，到Jakarta的网站的上部去寻找Velocity，一种简单、快速的开源引擎，它是你在网页中使用JSP的另一个选择。<BR>－－－－－－－－－－－－－－－－－<BR>　　作者介绍</P>
<P>　　Erik Swenson 是Open Source Software Solutions的顾问和建立者。他主要研究使用开源软件和组件来进行java开发。此外，他参与开发了开源项目JasperEdit和OpenReports。<BR>－－－－－－－－－－－－－－－－－－<BR>　　资源</P>
<P>　　下载本文相关的源代码<BR>　　<A class=contentlink href="http://www.javaworld.com/javaworld/jw-03-2003/opensource/jw-0307-opensourceprofile.zip" target=_blank>http://www.javaworld.com/javaworld/jw-03-2003/opensource/jw-0307-opensourceprofile.zip</A></P>
<P>　　从OpenSymphony网站下载WebWork: <BR>　　<A class=contentlink href="http://www.opensymphony.com/webwork/" target=_blank>http://www.opensymphony.com/webwork/</A></P>
<P>　　Velocity 是Apache Jakarta项目的一部分，从以下地址下载: <BR>　　<A class=contentlink href="http://jakarta.apache.org/velocity/index.html" target=_blank>http://jakarta.apache.org/velocity/index.html</A></P>
<P>　　“使用Velocity模板引擎” Geir Magnusson Jr. (JavaWorld, 2001年12月): <BR>　　<A class=contentlink href="http://www.javaworld.com/javaworld/jw-12-2001/jw-1228-velocity.html" target=_blank>http://www.javaworld.com/javaworld/jw-12-2001/jw-1228-velocity.html</A></P>
<P>　　其他开源Web应用框架包括: </P>
<P>　　Maverick:<BR>　　<A class=contentlink href="http://mav.sourceforge.net/" target=_blank>http://mav.sourceforge.net/</A> <BR>　　Struts:<BR>　　<A class=contentlink href="http://jakarta.apache.org/struts/index.html" target=_blank>http://jakarta.apache.org/struts/index.html</A><BR>　　JasperReports homepage: <BR>　　<A class=contentlink href="http://jasperreports.sourceforge.net/" target=_blank>http://jasperreports.sourceforge.net/</A></P>
<P><BR><BR>&lt;完&gt;<BR><A href="http://bbs.w3china.org/dispbbs.asp?boardid=49&amp;ID=15538&amp;replyID=39753&amp;skin=1" target=_blank>参与讨论本主题</A><BR></P>]]></description>
</item>
</channel>
</rss>