﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-tangbao-文章分类-java</title><link>http://www.blogjava.net/tangbao/category/7432.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 02 Mar 2007 07:36:31 GMT</lastBuildDate><pubDate>Fri, 02 Mar 2007 07:36:31 GMT</pubDate><ttl>60</ttl><item><title>Axis WSDD Reference </title><link>http://www.blogjava.net/tangbao/articles/32129.html</link><dc:creator>糖包</dc:creator><author>糖包</author><pubDate>Thu, 23 Feb 2006 09:06:00 GMT</pubDate><guid>http://www.blogjava.net/tangbao/articles/32129.html</guid><wfw:comment>http://www.blogjava.net/tangbao/comments/32129.html</wfw:comment><comments>http://www.blogjava.net/tangbao/articles/32129.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/tangbao/comments/commentRss/32129.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/tangbao/services/trackbacks/32129.html</trackback:ping><description><![CDATA[<H1>Axis WSDD Reference</H1>
<P>The SOAP tool Apache Axis offers a lot of features which require the use of a deployment descriptor. This reference describes all the elements and attributes which can be used in a WSDD deployment descriptor. </P>
<H2>Elements</H2>
<P>All Elements belong to the http://xml.apache.org/axis/wsdd/ namespace.</P>
<UL>
<LI><A href="http://www.osmoticweb.com/axis-wsdd/beanMapping.htm"><FONT color=#56662d>beanMapping</FONT></A> 
<LI><A href="http://www.osmoticweb.com/axis-wsdd/chain.htm"><FONT color=#56662d>chain</FONT></A> 
<LI><A href="http://www.osmoticweb.com/axis-wsdd/deployment.htm"><FONT color=#56662d>deployment</FONT></A> 
<LI><A href="http://www.osmoticweb.com/axis-wsdd/documentation.htm"><FONT color=#56662d>documentation</FONT></A> 
<LI><A href="http://www.osmoticweb.com/axis-wsdd/endpointURL.htm"><FONT color=#56662d>endpointURL</FONT></A> 
<LI><A href="http://www.osmoticweb.com/axis-wsdd/fault.htm"><FONT color=#56662d>fault</FONT></A> 
<LI><A href="http://www.osmoticweb.com/axis-wsdd/globalConfiguration.htm"><FONT color=#56662d>globalConfiguration</FONT></A> 
<LI><A href="http://www.osmoticweb.com/axis-wsdd/handler.htm"><FONT color=#56662d>handler</FONT></A> 
<LI><A href="http://www.osmoticweb.com/axis-wsdd/handlerInfo.htm"><FONT color=#56662d>handlerInfo</FONT></A> 
<LI><A href="http://www.osmoticweb.com/axis-wsdd/handlerInfoChain.htm"><FONT color=#56662d>handlerInfoChain</FONT></A> 
<LI><A href="http://www.osmoticweb.com/axis-wsdd/header.htm"><FONT color=#56662d>header</FONT></A> 
<LI><A href="http://www.osmoticweb.com/axis-wsdd/namespace.htm"><FONT color=#56662d>namespace</FONT></A> 
<LI><A href="http://www.osmoticweb.com/axis-wsdd/operation.htm"><FONT color=#56662d>operation</FONT></A> 
<LI><A href="http://www.osmoticweb.com/axis-wsdd/parameter-config.htm"><FONT color=#56662d>parameter (configuration parameter) </FONT></A>
<LI><A href="http://www.osmoticweb.com/axis-wsdd/parameter-operation.htm"><FONT color=#56662d>parameter (operation parameter) </FONT></A>
<LI><A href="http://www.osmoticweb.com/axis-wsdd/requestFlow.htm"><FONT color=#56662d>requestFlow</FONT></A> 
<LI><A href="http://www.osmoticweb.com/axis-wsdd/responseFlow.htm"><FONT color=#56662d>responseFlow</FONT></A> 
<LI><A href="http://www.osmoticweb.com/axis-wsdd/role.htm"><FONT color=#56662d>role</FONT></A> 
<LI><A href="http://www.osmoticweb.com/axis-wsdd/service.htm"><FONT color=#56662d>service</FONT></A> 
<LI><A href="http://www.osmoticweb.com/axis-wsdd/transport.htm"><FONT color=#56662d>transport</FONT></A> 
<LI><A href="http://www.osmoticweb.com/axis-wsdd/typeMapping.htm"><FONT color=#56662d>typeMapping</FONT></A> 
<LI><A href="http://www.osmoticweb.com/axis-wsdd/undeployment.htm"><FONT color=#56662d>undeployment</FONT></A> 
<LI><A href="http://www.osmoticweb.com/axis-wsdd/wsdlFile.htm"><FONT color=#56662d>wsdlFile</FONT></A></LI></UL><img src ="http://www.blogjava.net/tangbao/aggbug/32129.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/tangbao/" target="_blank">糖包</a> 2006-02-23 17:06 <a href="http://www.blogjava.net/tangbao/articles/32129.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java如何调用可执行文件和批处理命令</title><link>http://www.blogjava.net/tangbao/articles/32126.html</link><dc:creator>糖包</dc:creator><author>糖包</author><pubDate>Thu, 23 Feb 2006 09:02:00 GMT</pubDate><guid>http://www.blogjava.net/tangbao/articles/32126.html</guid><wfw:comment>http://www.blogjava.net/tangbao/comments/32126.html</wfw:comment><comments>http://www.blogjava.net/tangbao/articles/32126.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/tangbao/comments/commentRss/32126.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/tangbao/services/trackbacks/32126.html</trackback:ping><description><![CDATA[<FONT color=#993300 size=2>&nbsp;&nbsp;&nbsp;Java&nbsp;是种跨平台的语言，我们经常碰到需要通过Java调用windows下某些程序。有些第三方厂商如（ANT），也提供了调用windows下可执行程序的方法，但我们往往需要调用一些批处理命令。而java&nbsp;却不提供。<BR>&nbsp;&nbsp;&nbsp;&nbsp;这里，我采用一种变相的调用方法，使得Java&nbsp;能调用批处理命令。如果您有更好的方法，希望您能告诉我。<BR><BR>前期准备[/</FONT><FONT color=#993300 size=2>B]<BR>&nbsp;&nbsp;&nbsp;&nbsp;Quick&nbsp;Batch&nbsp;File&nbsp;(De)Compiler&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;将任何BAT、CMD批处理脚本编译为EXE文件！&nbsp;<BR><BR>开始<BR>1．&nbsp;&nbsp;&nbsp;&nbsp;运行exe&nbsp;文件<BR>Java&nbsp;JDK里已经提供了调用的方法，不在累赘，代码如下。<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;command&nbsp;=&nbsp;"notepad";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Process&nbsp;child&nbsp;=&nbsp;Runtime.getRuntime().exec(command);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;catch&nbsp;(IOException&nbsp;e)&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR><BR>2．&nbsp;&nbsp;&nbsp;&nbsp;运行&nbsp;bat（批处理）&nbsp;文件<BR>&nbsp;&nbsp;&nbsp;&nbsp;Java&nbsp;对批处理文件还不支持。刚开始一直在研究&nbsp;Java&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如何调用批处理文件，始终找不到解决方法。后来只好绕过批处理，考虑如何将批处理转换为exe可执行文件。然后再通过Java调用可执行文件。<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;在Google上搜索一下，找到Quick&nbsp;Batch&nbsp;File&nbsp;(De)Compiler，可以将任何BAT、CMD批处理脚本编译为EXE文件。使用了一下，果然可以。<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;Quick&nbsp;Batch&nbsp;File&nbsp;(De)Compiler使用非常简单：<BR>&nbsp;&nbsp;&nbsp;&nbsp;Quickbfc&nbsp;文件名.bat&nbsp;文件名.exe（将批处理命令编译为可执行文件）&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;quickbfd&nbsp;文件名.exe&nbsp;文件名.bat（将可执行文件反编译为批处理命令）<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;然后，我们再按第一种方法通过Java&nbsp;调用，即可。<BR></FONT><img src ="http://www.blogjava.net/tangbao/aggbug/32126.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/tangbao/" target="_blank">糖包</a> 2006-02-23 17:02 <a href="http://www.blogjava.net/tangbao/articles/32126.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Maven 资源库介绍（开发包描述）[转] </title><link>http://www.blogjava.net/tangbao/articles/32125.html</link><dc:creator>糖包</dc:creator><author>糖包</author><pubDate>Thu, 23 Feb 2006 09:01:00 GMT</pubDate><guid>http://www.blogjava.net/tangbao/articles/32125.html</guid><wfw:comment>http://www.blogjava.net/tangbao/comments/32125.html</wfw:comment><comments>http://www.blogjava.net/tangbao/articles/32125.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/tangbao/comments/commentRss/32125.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/tangbao/services/trackbacks/32125.html</trackback:ping><description><![CDATA[<P align=center>Maven 资源库介绍（开发包描述） </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最近使用maven，才发现自己掌握的java开发包太少啦，于是就将<A href="http://www.ibiblio.org/maven/"><FONT color=#56662d>http://www.ibiblio.org/maven/</FONT></A> 的开发包加上了描述。这可花了我三个晚上，也希望大家将自己了解的开发包加进来，让java开发包遍地开花，大家也可就具体开发包谈谈自己使用心得。 也希望斑竹多鼓励啦，壮我java开发人员军威（有这么开发包还怕谁），我们java开发人员有礼啦！</P>
<P><A href="http://www.ibiblio.org/maven/"><FONT color=#56662d>http://www.ibiblio.org/maven/</FONT></A> 开发包描述（可能丢了一点）：<BR>HTTPClient/ a complete http client library <A href="http://www.innovation.ch/java/HTTPClient/"><FONT color=#56662d>http://www.innovation.ch/java/HTTPClient/</FONT></A> <BR>aelfred/ A free Java-based XML parser <A href="http://mindprod.com/jgloss/aelfred.html"><FONT color=#56662d>http://mindprod.com/jgloss/aelfred.html</FONT></A> <BR>altrmi/ AltRMI is a from-scratch replacement for RMI <A href="http://incubator.apache.org/projects/altrmi"><FONT color=#56662d>http://incubator.apache.org/projects/altrmi</FONT></A> <BR>ant-contrib/ Useful little Ant tasks <A href="http://sourceforge.net/projects/ant-contrib"><FONT color=#56662d>http://sourceforge.net/projects/ant-contrib</FONT></A> <BR>ant-doxygen/ Useful little Ant tasks <A href="http://sourceforge.net/projects/ant-doxygen"><FONT color=#56662d>http://sourceforge.net/projects/ant-doxygen</FONT></A> <BR>ant/ build system <A href="http://ant.apache.org/"><FONT color=#56662d>http://ant.apache.org/</FONT></A> <BR>antlr/ ANother Tool for Language Recognition <A href="http://www.antlr.org/"><FONT color=#56662d>http://www.antlr.org/</FONT></A> <BR>anttex/ TeX Extensions to ANT <A href="http://ls10-www.cs.uni-dortmund.de/~alfert/ant-extension/"><FONT color=#56662d>http://ls10-www.cs.uni-dortmund.de/~alfert/ant-extension/</FONT></A> <BR>aptconvert/ convert the APT format to HTML, XHTML, PDF... <A href="http://www.xmlmind.com/aptconvert.html"><FONT color=#56662d>http://www.xmlmind.com/aptconvert.html</FONT></A> <BR>ashkelon/ navigating JavaDoc-like information about classes, members etc. <A href="http://sourceforge.net/projects/ashkelon/"><FONT color=#56662d>http://sourceforge.net/projects/ashkelon/</FONT></A> <BR>asm/ Java bytecode manipulation framework <A href="http://asm.objectweb.org/"><FONT color=#56662d>http://asm.objectweb.org/</FONT></A> <BR>aspectj/ seamless aspect-oriented extension to java <A href="http://www.eclipse.org/aspectj/"><FONT color=#56662d>http://www.eclipse.org/aspectj/</FONT></A> <BR>avalon/ complete platform for component programming <A href="http://avalon.apache.org/"><FONT color=#56662d>http://avalon.apache.org/</FONT></A> <BR>axion/ a small, fast, open source relational database system <A href="http://axion.tigris.org/"><FONT color=#56662d>http://axion.tigris.org/</FONT></A> <BR>axis/ implementation of the SOAP <A href="http://ws.apache.org/axis/"><FONT color=#56662d>http://ws.apache.org/axis/</FONT></A> <BR>batik/ based toolkit for svg <A href="http://xml.apache.org/batik/"><FONT color=#56662d>http://xml.apache.org/batik/</FONT></A> <BR>bcel/ Byte Code Engineering Library <A href="http://jakarta.apache.org/bcel/"><FONT color=#56662d>http://jakarta.apache.org/bcel/</FONT></A> <BR>blissed/ Java state-machine framework <A href="http://www.sourceforge.net/projects/blissed"><FONT color=#56662d>http://www.sourceforge.net/projects/blissed</FONT></A> <BR>bouncycastle/ Crypto package is a Java implementation of cryptographic algorithms <A href="http://www.bouncycastle.org/documentation.html"><FONT color=#56662d>http://www.bouncycastle.org/documentation.html</FONT></A> <BR>bsf/ Bean Scripting Framework <A href="http://jakarta.apache.org/bsf/"><FONT color=#56662d>http://jakarta.apache.org/bsf/</FONT></A> <BR>bsh/ Lightweight Scripting for Java <A href="http://www.beanshell.org/"><FONT color=#56662d>http://www.beanshell.org/</FONT></A> <BR>burlap/ Burlap web service protocol <A href="http://www.caucho.com/burlap/"><FONT color=#56662d>http://www.caucho.com/burlap/</FONT></A> <BR>cactus/ simple test framework for unit testing server-side java code <A href="http://jakarta.apache.org/cactus/"><FONT color=#56662d>http://jakarta.apache.org/cactus/</FONT></A> <BR>castor/ open source data binding framework <A href="http://castor.exolab.org/"><FONT color=#56662d>http://castor.exolab.org/</FONT></A> <BR>cglib/ powerful, high performance and quality Code Generation Library <A href="http://cglib.sourceforge.net/"><FONT color=#56662d>http://cglib.sourceforge.net/</FONT></A> <BR>checkstyle/ check Java code that adheres to a coding standardc <A href="http://checkstyle.sourceforge.net/"><FONT color=#56662d>http://checkstyle.sourceforge.net/</FONT></A> <BR>classworlds/ framework for container developers who require complex manipulation of Java's ClassLoaders <A href="http://classworlds.codehaus.org/"><FONT color=#56662d>http://classworlds.codehaus.org/</FONT></A> <BR>clover/ code coverage analysis tool <A href="http://www.thecortex.net/clover/"><FONT color=#56662d>http://www.thecortex.net/clover/</FONT></A> <BR>com.walding/ Montage is a web photoalbum <A href="http://projects.walding.com/montage/"><FONT color=#56662d>http://projects.walding.com/montage/</FONT></A> <BR>commons-beanutils/ <A href="http://jakarta.apache.org/commons/beanutils.html"><FONT color=#56662d>http://jakarta.apache.org/commons/beanutils.html</FONT></A> <BR>commons-betwixt/ an XML introspection mechanism for mapping beans to XML in a flexible way <A href="http://jakarta.apache.org/commons/betwixt/index.html"><FONT color=#56662d>http://jakarta.apache.org/commons/betwixt/index.html</FONT></A> <BR>commons-cli/ Command Line Interface <A href="http://jakarta.apache.org/commons/cli/index.html"><FONT color=#56662d>http://jakarta.apache.org/commons/cli/index.html</FONT></A> <BR>commons-codec/ provides implementations of common encoders and decoders such as Base64, Hex, various phonetic encodings, and URLs <A href="http://jakarta.apache.org/commons/codec/index.html"><FONT color=#56662d>http://jakarta.apache.org/commons/codec/index.html</FONT></A> <BR>commons-collections/ java Collections API <A href="http://jakarta.apache.org/commons/collections.html"><FONT color=#56662d>http://jakarta.apache.org/commons/collections.html</FONT></A><BR>commons-configuration/ a project to provide a generic Configuration interface and allow the source of the values to vary. <A href="http://jakarta.apache.org/commons/sandbox/configuration/index.html"><FONT color=#56662d>http://jakarta.apache.org/commons/sandbox/configuration/index.html</FONT></A><BR>commons-daemon/ <A href="http://jakarta.apache.org/commons/daemon/"><FONT color=#56662d>http://jakarta.apache.org/commons/daemon/</FONT></A> <BR>commons-dbcp/ connection pool <A href="http://jakarta.apache.org/commons/dbcp/"><FONT color=#56662d>http://jakarta.apache.org/commons/dbcp/</FONT></A> <BR>commons-digester/ configure an XML -&gt; Java object mapping module <A href="http://jakarta.apache.org/commons/digester.html"><FONT color=#56662d>http://jakarta.apache.org/commons/digester.html</FONT></A> <BR>commons-discovery/ discovering, or finding, implementations for pluggable interfaces <A href="http://jakarta.apache.org/commons/discovery.html"><FONT color=#56662d>http://jakarta.apache.org/commons/discovery.html</FONT></A> <BR>commons-el/ the JSP 2.0 Expression Language Interpreter from Apache. <A href="http://jakarta.apache.org/commons/el.html"><FONT color=#56662d>http://jakarta.apache.org/commons/el.html</FONT></A> <BR>commons-email/ provide send mail function <A href="http://jakarta.apache.org/commons/sandbox/email/"><FONT color=#56662d>http://jakarta.apache.org/commons/sandbox/email/</FONT></A> <BR>commons-fileupload/ FileUpload package <A href="http://jakarta.apache.org/commons/fileupload/index.html"><FONT color=#56662d>http://jakarta.apache.org/commons/fileupload/index.html</FONT></A> <BR>commons-grant/ a small collection of hacks to make using Jakarta Ant in an embedded envinronment much easier. <A href="http://jakarta.apache.org/commons/sandbox/grant/"><FONT color=#56662d>http://jakarta.apache.org/commons/sandbox/grant/</FONT></A> <BR>commons-graph/ <A href="http://lsd.student.utwente.nl/gump/jakarta-commons-sandbox/commons-graph.html"><FONT color=#56662d>http://lsd.student.utwente.nl/gump/jakarta-commons-sandbox/commons-graph.html</FONT></A> <BR>commons-http/ <A href="http://lsd.student.utwente.nl/gump/jakarta-commons-sandbox/commons-http.html"><FONT color=#56662d>http://lsd.student.utwente.nl/gump/jakarta-commons-sandbox/commons-http.html</FONT></A> <BR>commons-httpclient/ HttpClient to provide the core HTTP functionality <A href="http://jakarta.apache.org/commons/httpclient/index.html"><FONT color=#56662d>http://jakarta.apache.org/commons/httpclient/index.html</FONT></A> <BR>commons-io/ package of Java utility classes for java.io's hierarchy <A href="http://jakarta.apache.org/commons/sandbox/io/"><FONT color=#56662d>http://jakarta.apache.org/commons/sandbox/io/</FONT></A> <BR>commons-jdbc2pool/ <BR>commons-jelly/ a tool for turning XML into executable code <A href="http://jakarta.apache.org/commons/jelly/index.html"><FONT color=#56662d>http://jakarta.apache.org/commons/jelly/index.html</FONT></A> <BR>commons-jexl/ Jexl is an expression language engine designed for easy embedding in applications and frameworks <A href="http://jakarta.apache.org/commons/jexl.html"><FONT color=#56662d>http://jakarta.apache.org/commons/jexl.html</FONT></A> <BR>commons-jux/ A common set of JUnit extensions, largely for test inheritance <A href="http://jakarta.apache.org/commons/sandbox/jux/"><FONT color=#56662d>http://jakarta.apache.org/commons/sandbox/jux/</FONT></A> <BR>commons-jxpath/ a simple interpreter of an expression language called XPath <A href="http://jakarta.apache.org/commons/jxpath/index.html"><FONT color=#56662d>http://jakarta.apache.org/commons/jxpath/index.html</FONT></A> <BR>commons-lang/ provide enough methods for manipulation of its core classes <A href="http://jakarta.apache.org/commons/lang.html"><FONT color=#56662d>http://jakarta.apache.org/commons/lang.html</FONT></A> <BR>commons-latka/ a functional (end-to-end) testing tool <A href="http://jakarta.apache.org/commons/latka/index.html"><FONT color=#56662d>http://jakarta.apache.org/commons/latka/index.html</FONT></A> <BR>commons-logging/ log toolkit <BR>commons-messenger/ JMS (Java Message Service) framework which makes it very easy to use JMS in Web Service and Web Application environments. <A href="http://jakarta.apache.org/commons/sandbox/messenger/index.html"><FONT color=#56662d>http://jakarta.apache.org/commons/sandbox/messenger/index.html</FONT></A> <BR>commons-modeler/ designed to make this process fairly painless -- the required metadata is configured from an XML description of each Model MBean to be supported <A href="http://jakarta.apache.org/commons/modeler.html"><FONT color=#56662d>http://jakarta.apache.org/commons/modeler.html</FONT></A> <BR>commons-net/ an Internet protocol suite Java library <A href="http://jakarta.apache.org/commons/net/index.html"><FONT color=#56662d>http://jakarta.apache.org/commons/net/index.html</FONT></A> <BR>commons-pool/ Object-pooling API <A href="http://jakarta.apache.org/commons/pool/"><FONT color=#56662d>http://jakarta.apache.org/commons/pool/</FONT></A> <BR>commons-resources/ providing customized MessageResources implementations that can access resource strings from any desired static or dynamically updated collection <A href="http://jakarta.apache.org/commons/sandbox/resources/index.html"><FONT color=#56662d>http://jakarta.apache.org/commons/sandbox/resources/index.html</FONT></A> <BR>commons-sql/ a component for working with databases and generating DDL <A href="http://jakarta.apache.org/commons/sandbox/sql/index.html"><FONT color=#56662d>http://jakarta.apache.org/commons/sandbox/sql/index.html</FONT></A> <BR>commons-threadpool/ a component for working with pools of threads and asynchronously executing tasks. <A href="http://jakarta.apache.org/commons/sandbox/threadpool/index.html"><FONT color=#56662d>http://jakarta.apache.org/commons/sandbox/threadpool/index.html</FONT></A> <BR>commons-util/ <A href="http://lsd.student.utwente.nl/gump/jakarta-commons-sandbox/commons-util.html"><FONT color=#56662d>http://lsd.student.utwente.nl/gump/jakarta-commons-sandbox/commons-util.html</FONT></A> <BR>commons-validator/ <A href="http://jakarta.apache.org/commons/validator/index.html"><FONT color=#56662d>http://jakarta.apache.org/commons/validator/index.html</FONT></A> <BR>commons-vfs/ a single API for accessing various different file systems <A href="http://jakarta.apache.org/commons/sandbox/vfs/index.html"><FONT color=#56662d>http://jakarta.apache.org/commons/sandbox/vfs/index.html</FONT></A> <BR>commons-xo/ <A href="http://lsd.student.utwente.nl/gump/jakarta-commons-sandbox/commons-xo.html"><FONT color=#56662d>http://lsd.student.utwente.nl/gump/jakarta-commons-sandbox/commons-xo.html</FONT></A> <BR>concurrent/ Concurrent Programming in Java <A href="http://gee.cs.oswego.edu/dl/cpj/"><FONT color=#56662d>http://gee.cs.oswego.edu/dl/cpj/</FONT></A> <BR>cornerstone-connection/ provides a facility to listen for incoming socket connections <A href="http://avalon.apache.org/components/components/connection.html"><FONT color=#56662d>http://avalon.apache.org/components/components/connection.html</FONT></A> <BR>cornerstone-datasour..&gt; provides a way to select DataSourceComponent <A href="http://avalon.apache.org/components/components/datasource.html"><FONT color=#56662d>http://avalon.apache.org/components/components/datasource.html</FONT></A> <BR>cornerstone-scheduler/ provides a services supporting the scheduling of activities to occur an certain intervals <A href="http://avalon.apache.org/components/components/scheduler.html"><FONT color=#56662d>http://avalon.apache.org/components/components/scheduler.html</FONT></A> <BR>cornerstone-sockets/ provides a way to lookup a factory for server of client sockets <A href="http://avalon.apache.org/components/components/sockets.html"><FONT color=#56662d>http://avalon.apache.org/components/components/sockets.html</FONT></A> <BR>cornerstone-store/ provides a way to store named Objects or Streams without knowing how they are stored <A href="http://avalon.apache.org/components/components/store.html"><FONT color=#56662d>http://avalon.apache.org/components/components/store.html</FONT></A> <BR>cornerstone-threads/ provides a way get default or named Thread Pool <A href="http://avalon.apache.org/components/components/threads.html"><FONT color=#56662d>http://avalon.apache.org/components/components/threads.html</FONT></A> <BR>crimson/ Crimson is a Java XML parser <A href="http://xml.apache.org/crimson/"><FONT color=#56662d>http://xml.apache.org/crimson/</FONT></A> <BR>crossdb/ provide cross database tools for manipulating all major databases <A href="http://sourceforge.net/projects/crossdb/"><FONT color=#56662d>http://sourceforge.net/projects/crossdb/</FONT></A> <BR>cryptix/ an international volunteer effort to produce robust, open-source cryptographic software libraries <A href="http://www.cryptix.org/"><FONT color=#56662d>http://www.cryptix.org/</FONT></A> <BR>dbunit/ JUnit extension targeted for database-driven projects <A href="http://dbunit.sourceforge.net/"><FONT color=#56662d>http://dbunit.sourceforge.net/</FONT></A> <BR>dnsjava/ an implementation of DNS in Java <A href="http://sourceforge.net/projects/dnsjava/"><FONT color=#56662d>http://sourceforge.net/projects/dnsjava/</FONT></A> <BR>dom4j/ the flexible XML framework for Java <A href="http://www.dom4j.org/"><FONT color=#56662d>http://www.dom4j.org/</FONT></A> <BR>drools/ augmented implementation of Forgy's Rete algorithm tailored for the object-oriented language of <A href="http://drools.org/"><FONT color=#56662d>http://drools.org/</FONT></A> <BR>dtdparser/ DTD parsers for Java <A href="http://www.wutka.com/dtdparser.html"><FONT color=#56662d>http://www.wutka.com/dtdparser.html</FONT></A> <BR>easymock/ a Java library that provides an easy way to use Mock Objects in unit testing with JUnit. <A href="http://sourceforge.net/projects/easymock"><FONT color=#56662d>http://sourceforge.net/projects/easymock</FONT></A> <BR>eclipse/ a kind of universal tool platform <A href="http://www.eclipse.org/"><FONT color=#56662d>http://www.eclipse.org/</FONT></A> <BR>ecs/ enerating elements for various markup languages it directly supports HTML 4.0 and XML <A href="http://jakarta.apache.org/ecs/index.html"><FONT color=#56662d>http://jakarta.apache.org/ecs/index.html</FONT></A> <BR>edenlib/ collection of Java libraries <A href="http://edenlib.sourceforge.net/"><FONT color=#56662d>http://edenlib.sourceforge.net/</FONT></A> <BR>edtftp/ an entire FTP client library written in Java <A href="http://www.enterprisedt.com/downloads/ftp.html"><FONT color=#56662d>http://www.enterprisedt.com/downloads/ftp.html</FONT></A> <BR>ejb/ enterprise java bean <A href="http://java.sun.com/"><FONT color=#56662d>http://java.sun.com/</FONT></A> <BR>excalibur/ contains a set of utilitiy projects used in the development of container facilities <A href="http://avalon.apache.org/excalibur/index.html"><FONT color=#56662d>http://avalon.apache.org/excalibur/index.html</FONT></A> <BR>exist/ Open Source XML Database <A href="http://exist-db.org/"><FONT color=#56662d>http://exist-db.org/</FONT></A> <BR>exml/ a simple, fast and comprehensive Java toolkit for parsing and manipulating XML documents <A href="http://www.themindelectric.com/products/"><FONT color=#56662d>http://www.themindelectric.com/products/</FONT></A> <BR>exolabcore/ informal organization working on the development of Open Source enterprise software projects <A href="http://www.exolab.org/"><FONT color=#56662d>http://www.exolab.org/</FONT></A> <BR>exteca/ an ontology-based technology written in Java for high-quality knowledge management and document categorisation <A href="http://sourceforge.net/projects/exteca"><FONT color=#56662d>http://sourceforge.net/projects/exteca</FONT></A> <BR>fastutil/ Small, fast type-specific maps, sets, and lists for Java <A href="http://fastutil.dsi.unimi.it/"><FONT color=#56662d>http://fastutil.dsi.unimi.it/</FONT></A> <BR>fesi/ Free EcmaScript Interpreter <A href="http://www.lugrin.ch/fesi/javalib.html"><FONT color=#56662d>http://www.lugrin.ch/fesi/javalib.html</FONT></A> <BR>findbugs/ A Bug Pattern Detector for Java <A href="http://www.cs.umd.edu/~pugh/java/bugs/"><FONT color=#56662d>http://www.cs.umd.edu/~pugh/java/bugs/</FONT></A> <BR>flux/ Servlet based framework <A href="http://jakarta.apache.org/turbine/"><FONT color=#56662d>http://jakarta.apache.org/turbine/</FONT></A> <BR>fop/ Formatting Objects Processor <A href="http://xml.apache.org/fop/"><FONT color=#56662d>http://xml.apache.org/fop/</FONT></A> <BR>forehead/ a very small framework to assist in controlling the run-time ClassLoader hierarchy of Java applications <A href="http://forehead.werken.com/index.html"><FONT color=#56662d>http://forehead.werken.com/index.html</FONT></A> <BR>formproc/ Web Form Proccesing and Validation <A href="http://formproc.sourceforge.net/"><FONT color=#56662d>http://formproc.sourceforge.net/</FONT></A> <BR>foxtrot/ small but powerful framework for using threads with the JavaTM Foundation Classes <A href="http://foxtrot.sourceforge.net/"><FONT color=#56662d>http://foxtrot.sourceforge.net/</FONT></A> <BR>freebxml/ an initiative that aims to foster the development and adoption of ebXML <A href="http://www.freebxml.org/"><FONT color=#56662d>http://www.freebxml.org/</FONT></A> <BR>freemarker/ is a "template engine"; a generic tool to generate text output (anything from HTML or RTF to autogenerated source code) based on templates <A href="http://freemarker.sourceforge.net/"><FONT color=#56662d>http://freemarker.sourceforge.net/</FONT></A> <BR>fulcrum/ uses a proprietary concept of code templates that can be used as "building blocks" to construct efficient Java objects and applications <A href="http://www.acceltree.com/products.htm"><FONT color=#56662d>http://www.acceltree.com/products.htm</FONT></A> <BR>genjar/ a specialized Ant task that builds jar files based on class dependencies <A href="http://sourceforge.net/projects/genjar/"><FONT color=#56662d>http://sourceforge.net/projects/genjar/</FONT></A> <BR>geronimo-spec/ Apache's J2EE project <A href="http://www.apache.org/~jstrachan/geronimo/"><FONT color=#56662d>http://www.apache.org/~jstrachan/geronimo/</FONT></A> <BR>gnu-regexp/ Regular Expressions for Java <A href="http://www.cacas.org/java/gnu/regexp/"><FONT color=#56662d>http://www.cacas.org/java/gnu/regexp/</FONT></A> <BR>graphlayout/ provides a hands-on way to visualize networks of interrelated information <A href="http://www.touchgraph.com/index.html"><FONT color=#56662d>http://www.touchgraph.com/index.html</FONT></A> <BR>groovy/ Java Genetic Programming <A href="http://jgprog.sourceforge.net/"><FONT color=#56662d>http://jgprog.sourceforge.net/</FONT></A> <BR>gsbase/ A collection of useful Java classes <A href="http://sourceforge.net/projects/genjar/"><FONT color=#56662d>http://sourceforge.net/projects/genjar/</FONT></A> <BR>hessian/ binary web service protocol <A href="http://www.caucho.com/hessian/"><FONT color=#56662d>http://www.caucho.com/hessian/</FONT></A> <BR>hibernate/ powerful, ultra-high performance object/relational persistence and query service for Java <A href="http://www.hibernate.org/"><FONT color=#56662d>http://www.hibernate.org/</FONT></A> <BR>hsqldb/ a relational database engine written in Java <A href="http://sourceforge.net/projects/hsqldb"><FONT color=#56662d>http://sourceforge.net/projects/hsqldb</FONT></A> <BR>httpunit/ a Java library for the automatic stimulation and testing of web applications <A href="http://sourceforge.net/projects/httpunit"><FONT color=#56662d>http://sourceforge.net/projects/httpunit</FONT></A> <BR>isorelax/ Regular Language description for XML in java <A href="http://iso-relax.sourceforge.net/"><FONT color=#56662d>http://iso-relax.sourceforge.net/</FONT></A> <BR>itext/ generate documents in the Portable Document Format (PDF) and/or HTML. <A href="http://sourceforge.net/projects/itext"><FONT color=#56662d>http://sourceforge.net/projects/itext</FONT></A> <BR>jacl/ a Tcl implementation in Java <A href="http://www.scriptics.com/java"><FONT color=#56662d>http://www.scriptics.com/java</FONT></A> <BR>jalopy/ source code formatter for the Sun Java programming language <A href="http://jalopy.sourceforge.net/"><FONT color=#56662d>http://jalopy.sourceforge.net/</FONT></A> <BR>james/ Java Apache Mail Enterprise Server <A href="http://james.apache.org/"><FONT color=#56662d>http://james.apache.org/</FONT></A> <BR>jarsync/ a Java implementation of the rsync algorithm <A href="http://jarsync.sourceforge.net/"><FONT color=#56662d>http://jarsync.sourceforge.net/</FONT></A> <BR>java2html/ java library which converts any given Java component and subcomponent tree into its HTML representation <A href="http://sourceforge.net/projects/java2html"><FONT color=#56662d>http://sourceforge.net/projects/java2html</FONT></A> <BR>javacc/ is a parser/scanner generator for java <A href="https://javacc.dev.java.net/"><FONT color=#56662d>https://javacc.dev.java.net/</FONT></A> <BR>javagroups/ Reliable group communication based on IP multicast and configurable protocol stack <A href="http://sourceforge.net/projects/javagroups"><FONT color=#56662d>http://sourceforge.net/projects/javagroups</FONT></A> <BR>javahelp/ a full-featured, platform-independent, extensible help system <A href="http://java.sun.com/products/javahelp/"><FONT color=#56662d>http://java.sun.com/products/javahelp/</FONT></A> <BR>javassist/ (Java Programming Assistant) makes Java bytecode manipulation simple <A href="http://www.csg.is.titech.ac.jp/~chiba/javassist/"><FONT color=#56662d>http://www.csg.is.titech.ac.jp/~chiba/javassist/</FONT></A> <BR>jaxen/ XPath engine written in Java <A href="http://sourceforge.net/projects/jaxen"><FONT color=#56662d>http://sourceforge.net/projects/jaxen</FONT></A> <BR>jaxm/ XML Messaging (JAXM) Optional Package <A href="http://java.sun.com/xml/jaxm/"><FONT color=#56662d>http://java.sun.com/xml/jaxm/</FONT></A> <BR>jaxp/ XML Processing <A href="http://java.sun.com/xml/jaxp/"><FONT color=#56662d>http://java.sun.com/xml/jaxp/</FONT></A> <BR>jaxrpc/ XML-Based RPC <A href="http://java.sun.com/xml/jaxrpc/"><FONT color=#56662d>http://java.sun.com/xml/jaxrpc/</FONT></A> <BR>jboss/ open source application server <A href="http://www.jboss.org/"><FONT color=#56662d>http://www.jboss.org/</FONT></A> <BR>jca/ J2EE Connector <A href="http://java.sun.com/j2ee/connector/"><FONT color=#56662d>http://java.sun.com/j2ee/connector/</FONT></A> <BR>jce/ Java Cryptography Extension <A href="http://java.sun.com/products/jce/index.html"><FONT color=#56662d>http://java.sun.com/products/jce/index.html</FONT></A> <BR>jcifs/ Common Internet File System (CIFS) for java <A href="http://jcifs.samba.org/"><FONT color=#56662d>http://jcifs.samba.org/</FONT></A> <BR>jcommon/ a collection of useful classes used by JFreeChart, JFreeReport and other projects <A href="http://www.jfree.org/jcommon/"><FONT color=#56662d>http://www.jfree.org/jcommon/</FONT></A> <BR>jcoverage/ gives you the ability to write simple unit-tests for abstract classes (such as EJB 2.0 bean classes), <A href="http://jcoverage.com/"><FONT color=#56662d>http://jcoverage.com/</FONT></A> <BR>jcs/ a distributed caching system written in java for server-side java applications <A href="http://jakarta.apache.org/turbine/jcs/"><FONT color=#56662d>http://jakarta.apache.org/turbine/jcs/</FONT></A> <BR>jcvsii/ a CVS client application <A href="http://www.ice.com/java/jcvs/"><FONT color=#56662d>http://www.ice.com/java/jcvs/</FONT></A> <BR>jdbc/ provides cross-DBMS connectivity to a wide range of SQL databases <A href="http://java.sun.com/products/jdbc/index.html"><FONT color=#56662d>http://java.sun.com/products/jdbc/index.html</FONT></A> <BR>jdbm/ a transactional persistence engine for Java <A href="http://jdbm.sourceforge.net/"><FONT color=#56662d>http://jdbm.sourceforge.net/</FONT></A> <BR>jdepend/ traverses Java class file directories and generates design quality metrics for each Java package <A href="http://www.clarkware.com/software/JDepend.html"><FONT color=#56662d>http://www.clarkware.com/software/JDepend.html</FONT></A> <BR>jdiff/ Javadoc doclet which emits an HTML report of all the packages and so on ,whhich are different (the "diff" part) when two Java APIs are compared <A href="http://sourceforge.net/projects/javadiff/"><FONT color=#56662d>http://sourceforge.net/projects/javadiff/</FONT></A> <BR>jdom/ Java-based solution for accessing, manipulating, and outputting XML data <A href="http://www.jdom.org/"><FONT color=#56662d>http://www.jdom.org/</FONT></A> <BR>jdring/ Java Alarm Scheduler <A href="http://webtools.dyade.fr/jdring/"><FONT color=#56662d>http://webtools.dyade.fr/jdring/</FONT></A> <BR>jetty/ java weber server <A href="http://www.sourceforge.net/projects/jetty"><FONT color=#56662d>http://www.sourceforge.net/projects/jetty</FONT></A> <BR>jfreechart/ a class library, written in Java, for generating charts <A href="http://sourceforge.net/projects/jfreechart"><FONT color=#56662d>http://sourceforge.net/projects/jfreechart</FONT></A> <BR>jgen/ Code Generator <A href="http://www.etnasoft.com/jgen_introduction.html"><FONT color=#56662d>http://www.etnasoft.com/jgen_introduction.html</FONT></A> <BR>jgraph/ the most powerful, lightweight, feature-rich, and thoroughly documented open-source graph component available for Java. <A href="http://sourceforge.net/projects/jgraph"><FONT color=#56662d>http://sourceforge.net/projects/jgraph</FONT></A> <BR>jisp/ java indexed serialization package <A href="http://www.coyotegulch.com/jisp/index.html"><FONT color=#56662d>http://www.coyotegulch.com/jisp/index.html</FONT></A> <BR>jms/ Java Message Service <A href="http://java.sun.com/products/jms/"><FONT color=#56662d>http://java.sun.com/products/jms/</FONT></A> <BR>jndi/ Java Naming and Directory Interface <A href="http://java.sun.com/products/jndi/"><FONT color=#56662d>http://java.sun.com/products/jndi/</FONT></A> <BR>jsch/ Java Secure Channel <A href="http://www.jcraft.com/jsch/"><FONT color=#56662d>http://www.jcraft.com/jsch/</FONT></A> <BR>jsse/ Java Secure Socket Extension <A href="http://java.sun.com/products/jsse/"><FONT color=#56662d>http://java.sun.com/products/jsse/</FONT></A> <BR>jstl/ JavaServer Pages Standard Tag Library <A href="http://java.sun.com/products/jsp/jstl/"><FONT color=#56662d>http://java.sun.com/products/jsp/jstl/</FONT></A> <BR>jstyle/ is an automated Java code review tool <A href="http://www.mmsindia.com/jstyle.html"><FONT color=#56662d>http://www.mmsindia.com/jstyle.html</FONT></A> <BR>jta/ Java Transaction API Specification <A href="http://java.sun.com/products/jta/"><FONT color=#56662d>http://java.sun.com/products/jta/</FONT></A> <BR>jtidy/ a Java port of HTML Tidy, a HTML syntax checker and pretty printer <A href="http://sourceforge.net/projects/jtidy"><FONT color=#56662d>http://sourceforge.net/projects/jtidy</FONT></A> <BR>junit-doclet/ JUnitDoclet <A href="http://www.junitdoclet.org/"><FONT color=#56662d>http://www.junitdoclet.org/</FONT></A> <BR>junit/ java unit test <A href="http://www.junit.org/"><FONT color=#56662d>http://www.junit.org/</FONT></A> <BR>junitperf/ java performance unit test <A href="http://www.clarkware.com/software/JUnitPerf.html"><FONT color=#56662d>http://www.clarkware.com/software/JUnitPerf.html</FONT></A> <BR>jwebunit/ a Java framework that facilitates creation of acceptance tests for web applications <A href="http://jwebunit.sourceforge.net/"><FONT color=#56662d>http://jwebunit.sourceforge.net/</FONT></A> <BR>jython/ an implementation of the high-level, dynamic, object-oriented language Python in java <A href="http://jython.sourceforge.net/"><FONT color=#56662d>http://jython.sourceforge.net/</FONT></A> <BR>kxml/ kvm java xml parser <A href="http://kxml.enhydra.org/"><FONT color=#56662d>http://kxml.enhydra.org/</FONT></A> <BR>kxml2/ kvm java xml parser <A href="http://kxml.enhydra.org/"><FONT color=#56662d>http://kxml.enhydra.org/</FONT></A> <BR>ldapd-common/ LDAPd will be a pure Java LDAP v3 protocol <A href="http://ldapd.sourceforge.net/modules/ldapd-common/"><FONT color=#56662d>http://ldapd.sourceforge.net/modules/ldapd-common/</FONT></A> <BR>ldapsdk/ Netscape Directory SDK for Java <A href="http://www.mozilla.org/directory/javasdk.html"><FONT color=#56662d>http://www.mozilla.org/directory/javasdk.html</FONT></A> <BR>log4j/ Inserting log statements into your code <A href="http://jakarta.apache.org/log4j/docs/index.html"><FONT color=#56662d>http://jakarta.apache.org/log4j/docs/index.html</FONT></A> <BR>logkit/ log api <A href="http://avalon.apache.org/"><FONT color=#56662d>http://avalon.apache.org/</FONT></A> <BR>lucene/ high-performance, full-featured text search engine written entirely in Java <A href="http://jakarta.apache.org/lucene/docs/index.html"><FONT color=#56662d>http://jakarta.apache.org/lucene/docs/index.html</FONT></A> <BR>maven/ Java project management and project comprehension tool <A href="http://maven.apache.org/"><FONT color=#56662d>http://maven.apache.org/</FONT></A> <BR>maxq/ a web functional testing tool <A href="http://maxq.tigris.org/"><FONT color=#56662d>http://maxq.tigris.org/</FONT></A> <BR>mckoi/ Mckoi SQL Database written entirely in Java. <A href="http://mckoi.com/database/"><FONT color=#56662d>http://mckoi.com/database/</FONT></A> <BR>merlin/ erlin is an advanced component and service management solution that simplifies and enhances component development <A href="http://avalon.apache.org/"><FONT color=#56662d>http://avalon.apache.org/</FONT></A> <BR>com.mysql/ mysql jdbc driver <A href="http://www.mysql.com/products/connector-j/index.html"><FONT color=#56662d>http://www.mysql.com/products/connector-j/index.html</FONT></A> <BR>mockcreator/ Java Mock Generator <A href="http://mockcreator.sourceforge.net/"><FONT color=#56662d>http://mockcreator.sourceforge.net/</FONT></A> <BR>mockobjects/ a test-first development process for building object-oriented software <A href="http://wiki.truemesh.com/mockobjects"><FONT color=#56662d>http://wiki.truemesh.com/mockobjects</FONT></A> <BR>msv/ Multi-Schema XML Validator <A href="https://msv.dev.java.net/"><FONT color=#56662d>https://msv.dev.java.net/</FONT></A> <BR>mule/ a simple yet robust and highly scalable component broker and services framework <A href="http://www.cubis.co.uk/mule/"><FONT color=#56662d>http://www.cubis.co.uk/mule/</FONT></A> <BR>mx4j/ Open Source implementation for the JMXTM technology <A href="http://mx4j.sourceforge.net/"><FONT color=#56662d>http://mx4j.sourceforge.net/</FONT></A> <BR>mysql/ mysql jdbc driver <A href="http://www.mysql.com/products/connector-j/index.html"><FONT color=#56662d>http://www.mysql.com/products/connector-j/index.html</FONT></A> <BR>nanning/ Aspect Frameworks <A href="http://nanning.snipsnap.org/space/Nanning"><FONT color=#56662d>http://nanning.snipsnap.org/space/Nanning</FONT></A> <BR>nekohtml/ html parser <A href="http://www.apache.org/~andyc/neko/doc/html/"><FONT color=#56662d>http://www.apache.org/~andyc/neko/doc/html/</FONT></A> <BR>netbeans/ an ide development tool <A href="http://www.netbeans.org/"><FONT color=#56662d>http://www.netbeans.org/</FONT></A> <BR>nsuml/ Novosoft metadata framework and uml library <A href="http://nsuml.sourceforge.net/"><FONT color=#56662d>http://nsuml.sourceforge.net/</FONT></A> <BR>odmg/ Object Data Management Group <A href="http://www.odmg.org/"><FONT color=#56662d>http://www.odmg.org/</FONT></A> <BR>ognl/ Object-Graph Navigation Language <A href="http://www.ognl.org/"><FONT color=#56662d>http://www.ognl.org/</FONT></A> <BR>ojb/ an Object/Relational mapping tool <A href="http://db.apache.org/ojb/"><FONT color=#56662d>http://db.apache.org/ojb/</FONT></A> <BR>openim/ OpenIM Java Jabber Server <A href="http://javajabber.net/en/"><FONT color=#56662d>http://javajabber.net/en/</FONT></A> <BR>openjms/ Open Source implementation of Java Message Service Specification <A href="http://sourceforge.net/projects/openjms"><FONT color=#56662d>http://sourceforge.net/projects/openjms</FONT></A> <BR>opensymphony/ Open Source project dedicated to providing enterprise class J2EE applications and components <A href="http://sourceforge.net/projects/opensymphony"><FONT color=#56662d>http://sourceforge.net/projects/opensymphony</FONT></A> <BR>oro/ a set of text-processing Java classes that provide Perl5 compatible regular expressions <A href="http://jakarta.apache.org/oro/"><FONT color=#56662d>http://jakarta.apache.org/oro/</FONT></A> <BR>p6spy/ an open source framework for applications that intercept and optionally modify database statements <A href="http://www.p6spy.com/"><FONT color=#56662d>http://www.p6spy.com/</FONT></A> <BR>patterntesting/ A new type of automated testing that ensures that development patterns, best practices, architecture design are being correctly implemented <A href="http://sourceforge.net/projects/patterntesting"><FONT color=#56662d>http://sourceforge.net/projects/patterntesting</FONT></A> <BR>petridish/ workflow systems. <A href="http://petridish.werken.com/"><FONT color=#56662d>http://petridish.werken.com/</FONT></A> <BR>piccolo/ is a small, extremely fast XML parser for Java <A href="http://piccolo.sourceforge.net/"><FONT color=#56662d>http://piccolo.sourceforge.net/</FONT></A> <BR>plexus/ Decouples the behaviour of service from the point in time at which service implementations are configured into an application or system <A href="http://plexus.codehaus.org/index.html"><FONT color=#56662d>http://plexus.codehaus.org/index.html</FONT></A> <BR>pluto-container/ is the Reference Implementation of the Java Portlet Specfication <A href="http://jakarta.apache.org/pluto/"><FONT color=#56662d>http://jakarta.apache.org/pluto/</FONT></A> <BR>pmd/ a Java source code analyzer. <A href="http://sourceforge.net/projects/pmd"><FONT color=#56662d>http://sourceforge.net/projects/pmd</FONT></A> <BR>poi/ Java API To Access Microsoft Format Files <A href="http://jakarta.apache.org/poi/index.html"><FONT color=#56662d>http://jakarta.apache.org/poi/index.html</FONT></A> <BR>postgresql/ PostgreSQL JDBC Drivers <A href="http://jdbc.postgresql.org/"><FONT color=#56662d>http://jdbc.postgresql.org/</FONT></A> <BR>prevayler/ fastest, simplest and most transparent business object persistence, ACID transaction, fault-tolerance, replication and load-balancing architecture <A href="http://www.prevayler.org/wiki.jsp"><FONT color=#56662d>http://www.prevayler.org/wiki.jsp</FONT></A> <BR>profiler/ an enterprise level all-in-one Java profiler <A href="http://www.ej-technologies.com/products/jprofiler/overview.html"><FONT color=#56662d>http://www.ej-technologies.com/products/jprofiler/overview.html</FONT></A> <BR>pull-parser/ XML Pull Parser <A href="http://www.extreme.indiana.edu/xgws/xsoap/xpp/"><FONT color=#56662d>http://www.extreme.indiana.edu/xgws/xsoap/xpp/</FONT></A> <BR>qdox/ a high speed, small footprint parser for extracting class/interface/method definitions from source files complete with JavaDoc @tags. <A href="http://qdox.codehaus.org/"><FONT color=#56662d>http://qdox.codehaus.org/</FONT></A> <BR>quartz/ Symbian Quartz SDK for Java <A href="http://www.symbian.com/developer/techlib/Qdocs/java/navigationpages/SDK_start.html"><FONT color=#56662d>http://www.symbian.com/developer/techlib/Qdocs/java/navigationpages/SDK_start.html</FONT></A> <BR>redhill/ Similarity Analyser) <A href="http://www.redhillconsulting.com.au/products/simian/"><FONT color=#56662d>http://www.redhillconsulting.com.au/products/simian/</FONT></A> <BR>regexp/ Java Regular Expression package <A href="http://jakarta.apache.org/regexp/"><FONT color=#56662d>http://jakarta.apache.org/regexp/</FONT></A> <BR>relaxngDatatype/ public space for test cases and other ancillary software related to the construction of the RELAX NG language and its implementations. <A href="http://sourceforge.net/projects/relaxng"><FONT color=#56662d>http://sourceforge.net/projects/relaxng</FONT></A> <BR>rhino/ open-source implementation of JavaScript written entirely in Java <A href="http://www.mozilla.org/rhino/"><FONT color=#56662d>http://www.mozilla.org/rhino/</FONT></A> <BR>saaj/ Attachments API for Java <A href="http://java.sun.com/xml/saaj/"><FONT color=#56662d>http://java.sun.com/xml/saaj/</FONT></A> <BR>sax/ Simple API for XML <A href="http://www.saxproject.org/"><FONT color=#56662d>http://www.saxproject.org/</FONT></A> <BR>saxon/ The XSLT and XQuery Processor <A href="http://saxon.sourceforge.net/"><FONT color=#56662d>http://saxon.sourceforge.net/</FONT></A> <BR>saxpath/ Java API for XPath parsing <A href="http://saxpath.org/"><FONT color=#56662d>http://saxpath.org/</FONT></A> <BR>servletapi/ servlet api <A href="http://java.sun.com/products/servlet/"><FONT color=#56662d>http://java.sun.com/products/servlet/</FONT></A> <BR>skaringa/ a framework for Java and XML language binding <A href="http://skaringa.sourceforge.net/"><FONT color=#56662d>http://skaringa.sourceforge.net/</FONT></A> <BR>skinlf/ Skin Look And Feel <A href="http://www.l2fprod.com/"><FONT color=#56662d>http://www.l2fprod.com/</FONT></A> <BR>soap/ WebServices <A href="http://ws.apache.org/soap/"><FONT color=#56662d>http://ws.apache.org/soap/</FONT></A> <BR>sshtools/ a suite of Java SSH applications providing a Java SSH API, SSH Terminal, SSH secured VNC client, SFTP client and SSH Daemon <A href="http://sourceforge.net/projects/sshtools/"><FONT color=#56662d>http://sourceforge.net/projects/sshtools/</FONT></A> <BR>statcvs/ CVS Repository statistic analysis tool <A href="http://statcvs.sourceforge.net/"><FONT color=#56662d>http://statcvs.sourceforge.net/</FONT></A> <BR>stratum/ Java Caching System <A href="http://jakarta.apache.org/turbine/stratum/JavaCachingSystem.html"><FONT color=#56662d>http://jakarta.apache.org/turbine/stratum/JavaCachingSystem.html</FONT></A> <BR>struts-menu/ Struts Plugin that allows creation of many different menu systems from an XML file. <A href="http://struts-menu.sourceforge.net/"><FONT color=#56662d>http://struts-menu.sourceforge.net/</FONT></A> <BR>struts/ web development framework <A href="http://jakarta.apache.org/struts/index.html"><FONT color=#56662d>http://jakarta.apache.org/struts/index.html</FONT></A><BR>strutstestcase/ an extension of the JUnit TestCase class that allows testing of individual Action objects with or without a running servlet engine <A href="http://sourceforge.net/projects/strutstestcase"><FONT color=#56662d>http://sourceforge.net/projects/strutstestcase</FONT></A> <BR>stxx/ Struts for Transforming XML with XSL <A href="http://stxx.sourceforge.net/"><FONT color=#56662d>http://stxx.sourceforge.net/</FONT></A> <BR>suiterunner/ A Tool for Conformance and Unit Testing for Java APIs <A href="http://www.artima.com/suiterunner/"><FONT color=#56662d>http://www.artima.com/suiterunner/</FONT></A> <BR>swt/ The Standard Widget Toolkit <A href="http://www.eclipse.org/articles/Article-SWT-Design-1/SWT-Design-1.html"><FONT color=#56662d>http://www.eclipse.org/articles/Article-SWT-Design-1/SWT-Design-1.html</FONT></A> <BR>sysunit/ JUnit framework for distributed unit testing <A href="http://sysunit.sourceforge.net/"><FONT color=#56662d>http://sysunit.sourceforge.net/</FONT></A> <BR>tablelayout/ An Alternative to GridBagLayout <A href="http://java.sun.com/products/jfc/tsc/articles/tablelayout/"><FONT color=#56662d>http://java.sun.com/products/jfc/tsc/articles/tablelayout/</FONT></A> <BR>taglibs/ an open-source repository for JSP custom tag libraries <A href="http://jakarta.apache.org/taglibs/index.html"><FONT color=#56662d>http://jakarta.apache.org/taglibs/index.html</FONT></A> <BR>tambora/ considered an enterprise class papiNet enabler <A href="http://tambora.zenplex.org/index.html"><FONT color=#56662d>http://tambora.zenplex.org/index.html</FONT></A> <BR>tapestry/ a powerful, open-source, all-Java framework for creating leading edge web applications in Java. <A href="http://jakarta.apache.org/tapestry/index.html"><FONT color=#56662d>http://jakarta.apache.org/tapestry/index.html</FONT></A> <BR>thaiopensource/ a schema language for XML, based on TREX and RELAX. <A href="http://www.thaiopensource.com/"><FONT color=#56662d>http://www.thaiopensource.com/</FONT></A> <BR>tjdo/ an open source implementation of Sun's JDO specification <A href="http://tjdo.sourceforge.net/"><FONT color=#56662d>http://tjdo.sourceforge.net/</FONT></A> <BR>tomcat-util/ tomcat util package <A href="http://jakarta.apache.org/tomcat"><FONT color=#56662d>http://jakarta.apache.org/tomcat</FONT></A> <BR>tomcat/ web server <A href="http://jakarta.apache.org/tomcat"><FONT color=#56662d>http://jakarta.apache.org/tomcat</FONT></A> <BR>torque/ a persistence layer <A href="http://db.apache.org/torque/"><FONT color=#56662d>http://db.apache.org/torque/</FONT></A> <BR>touchstone/ A certifying compiler for Java <A href="http://raw.cs.berkeley.edu/touchstone.html"><FONT color=#56662d>http://raw.cs.berkeley.edu/touchstone.html</FONT></A> <BR>turbine/ servlet based framework <A href="http://jakarta.apache.org/turbine/index.html"><FONT color=#56662d>http://jakarta.apache.org/turbine/index.html</FONT></A> <BR>tyrex/ the missing piece in the J2EE puzzle, a J2EE service provider for both Servlet and EJB container <A href="http://tyrex.sourceforge.net/"><FONT color=#56662d>http://tyrex.sourceforge.net/</FONT></A> <BR>urbanophile/ Java command line option parser <A href="http://www.urbanophile.com/arenn/hacking/download.html"><FONT color=#56662d>http://www.urbanophile.com/arenn/hacking/download.html</FONT></A> <BR>vdoclet/ a code-generation framework <A href="http://sourceforge.net/projects/vdoclet"><FONT color=#56662d>http://sourceforge.net/projects/vdoclet</FONT></A> <BR>velocity/ a Java-based template engine <A href="http://jakarta.apache.org/velocity/"><FONT color=#56662d>http://jakarta.apache.org/velocity/</FONT></A> <BR>velocity-tools/ collection of Velocity subprojects with a common goal of creating tools and infrastructure for building both web and non-web applications using the Velocity template engine. <A href="http://jakarta.apache.org/velocity/tools/index.html"><FONT color=#56662d>http://jakarta.apache.org/velocity/tools/index.html</FONT></A><BR>village/ a 100% Pure Java API that sits on top of the JDBC API <A href="http://www.working-dogs.com/village/"><FONT color=#56662d>http://www.working-dogs.com/village/</FONT></A> <BR>webmacro/ 100% Java open-source template language <A href="http://www.webmacro.org/"><FONT color=#56662d>http://www.webmacro.org/</FONT></A> <BR>webtest/ free open source tool for automated testing of web applications. <A href="http://webtest.canoo.com/webtest/manual/WebTestHome.html"><FONT color=#56662d>http://webtest.canoo.com/webtest/manual/WebTestHome.html</FONT></A> <BR>webwork/ an Open Source project dedicated to providing enterprise class J2EE applications and components <A href="http://sourceforge.net/projects/opensymphony"><FONT color=#56662d>http://sourceforge.net/projects/opensymphony</FONT></A> <BR>werken-xpath/ XPath-Rec implementation for DOM4J <A href="http://sourceforge.net/projects/werken-xpath/"><FONT color=#56662d>http://sourceforge.net/projects/werken-xpath/</FONT></A> <BR>werkflow/ a Java workflow engine built against the blissed state-machine framework and the drools RETE-based rules engine. <A href="http://werkflow.codehaus.org/"><FONT color=#56662d>http://werkflow.codehaus.org/</FONT></A> <BR>werkz/ a lightweight framework for goal-oriented processes <A href="http://sourceforge.net/projects/werkz"><FONT color=#56662d>http://sourceforge.net/projects/werkz</FONT></A> <BR>which/ simple environment checking utility for Apache projects <A href="http://xml.apache.org/commons/components/which/index.html"><FONT color=#56662d>http://xml.apache.org/commons/components/which/index.html</FONT></A> <BR>wrapper/ Java Service Wrapper <A href="http://wrapper.tanukisoftware.org/doc/english/index.html"><FONT color=#56662d>http://wrapper.tanukisoftware.org/doc/english/index.html</FONT></A> <BR>wsdl4j/ Web Services Description Language for Java Toolkit <A href="http://www-124.ibm.com/developerworks/projects/wsdl4j/"><FONT color=#56662d>http://www-124.ibm.com/developerworks/projects/wsdl4j/</FONT></A> <BR>xalan/ an XSLT processor for transforming XML documents into HTML, text, or other XML document types <A href="http://xml.apache.org/xalan-j/index.html"><FONT color=#56662d>http://xml.apache.org/xalan-j/index.html</FONT></A> <BR>xdoclet/ a code generation framework <A href="http://www.sourceforge.net/projects/xdoclet"><FONT color=#56662d>http://www.sourceforge.net/projects/xdoclet</FONT></A> <BR>xerces/ the next generation of high performance, fully compliant XML parsers <A href="http://xml.apache.org/xerces2-j/index.html"><FONT color=#56662d>http://xml.apache.org/xerces2-j/index.html</FONT></A> <BR>xercesjarv/ JARV driver for Xerces-2 <A href="http://www.kohsuke.org/jarv/xerces/"><FONT color=#56662d>http://www.kohsuke.org/jarv/xerces/</FONT></A> <BR>xml-apis/ xml-apis <A href="http://lsd.student.utwente.nl/gump/xml-commons/xml-apis.html"><FONT color=#56662d>http://lsd.student.utwente.nl/gump/xml-commons/xml-apis.html</FONT></A> <BR>xml-security/ aimed at providing implementation of security standards for XML <A href="http://xml.apache.org/security/index.html"><FONT color=#56662d>http://xml.apache.org/security/index.html</FONT></A> <BR>xmlbeans/ is a tool that allows you to access the full power of XML in a Java friendly way <A href="http://xml.apache.org/xmlbeans/"><FONT color=#56662d>http://xml.apache.org/xmlbeans/</FONT></A> <BR>xmldb/ Initiative for XML Databases <A href="http://www.xmldb.org/"><FONT color=#56662d>http://www.xmldb.org/</FONT></A> <BR>xmlenc/ fast stream-based XML output library for Java <A href="http://xmlenc.sourceforge.net/"><FONT color=#56662d>http://xmlenc.sourceforge.net/</FONT></A> <BR>xmlpull/ Common API for XML Pull Parsing <A href="http://www.xmlpull.org/"><FONT color=#56662d>http://www.xmlpull.org/</FONT></A> <BR>xmlrpc-helma/ XML-RPC <A href="http://xmlrpc.helma.org/"><FONT color=#56662d>http://xmlrpc.helma.org/</FONT></A> <BR>xmlrpc/ a Java implementation of XML-RPC <A href="http://ws.apache.org/xmlrpc/"><FONT color=#56662d>http://ws.apache.org/xmlrpc/</FONT></A> <BR>xmlunit/ JUnit and NUnit testing for XML <A href="http://xmlunit.sourceforge.net/"><FONT color=#56662d>http://xmlunit.sourceforge.net/</FONT></A> <BR>xmtp/ A rapidly transformable and portable , XML complients mail transfer protocol - Based on XML, SMTP, &amp; Java <A href="http://www.openhealth.org/xmtp/"><FONT color=#56662d>http://www.openhealth.org/xmtp/</FONT></A> <BR>xom/ a new XML object model <A href="http://www.cafeconleche.org/XOM/"><FONT color=#56662d>http://www.cafeconleche.org/XOM/</FONT></A> <BR>xpp3/ XML Pull Parser <A href="http://www.extreme.indiana.edu/xgws/xsoap/xpp/"><FONT color=#56662d>http://www.extreme.indiana.edu/xgws/xsoap/xpp/</FONT></A> <BR>xsdlib/ Sun XML Datatypes Library <A href="http://wwws.sun.com/software/xml/developers/xsdlib/"><FONT color=#56662d>http://wwws.sun.com/software/xml/developers/xsdlib/</FONT></A> </P><img src ="http://www.blogjava.net/tangbao/aggbug/32125.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/tangbao/" target="_blank">糖包</a> 2006-02-23 17:01 <a href="http://www.blogjava.net/tangbao/articles/32125.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>cvs完全手册</title><link>http://www.blogjava.net/tangbao/articles/32123.html</link><dc:creator>糖包</dc:creator><author>糖包</author><pubDate>Thu, 23 Feb 2006 08:57:00 GMT</pubDate><guid>http://www.blogjava.net/tangbao/articles/32123.html</guid><wfw:comment>http://www.blogjava.net/tangbao/comments/32123.html</wfw:comment><comments>http://www.blogjava.net/tangbao/articles/32123.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/tangbao/comments/commentRss/32123.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/tangbao/services/trackbacks/32123.html</trackback:ping><description><![CDATA[<TABLE cellSpacing=0 cellPadding=3 width="100%" border=0>
<TBODY>
<TR>
<TD vAlign=top>
<P><FONT class=normalfont><FONT face=Verdana size=2>来自：Linux知识宝库<BR>现载：</FONT><A href="http://www.douzhe.com/linuxtips/1493.html"><FONT face=Verdana color=#666666 size=2>http://www.douzhe.com/linuxtips/1493.html</FONT></A><BR><FONT face=Verdana size=2>地址：无名<BR><BR>最近项目使用cvs管理，研究了一段时间，参考了几个文档，总结如下<BR><BR><BR>CVS完全手册<BR>==========================================================================<BR>He Wehzhu, kerlion@netease.com, created at 2003-11-5<BR>updated at 2003-11-12<BR>版权声明：可以任意转载，转载时请务必标明原始出处和作者信息<BR>==========================================================================<BR><BR>内容<BR>概述<BR>CVS环境设置<BR>登录CVS服务器：　<BR>cvs命令格式<BR>CVS的日常使用<BR>其他常用命令<BR>CVS宏/keyword<BR>CVS分支管理<BR>CVS服务器的安装和配置<BR>Watchers<BR>WinCVS的安装和配置<BR>CVSWEB的安装<BR><BR><BR>概述<BR>==================================<BR><BR>CVS是一个并行版本控制系统，它采用C/S模式，它的复杂度和功能性属于中等，是当今最流行的版本控制系统。它有两个基本的特点：<BR>*保存修改记录：保存了所有文件的修改历史，并可以建立分支<BR>*协作与并行：cvs不推荐使用lock-modify-unlock的串行的工作模式，而采用多人可以并行地修改同一个文件，而在提交时merge conflict；它更适合于大型的工作团体。<BR>使用CVS的好处：<BR>*文件集中管理，大家都可以方便的看到所有人员的最新文件,规范化了文件的管理<BR>*可以查看以前任何的一个版本或修改历史<BR>*可以同时维护多个版本和分支<BR><BR><BR>CVS环境设置<BR>==================================<BR><BR>先不要管CVS服务器的配置，我们先假设已经有一台配置好的服务器，要访问CVS，必需先设置环境变量CVSROOT<BR>CVSROOT=:pserver:user@server#port:/path/to/cvsroot<BR><BR>*pserver是访问方式，口令认证的意思，这是最常用的方式，其他还有gserver,kserver,ext<BR>*user是CVS服务器的用户名，<BR>*server是CVS服务器的名称或者IP地址<BR>*/path/to/cvsroot是你的CVS服务器的CVSROOT目录，根据你的CVS服务器设置做修改或者询问管理员<BR>你可以把设置放到你的shell的profile里（.bash_profile，.profile等）这样就不用每次敲一长串命令了<BR><BR>高级功能：现在比较流行是使用ssh来加密口令和数据流<BR>CVSROOT=:ext:user@server#port:/path/to/cvsroot<BR>CVS_RSH=ssh<BR>hints:<BR>实际上没有CVSROOT也可以，你可以每次用cvs -d :pserver:user@server#port:/path/to/cvsroot来访问，而且它将忽略CVSROOT环境变量，也许你会笑我只有疯子才这么用，不过，cvs可以把每次使用的命令参数放到一个文件中，所以在~/.cvsrc中加入<BR>cvs -d :pserver:user@server#port:/path/to/cvsroot<BR>即可，它最大的好处是修改了立刻生效，而且它的优先级高于CVSROOT环境变量，到时候不要傻乎乎地来问我，我的环境变量真么不起作用了。<BR><BR><BR>登录CVS服务器：　<BR>==================================<BR>$cvs　login，这时候cvs会问你口令，请把你在CVS服务器上的口令敲进去<BR>如果没有任何错误信息，恭喜你，成功了！<BR>成功登录后将建立一个~/.cvspass文件，保存你的口令，以后就不用输入口令了．<BR><BR>cvs命令格式<BR>==================================<BR>cvs [global_opts] command [command_opts] [command_args]<BR>Global options 属于左边cvs的，是全局的<BR>command_opts 属于左边command的，是局部的<BR>cvs --help-commands查看命令列表<BR>cvs -H command/cvs -help command 查看该命令的选项<BR>hints:如果你每次使用一些命令都带同样的参数的话，可以把它们放到~/.cvsrc文件中去<BR>update -c<BR>diff -c<BR>add -kb<BR>cvs -Q<BR><BR><BR>cvs global-option comand comand-option arguments<BR><BR>CVS的日常使用<BR>==================================<BR>CVS使用流程<BR>a checkout 尽当本地没有working copy时使用<BR>b staus 检查服务器上是否有新版本<BR>c update 如果有,则用update同步文件<BR>d 做你自己的修改，并保证正确<BR>e update 看是否有人修改了你的文件<BR>f 如果有冲突，合并冲突<BR>g commit 提交你的修改，如果因为又有人提交修改而失败，回到e步<BR>h 回到b步<BR><BR>1 cvs checkout module_name<BR>-------------------------------------<BR>module_name可以暂时理解为目录名，它会在本地但前目录下建立module_name目录，在把服务器上说有module_name目录下的文件copy到本地module_name目录下。<BR>注意：第一次checkout后，就不是通过cvs checkout来同步文件了，而是要进入该目录下进行具体文件的版本同步（添加，修改，删除）操作。<BR><BR>2 cvs update filename<BR>-------------------------------------<BR>将文件同步到最新的版本：不指定文件名，cvs将同步所有子目录下的文件。<BR>最好每天开始工作前或将自己的工作导入到CVS库里前都要做一次，并养成"先同步 后修改"的习惯，和Virvual SourceSafe不同，CVS里没有文件锁定的概念，所有的冲突是在commit之前解决，如果你修改过程中，有其他人修改并commit到了CVS 库中，CVS会通知你文件冲突<BR>&lt;&lt;&lt;&lt;&lt;&lt;&lt; filename<BR>你文件上的内容<BR>=======<BR>服务器上文件的内容<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; latest revision number in the repository<BR><BR>由你确认冲突内容的取舍。也可以多人协商解决，修改完成后去掉文件中的冲突标志<BR><BR>conflict:多人修改同一文件的同一区域这就叫冲突，它必须由人来解决，CVS不处理冲突，它只是告诉你存才冲突<BR><BR><BR>3 cvs commit -m "write some comments here" file_name<BR>------------------------------------<BR>确认修改写入到CVS库里。<BR>注意：CVS的很多动作都是通过cvs commit进行最后确认并修改的，最好每次只修改一个文件。在确认的前，还需要用户填写修改注释，以帮助其他开发人员了解修改的原因。如果不用写-m "comments"而直接确认`cvs commit file_name` 的话，cvs会自动调用系统缺省的文字编辑器(一般是vi)要求你写入注释。<BR>注释的质量很重要：所以不仅必须要写，而且必须写一些比较有意义的内容：以方便其他开发人员能够很好的理解<BR>不好的注释，很难让其他的开发人员快速的理解：比如： -m "bug fixed" 甚至 -m ""<BR>好的注释，甚至可以用中文: -m "在用户注册过程中加入了Email地址校验"<BR><BR>修改某个版本注释：每次只确认一个文件到CVS库里是一个很好的习惯，但难免有时候忘了指定文件名，把多个文件以同样注释commit到CVS库里了，以下命令可以允许你修改某个文件某个版本的注释：<BR>cvs admin -m 1.3:"write some comments here" file_name<BR><BR>4 查看状态<BR>------------------------------------<BR>cvs　status filename<BR>状态报告，类似这样：　<BR>File:　foo.c　　　　　　　　　　　　　Status:　Up-to-date　<BR>　　　Working　revision:　　　　1.1.1.1　'Some　Date'　<BR>　　　Repository　revision:　1.2　　　　　/home/cvsroot/cvstest/foo.c,v　<BR>　　　Sticky　Tag:　　　　　　　　　　(none)　<BR>　　　Sticky　Date:　　　　　　　　　(none)　<BR>　　　Sticky　Options:　　　　　　(none)　<BR><BR>这里最重要的就是Status栏，这里总共可能有四种状态：　<BR>Up-to-date： 表明你要到的文件是最新的．　<BR>Locally　Modified： 表明你曾经修改过该文件，但还没有提交，你的版本比仓库里的新．　<BR>Needing　Patch： 表明有个哥们已经修改过该文件并且已经提交了！你的版本比仓库里的旧．　<BR>Needs　Merge： 表明你曾经修改该文件，但是偏偏有个不识相的也修改了这个文件，而且还提交了!<BR><BR>5 查看修改历史和注释信息<BR>------------------------------------<BR>cvs log file_name<BR><BR><BR>其他常用命令<BR>==================================<BR>1 添加文件和目录<BR>------------------------------------<BR>cvs add new_file_name<BR>cvs add -kb new_file_name<BR>cvs add dir_name<BR><BR>CVS一般只处理文本文件，它会扩展keyword(宏)并转换行结束符<BR>对于图片，Word文档等非纯文本的项目，需要使用cvs add -kb选项，否则有可能出现文件被破坏的情况<BR>然后确认修改并注释<BR>cvs ci -m "write some comments here" new_file_name<BR><BR>2 删除文件<BR>------------------------------------<BR>将某个源文件物理删除后<BR>cvs remove file_name<BR>然后确认修改并注释<BR>cvs ci -m "write some comments here" file_name<BR><BR>注意：很多cvs命令都有缩写形式：commit=&gt;ci; update=&gt;up; checkout=&gt;co; remove=&gt;rm;<BR><BR>3.修改文件名<BR>------------------------------------<BR>移动文件：文件重命名<BR>cvs里没有cvs move或cvs rename，因为这两个操作是先cvs remove old_file_name，然后cvs add new_file_name实现的。<BR><BR>4 目录结构同步<BR>------------------------------------<BR>如果在你checkout后，有人添加了新的文件或目录，你需要把他们取出来<BR>cvs update -d<BR><BR>5 放弃本地的修改(undo)<BR>------------------------------------<BR>如果修改来了本地文件，不想提交，想重新取新文件<BR>cvs update -C filename<BR>它会先把你的本地文件改名<BR><BR>建议：建议大家把checkout的文件缺省为readonly,把"cvs -r"添加到~/.cvsrc文件中<BR>这样，你每次修改一个文件前，先cvs edit filename,提交后文件又变成readonly,<BR>如果你想放弃本地的修改，则cvs unedit filename,它会undo,而且文件又变成readonly<BR><BR><BR>6 恢复到旧版本<BR>------------------------------------<BR>cvs update -j1.20 -j1.15 filenames<BR>1.20时当前版本号，注意顺序不要反了，记住要commit,为了保证是但前版本号，最好先lock<BR>注意：cvs update -r1.15 file.name，这里的-r不是版本号的意思，是给文件加了一个叫1.15的sticky tag<BR>如果不小心已经加成STICK TAG的话：用cvs update -A 解决<BR><BR>7 文件比较<BR>------------------------------------<BR>cvs diff -c filename<BR>cvs diff -c -r1.8 -r 1.5 filename<BR><BR>8 锁定与解锁文件<BR>------------------------------------<BR>为保证串行的修改文件，或修改二<BR>cvs admin -l files<BR>cvs admin -u files<BR><BR><BR>==========================================================================<BR>如果你只是一般性的使用cvs，到此为止就足够了。一个系统20%的功能往往能够满足80%的需求，CVS也不例外，以下是CVS最常用的功能，可能用到的还不到它全部命令选项的10%，更多的功能请在实际应用过程中体会，学习过程中应该是用多少，学多少，用到了再学也不迟。<BR>==========================================================================<BR><BR>CVS宏/keyword<BR>==================================<BR>CVS缺省会对文件进行keyword(宏)替换,在文件中加入这些关键字是个良好的工作习惯<BR>$Id$ 关键字是用文件名、版本、时间、作者 及代码性质替换，如果使用-l选项取出，在Exp后<BR>面会加上登录用户的名称。除了$Id$关键字，RCS还支持下面常用的关键字：<BR>$Log$ : 你所提供的修改日志信息。<BR>$Author$ ：存入该版本的作者。<BR>$Locker$ : 该版本的加锁者<BR>$State$ : 该版本的状态 Exp（试验版）, Stabe（稳定版）, Rel（发行版）.缺省是Exp<BR>$Date$ : 该版本存入的时间，使用UTC时间格式。<BR>$Revision$ : 该版本的版本号<BR>$RCSfile$ : RCS文件名<BR>$Source$ : RCS全路径名<BR>$Name$ : 取回该版本的符号名<BR>$Header$ : 相当于$ Source $$ Revision$$Date$$Author $$State$$Locker$的组合<BR><BR><BR>Sticky Tag<BR>==================================<BR>tag的作用是对多个连续变化的文件做一个快照来表示某一时刻的所有不停内部版本的文件，一般是项目到一定阶段，可以给所有文件统一指定一个阶段里程碑版本号,需要的时候可以一次导出这些版本不一的文件.标记的另外一个非常重要的作用是生成分支和合并分支.<BR>1 cvs tag release_name module_name<BR>------------------------------------<BR>release_name要简洁而含义丰富，由字母开头，加字母，数字，下划线和连字号组成，特别是不能含“.”<BR>2 cvs checkout -r release_name module_name<BR>------------------------------------<BR>取出tag_name标志的文件<BR>3 cvs update -A<BR>------------------------------------<BR>tag标识的文件是历史文件，不能修改，这样可在本地去除这个限制，让它和当前版本合并<BR><BR><BR><BR><BR>CVS分支管理<BR>=============================<BR>CVS可以将历史划分成多个独立，并行和互不影响的分支，并去修改历史<BR>1 标定里程碑<BR>------------------------------------<BR>cvs tag release_1_0 prj_dir_name<BR><BR>2 开始一个新的里程碑：<BR>------------------------------------<BR>cvs commit -r 2<BR>标记所有文件开始进入2.x的开发<BR>注意：CVS里的revsion和软件包的发布版本可以没有直接的关系。但所有文件使用和发布版本一致的版本号比较有助于维护。<BR><BR>3 建立分支<BR>------------------------------------<BR>在开发项目的2.x版本的时候发现1.x有问题，但2.x又不敢用，则从先前标记的里程碑：release_1_0导出一个分支release_1_0_b2<BR>cvs rtag -b -r release_1_0 release_1_0_bugfixes prj_dir_name<BR>-r修饰的是release_1_0,-b 修饰的是release_1_0_bugfixes，cvs的版本号将变为4位，以后每分一次支，版本号增加2位<BR><BR>4 分支并行开发<BR>------------------------------------<BR>一些人先在另外一个目录下导出release_1_0_bugfixes这个分支：解决1.0中的紧急问题，<BR>cvs checkout -r release_1_0_bugfixes<BR>分支是可以修改的，并自动提交到分支上去<BR>而其他人员仍旧在项目的主干分支2.x上开发<BR><BR>5 tag分支<BR>------------------------------------<BR>在release_1_0_bugfixes上修正错误后，标记一个1.0的错误修正版本号<BR>cvs tag release_1_0_bugfixes_p1<BR><BR>6 合并分支<BR>------------------------------------<BR>如果2.0认为这些错误修改在2.0里也需要，也可以在2.0的开发目录下合并release_1_0_patch_1中的修改到当前代码中：<BR>cvs update -j release_1_0_bugfixes<BR><BR>7 再次合并分支<BR>------------------------------------<BR>如果又发现1.x新的bug,我在分支已经修改了，并标定了release_1_0_patch_2,我们同样希望把它合并到主干上来<BR>cvs update -j release_1_0_bugfixes_p1 -j release_1_0_bugfixes<BR>它的意思是把release_1_0_bugfixes_p1(tag)到release_1_0_bugfixes(分支)变化了的部分合并到当前文件(主干)<BR>否则用6步的方法，则以前合并的内容会重新合并<BR>注意：此时我们使用第5步的结果<BR>教训：尽早频繁的tag,但同时不能导致tag泛滥，tag在不同的分支里可以同名<BR><BR>8 锁定分支<BR>------------------------------------<BR>cvs admin -l r_0_2 锁定r_0_2分支<BR>cvs admin -l 锁定主分支<BR><BR>9 设置缺省分支<BR>------------------------------------<BR>cvs admin -b r_0_2 设定r_0_2为缺省分支<BR>cvs admin -b 设定主分支<BR><BR>10 删除历史记录<BR>如果历史文件过多，或确定有几个阶段的稳定版本，我们可以删除一些历史文件，以保证cvs的性能<BR>cvs admin -o rev1:rev2 filename 删除rev1到rev2的版本，含这两个版本<BR>cvs admin -o rev1::rev2 filename 删除rev1到rev2的版本，不含这两个版本<BR>如果省略rev1,表示删除本分支rev2之前的所有版本<BR>如果省略rev2,表示删除本分支rev1之后的所有版本<BR>cvs admin -o rev filename 删除rev这个版本的文件<BR>注意：有tag的版本不能被删除，所以tag很重要，而且只能删单个文件<BR><BR><BR>CVS服务器的安装和配置<BR>=============================<BR>1 下载源码<BR>------------------------------------<BR>可从很多地方下载cvs,也可从官方ftp://ftp.gnu.org/gnu/cvs/下载<BR><BR>2 安装，同很多源码安装一样<BR>------------------------------------<BR>gunzip cvs-1.10.6.tar.gz<BR>tar xvf cvs-1.10.6.tar<BR>cd cvs-1.10.6<BR>./configure<BR>make<BR>make install<BR><BR>3 包的安装，如果找到具体操作系统的安装包，则见此操作系统的使用说明，比如linux为<BR>------------------------------------<BR>rpm -ivh cvs-1.10.8-3.i386.rpm即可<BR><BR>4 建立Repository<BR>------------------------------------<BR>groupadd cvs(要访问cvs的用户加入此组)<BR>useradd cvsroot<BR>mkdir /home/cvsroot<BR>cvs -d /home/cvsroot init<BR>chown -R cvsroot.cvs /home/cvsroot<BR>chmod -R ug+rwx /homecvsroot<BR><BR>5 配置/etc/services文件<BR>------------------------------------<BR>添加cvspserver,如果有就不要加了<BR>cvspserver 2401/tcp # cvs client/server operations<BR>cvspserver 2401/udp # cvs client/server operations<BR><BR>6 配置inetd<BR>------------------------------------<BR>编辑/etc/inetd.conf，加入<BR>cvspserver stream tcp nowait root /usr/bin/cvs cvs --allow-root=/home/cvsroot pserver<BR>如果使用tcpwrappers<BR>cvspserver stream tcp nowait root /usr/sbin/tcpd /usr/bin/cvs --allow-root=/usr/local/newrepos pserver<BR>如果使用xinetd，编辑/etc/xinetd.d/cvspserver<BR>service cvspserver<BR>{<BR>disable = no<BR>socket_type = stream<BR>wait = no<BR>user = root<BR>env = HOME=<BR>server = /usr/bin/cvs<BR>server_args = -f --allow-root=/home/cvsroot pserver<BR>}<BR>pserver表示是口令认证,如果要用ssh方式则应该是server<BR>--allow-root是Repository的目录，可以有多个此选项来建立多个Repository<BR><BR>7 验证配置成功<BR>cvs login看时候能成功登录，有几个可能失败的地方<BR>用户是否属于cvs组和目录权限<BR>inetd是否正常配置和启动，--allow-root是否写对<BR>8 导入项目<BR>把你的所有项目文件放入prj_dir<BR>cd prj_dir<BR>　cvs import -m "this is a cvstest project" prj_dir v_0_0_1 start<BR>v_0_0_1是这个分支的总标记．没啥用（或曰不常用）<BR>　start 是每次 import 标识文件的输入层次的标记，没啥用。<BR><BR><BR>Watchers<BR>=============================<BR>cvs提供了watch的功能，来帮助大家了解谁在干什么，谁在对文件做什么操作，它发email通知,以协调大家的工作。<BR>1 开启watch功能<BR>在CVSROOT/notify文件中加入下面行<BR>ALL mail %s -s "CVS notification"<BR>2 设定外部email地址<BR>缺省是把通知信息发给本机的email,要发给别的地址，在CVSROOT/users加入如下内容<BR>hwz:kerlion@netease.com<BR>3 watch文件的修改<BR>cvs watch add filename<BR>cvs watch remove filename<BR>4 watch文件的修改<BR>watch功能是个大家协调的功能，大家必须按一个统一的工作流程来做,如果不cvs edit，cvs没有办法通知修改情况<BR>cvs edit filename<BR>修改文件<BR>cvs unedit filename<BR>5 提醒大家使用watch功能<BR>cvs没有强制使用watch的功能，只有这个功能在用户提交完后自动把文件变为只读的，再使用cvs edit filename就可以修改它了<BR>cvs watch on<BR>6 查看那人人再watch<BR>cvs watchers<BR><BR><BR>WinCVS的安装和配置<BR>=============================<BR>1、WinCVS简介：<BR>WinCVS是CVS的一个客户端软件，它运行在Windows上，用来在Windows上登录CVS服务器，然后进行一些CVS相关的操作与管理。由于当前很多的企业内部都采用Linux/Unix做服务器，而用Windows做客户端，所以，WinCVS与CVS服务器配合使用将组成最强有力的版本控制与管理的系统之一。<BR>2、WinCVS的下载与安装；<BR>最新的WinCVS可以从http://sourceforge.net/project/showfiles.php?group_id=10072地址下载到，也可以在http://sourceforge.net/project 上下载到最新的或其它版本的WinCVS。<BR>下载到相应的版本后根据向导进行安装，已经要使用CVS的用户，安装这个WinCVS应该没什么问题吧！<BR>3、配置WinCVS：<BR>a、Admin-&gt;Preferences…/general<BR>CVSROOT 按cvsroot格式填写<BR>Authentication：用来配置cvs服务器的认证方式一般只要选择默认的pserver方式就可以<BR>要注意的是必须与cvs服务器配置时所指定的认证方式一致<BR>如果要用ssh server,确认在windows中安装了openssl,openssh<BR>a、Admin-&gt;Preferences…/Globals<BR>此项的配置主要是要注意这几选项：<BR>Checkout read-only：默认是选中的,建议不要修改，只是修改文件前需要先edit selection,提交后又自动变为只读<BR>这样有两个好处：<BR>一个是可以通过unedit selection来undo你做的修改<BR>二是可以符合watch功能的使用规范<BR>Prune empty directories: 不要选上，否则，会自动删除空目录；<BR>4、登录服务器：<BR>选择Admin-&gt;login，将出现如下对话框要求用户输入登录口令<BR>wincvs中命令的exit code 0表示正确执行,否则是失败，一般成功显示为<BR>*****CVS exited normally with code 0*****<BR>5、winCVS的使用都有菜单，大家熟悉cvs的使用的话，用起来是很容易的,我就不多说了<BR><BR><BR>CVSWEB的安装<BR>=============================<BR>CVSWEB就是CVS的WEB界面，可以大大提高程序员定位修改的效率:<BR>使用的样例可以看：http://www.freebsd.org/cgi/cvsweb.cgi<BR><BR>CVSWEB的下载：CVSWEB从最初的版本已经演化出很多功能界面更丰富的版本，这个是个人感觉觉得安装设置比较方便的：<BR>http://www.spaghetti-code.de/software/linux/cvsweb/<BR><BR>1 下载解包：<BR>tar zxf cvsweb.tgz<BR><BR>2 把配置文件cvsweb.conf复制到apache的配置目录下<BR>cp cvsweb.conf /path/to/apache/conf<BR>转到/path/to/apache/conf下并修改cvsweb.conf：<BR>修改CVSROOT路径设置：<BR>%CVSROOT = (<BR>'Development' =&gt; '/path/to/cvsroot/dev', #&lt;==修改指向本地的CVSROOT<BR>'test' =&gt; '/path/to/cvsroot/test', #&lt;==修改指向本地的CVSROOT<BR>);<BR>如果有多个cvsroot,这定缺省的cvsroot<BR>$cvstreedefault = 'test';<BR><BR>3 其它个性化设置<BR>cvsweb.conf还有许多其它个性化设置，常见的有这些变量：<BR>$logo 图标设置<BR>$defaulttitle 标题设施<BR>$address 管理员email地址设置<BR>$long_intro 介绍文字<BR>$short_instruction 说明文字<BR><BR>4 把文件cvsweb.cgi复制到apache的cgi目录<BR>cp cvsweb.cgi /path/to/apache/cgi-bin<BR>转到/path/to/apache/cgi-bin修改cvsweb.cgi<BR>修改cvsweb.cgi让CGI找到配置文件：<BR>$config = $ENV{'CVSWEB_CONFIG'} || '/path/to/apache/conf/cvsweb.conf';<BR><BR>5 中文支持<BR>让cvsweb正确显示中文，找到sub html_header($)函数，<BR>然后在&lt;html&gt;和&lt;title&gt;之间插入一行，修改如下<BR>&lt;html&gt;<BR>&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312"&gt;<BR>&lt;title&gt;$title&lt;/title&gt;<BR>6 复制所有的gif,png文件到apache的icons目录<BR>7 增加访问控制<BR>CVSWEB可不能随便开放给所有用户，因此需要使用WEB用户认证：<BR>先生成 passwd:<BR>/path/to/apache/bin/htpasswd -c cvsweb.passwd user<BR><BR>修改httpd.conf: 增加<BR>&lt;Directory "/path/to/apache/cgi-bin/cvsweb/"&gt;<BR>AuthName "CVS Authorization"<BR>AuthType Basic<BR>AuthUserFile /path/to/cvsweb.passwd<BR>require valid-user<BR>&lt;/Directory&gt;<BR><BR><BR>==========================================================================<BR>CVS支持的的特殊变量:<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$Id$<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$Header$<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$Author$<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$Date$<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$Revision$<BR>提交之后,cvs会自动改变这些变量的取值.<BR>==========================================================================<BR><BR><BR>==========================================================================<BR>参考文档：<BR>CVS的常用命令速查手册，车东，chedong@bigfoot.com<BR>CVS服务器与WinCVS的配置与使用，吴炎溪，Yanxi-Wu@21cn.com<BR>CVS速成班，作者不祥<BR>cvs book,Karl Fogel,kfogel@red-bean.com<BR>==========================================================================<BR></FONT></FONT><BR></P></TD></TR>
<TR>
<TD colSpan=2><FONT class=middlefont></FONT><BR><FONT class=normalfont face=Verdana size=2>全文结束</FONT> </TD></TR></TBODY></TABLE><img src ="http://www.blogjava.net/tangbao/aggbug/32123.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/tangbao/" target="_blank">糖包</a> 2006-02-23 16:57 <a href="http://www.blogjava.net/tangbao/articles/32123.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>J2EE 全面简介</title><link>http://www.blogjava.net/tangbao/articles/30773.html</link><dc:creator>糖包</dc:creator><author>糖包</author><pubDate>Wed, 15 Feb 2006 03:27:00 GMT</pubDate><guid>http://www.blogjava.net/tangbao/articles/30773.html</guid><wfw:comment>http://www.blogjava.net/tangbao/comments/30773.html</wfw:comment><comments>http://www.blogjava.net/tangbao/articles/30773.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/tangbao/comments/commentRss/30773.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/tangbao/services/trackbacks/30773.html</trackback:ping><description><![CDATA[<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR vAlign=top>
<TD><SPAN class=atitle>J2EE 全面简介</SPAN></TD>
<TD width=8></TD>
<TD>&nbsp;</TD>
<TD width=6></TD></TR><!-- Black line separator -->
<TR vAlign=top>
<TD bgColor=#000000 colSpan=5></TD></TR>
<TR vAlign=top>
<TD bgColor=#ffffff colSpan=5></TD></TR></TBODY></TABLE><!-- END HEADER AREA --><!-- START BODY AREA -->
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR vAlign=top>
<TD width=10></TD>
<TD width="100%">
<P><A href="http://www.cn.ibm.com/developerWorks/java/j2ee/index.shtml#author1">刘湛</A> (<A href="mailto:jeru@163.net">jeru@163.net</A>)<BR><!-- <a href="#author2">Author name</a> (<a href="mailto:userid@us.ibm.com">email address</a>)<br />-->武汉大学信息与计算科学系学士<BR>2001 年 7 月</P>
<BLOCKQUOTE>本文从五个方面对J2EE进行了比较全面的介绍。从J2EE的概念说起，到它的优势，到J2EE典型的四层模型，和它的框架结构，最后是J2EE十三种核心技术的一个简介。本文分门别类的对J2EE中的服务，组件，层次，容器，API都做了比较详细的介绍，相信看完此文，读者会对J2EE有一个更清晰的认识。</BLOCKQUOTE>
<P><A name=1><SPAN class=atitle2>一. J2EE的概念</SPAN></A> <BR>目前，Java 2平台有3个版本，它们是适用于小型设备和智能卡的Java 2平台Micro版（Java 2 Platform Micro Edition，J2ME）、适用于桌面系统的Java 2平台标准版（Java 2 Platform Standard Edition，J2SE）、适用于创建服务器应用程序和服务的Java 2平台企业版（Java 2 Platform Enterprise Edition，J2EE）。</P>
<P>J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的标准版，J2EE不仅巩固了标准版中的许多优点，例如"编写一次、随处运行"的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等，同时还提供了对 EJB（Enterprise JavaBeans）、Java Servlets API、JSP（Java Server Pages）以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。</P>
<P>J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台，J2EE降低了开发多层应用的费用和复杂性，同时提供对现有应用程序集成强有力支持，完全支持Enterprise JavaBeans，有良好的向导支持打包和部署应用，添加目录支持，增强了安全机制，提高了性能。</P>
<P><A name=2><SPAN class=atitle2>二. J2EE的优势</SPAN></A> <BR>J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制: 
<OL class=n01>
<LI>保留现存的IT资产: 由于企业必须适应新的商业需求，利用已有的企业信息系统方面的投资，而不是重新制定全盘方案就变得很重要。这样，一个以渐进的（而不是激进的，全盘否定的）方式建立在已有系统之上的服务器端平台机制是公司所需求的。J2EE架构可以充分利用用户原有的投资，如一些公司使用的BEA Tuxedo、IBM CICS, IBM Encina,、Inprise VisiBroker 以及Netscape Application Server。这之所以成为可能是因为J2EE拥有广泛的业界支持和一些重要的'企业计算'领域供应商的参与。每一个供应商都对现有的客户提供了不用废弃已有投资，进入可移植的J2EE领域的升级途径。由于基于J2EE平台的产品几乎能够在任何操作系统和硬件配置上运行，现有的操作系统和硬件也能被保留使用。 
<LI>高效的开发: J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上，相应地缩短了开发时间。高级中间件供应商提供以下这些复杂的中间件服务: 
<UL class=n01>
<LI>状态管理服务 -- 让开发人员写更少的代码，不用关心如何管理状态，这样能够更快地完成程序开发。 
<LI>持续性服务 -- 让开发人员不用对数据访问逻辑进行编码就能编写应用程序，能生成更轻巧，与数据库无关的应用程序，这种应用程序更易于开发与维护。 
<LI>分布式共享数据对象CACHE服务 -- 让开发人员编制高性能的系统，极大提高整体部署的伸缩性。</LI></UL>
<LI>支持异构环境: J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。J2EE标准也允许客户订购与J2EE兼容的第三方的现成的组件，把他们部署到异构环境中，节省了由自己制订整个方案所需的费用。 
<LI>可伸缩性: 企业必须要选择一种服务器端平台，这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于J2EE平台的应用程序可被部署到各种操作系统上。例如可被部署到高端UNIX与大型机系统，这种系统单机可支持64至256个处理器。（这是NT服务器所望尘莫及的）J2EE领域的供应商提供了更为广泛的负载平衡策略。能消除系统中的瓶颈，允许多台服务器集成部署。这种部署可达数千个处理器，实现可高度伸缩的系统，满足未来商业应用的需要。 
<LI>稳定的可用性: 一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。因为INTERNET是全球化的、无处不在的，即使在夜间按计划停机也可能造成严重损失。若是意外停机，那会有灾难性后果。J2EE部署到可靠的操作环境中，他们支持长期的可用性。一些J2EE部署在WINDOWS环境中，客户也可选择健壮性能更好的操作系统如Sun Solaris、IBM OS/390。最健壮的操作系统可达到99.999%的可用性或每年只需5分钟停机时间。这是实时性很强商业系统理想的选择。</LI></OL>
<P></P>
<P><A name=3><SPAN class=atitle2>三. J2EE 的四层模型</SPAN></A> <BR>J2EE使用多层的分布式应用模型，应用逻辑按功能划分为组件，各个应用组件根据他们所在的层分布在不同的机器上。事实上，sun设计J2EE的初衷正是为了解决两层模式(client/server)的弊端，在传统模式中，客户端担当了过多的角色而显得臃肿，在这种模式中，第一次部署的时候比较容易，但难于升级或改进，可伸展性也不理想，而且经常基于某种专有的协议――通常是某种数据库协议。它使得重用业务逻辑和界面逻辑非常困难。现在J2EE 的多层企业级应用模型将两层化模型中的不同层面切分成许多层。一个多层化应用能够为不同的每种服务提供一个独立的层，以下是 J2EE 典型的四层结构: 
<UL class=n01>
<LI>运行在客户端机器上的客户层组件 
<LI>运行在J2EE服务器上的Web层组件 
<LI>运行在J2EE服务器上的业务逻辑层组件 
<LI>运行在EIS服务器上的企业信息系统(Enterprise information system)层软件</LI></UL>
<P></P>
<P><B>J2EE应用程序组件</B><BR>J2EE应用程序是由组件构成的.J2EE组件是具有独立功能的软件单元，它们通过相关的类和文件组装成J2EE应用程序，并与其他组件交互。J2EE说明书中定义了以下的J2EE组件: 
<UL class=n01>
<LI>应用客户端程序和applets是客户层组件. 
<LI>Java Servlet和JavaServer Pages(JSP)是web层组件. 
<LI>Enterprise JavaBeans(EJB)是业务层组件.</LI></UL>
<P></P>
<P><B>客户层组件</B><BR>J2EE应用程序可以是基于web方式的,也可以是基于传统方式的.</P>
<P><B>web 层组件</B>J2EE web层组件可以是JSP 页面或Servlets.按照J2EE规范，静态的HTML页面和Applets不算是web层组件。</P>
<P>正如下图所示的客户层那样，web层可能包含某些 JavaBean 对象来处理用户输入，并把输入发送给运行在业务层上的enterprise bean 来进行处理。 <BR></P>
<P><B>业务层组件</B><BR>业务层代码的逻辑用来满足银行，零售，金融等特殊商务领域的需要,由运行在业务层上的enterprise bean 进行处理. 下图表明了一个enterprise bean 是如何从客户端程序接收数据，进行处理(如果必要的话), 并发送到EIS 层储存的，这个过程也可以逆向进行。</P>
<P>有三种企业级的bean: 会话(session) beans, 实体(entity) beans, 和 消息驱动(message-driven) beans. 会话bean 表示与客户端程序的临时交互. 当客户端程序执行完后, 会话bean 和相关数据就会消失. 相反, 实体bean 表示数据库的表中一行永久的记录. 当客户端程序中止或服务器关闭时, 就会有潜在的服务保证实体bean 的数据得以保存.消息驱动 bean 结合了会话bean 和 JMS的消息监听器的特性, 允许一个业务层组件异步接收JMS 消息. </P>
<P></P>
<P><B>企业信息系统层</B><BR>企业信息系统层处理企业信息系统软件包括企业基础建设系统例如企业资源计划 (ERP), 大型机事务处理, 数据库系统,和其它的遗留信息系统. 例如，J2EE 应用组件可能为了数据库连接需要访问企业信息系统</P>
<P><A name=4><SPAN class=atitle2>四. J2EE 的结构</SPAN></A> <BR>这种基于组件，具有平台无关性的J2EE 结构使得J2EE 程序的编写十分简单，因为业务逻辑被封装成可复用的组件，并且J2EE 服务器以容器的形式为所有的组件类型提供后台服务. 因为你不用自己开发这种服务, 所以你可以集中精力解决手头的业务问题. </P>
<P><B>容器和服务</B> <BR>容器设置定制了J2EE服务器所提供得内在支持，包括安全，事务管理，JNDI(Java Naming and Directory Interface)寻址,远程连接等服务，以下列出最重要的几种服务： 
<UL class=n01>
<LI>J2EE安全(Security)模型可以让你配置 web 组件或enterprise bean ,这样只有被授权的用户才能访问系统资源. 每一客户属于一个特别的角色，而每个角色只允许激活特定的方法。你应在enterprise bean的布置描述中声明角色和可被激活的方法。由于这种声明性的方法，你不必编写加强安全性的规则。 
<LI>J2EE 事务管理（Transaction Management）模型让你指定组成一个事务中所有方法间的关系，这样一个事务中的所有方法被当成一个单一的单元. 当客户端激活一个enterprise bean中的方法，容器介入一管理事务。因有容器管理事务，在enterprise bean中不必对事务的边界进行编码。要求控制分布式事务的代码会非常复杂。你只需在布置描述文件中声明enterprise bean的事务属性，而不用编写并调试复杂的代码。容器将读此文件并为你处理此enterprise bean的事务。 
<LI>JNDI 寻址(JNDI Lookup)服务向企业内的多重名字和目录服务提供了一个统一的接口,这样应用程序组件可以访问名字和目录服务. 
<LI>J2EE远程连接（Remote Client Connectivity）模型管理客户端和enterprise bean间的低层交互. 当一个enterprise bean创建后, 一个客户端可以调用它的方法就象它和客户端位于同一虚拟机上一样. 
<LI>生存周期管理（Life Cycle Management）模型管理enterprise bean的创建和移除,一个enterprise bean在其生存周期中将会历经几种状态。容器创建enterprise bean，并在可用实例池与活动状态中移动他，而最终将其从容器中移除。即使可以调用enterprise bean的create及remove方法，容器也将会在后台执行这些任务。 
<LI>数据库连接池（Database Connection Pooling）模型是一个有价值的资源。获取数据库连接是一项耗时的工作，而且连接数非常有限。容器通过管理连接池来缓和这些问题。enterprise bean可从池中迅速获取连接。在bean释放连接之可为其他bean使用。</LI></UL>
<P></P>
<P><B>容器类型</B><BR>J2EE应用组件可以安装部署到以下几种容器中去: 
<UL class=n01>
<LI>EJB 容器管理所有J2EE 应用程序中企业级bean 的执行. enterprise bean 和它们的容器运行在J2EE 服务器上. 
<LI>Web 容器管理所有J2EE 应用程序中JSP页面和Servlet组件的执行. Web 组件和它们的容器运行在J2EE 服务器上. 
<LI>应用程序客户端容器管理所有J2EE应用程序中应用程序客户端组件的执行. 应用程序客户端和它们的容器运行在J2EE 服务器上. 
<LI>Applet 容器是运行在客户端机器上的web浏览器和 Java 插件的结合.</LI></UL>
<P></P>
<P><A name=5><SPAN class=atitle2>五. J2EE的核心API与组件</SPAN></A> <BR>J2EE平台由一整套服务（Services）、应用程序接口（APIs）和协议构成，它对开发基于Web的多层应用提供了功能支持，下面对J2EE中的13种技术规范进行简单的描述(限于篇幅，这里只能进行简单的描述): 
<OL class=n01>
<LI>JDBC(Java Database Connectivity): <BR>JDBC API为访问不同的数据库提供了一种统一的途径，象ODBC一样，JDBC对开发者屏蔽了一些细节问题，另外，JDCB对数据库的访问也具有平台无关性。 
<LI>JNDI(Java Name and Directory Interface): <BR>JNDI API被用于执行名字和目录服务。它提供了一致的模型来存取和操作企业级的资源如DNS和LDAP，本地文件系统，或应用服务器中的对象。 
<LI>EJB(Enterprise JavaBean): <BR>J2EE技术之所以赢得某体广泛重视的原因之一就是EJB。它们提供了一个框架来开发和实施分布式商务逻辑，由此很显著地简化了具有可伸缩性和高度复杂的企业级应用的开发。EJB规范定义了EJB组件在何时如何与它们的容器进行交互作用。容器负责提供公用的服务，例如目录服务、事务管理、安全性、资源缓冲池以及容错性。但这里值得注意的是，EJB并不是实现J2EE的唯一途径。正是由于J2EE的开放性，使得有的厂商能够以一种和EJB平行的方式来达到同样的目的。 
<LI>RMI(Remote Method Invoke): <BR>正如其名字所表示的那样，RMI协议调用远程对象上方法。它使用了序列化方式在客户端和服务器端传递数据。RMI是一种被EJB使用的更底层的协议。 
<LI>Java IDL/CORBA: <BR>在Java IDL的支持下，开发人员可以将Java和CORBA集成在一起。 他们可以创建Java对象并使之可在CORBA ORB中展开, 或者他们还可以创建Java类并作为和其它ORB一起展开的CORBA对象的客户。后一种方法提供了另外一种途径，通过它Java可以被用于将你的新的应用和旧的系统相集成。 
<LI>JSP(Java Server Pages): <BR>JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端所请求以后对这些Java代码进行处理，然后将生成的HTML页面返回给客户端的浏览器。 
<LI>Java Servlet: <BR>Servlet是一种小型的Java程序，它扩展了Web服务器的功能。作为一种服务器端的应用，当被请求时开始执行，这和CGI Perl脚本很相似。Servlet提供的功能大多与JSP类似，不过实现的方式不同。JSP通常是大多数HTML代码中嵌入少量的Java代码，而servlets全部由Java写成并且生成HTML。 
<LI>XML(Extensible Markup Language): <BR>XML是一种可以用来定义其它标记语言的语言。它被用来在不同的商务过程中共享数据。XML的发展和Java是相互独立的，但是，它和Java具有的相同目标正是平台独立性。通过将Java和XML的组合，您可以得到一个完美的具有平台独立性的解决方案。 
<LI>JMS(Java Message Service): <BR>MS是用于和面向消息的中间件相互通信的应用程序接口(API)。它既支持点对点的域，有支持发布/订阅(publish/subscribe)类型的域，并且提供对下列类型的支持：经认可的消息传递,事务型消息的传递，一致性消息和具有持久性的订阅者支持。JMS还提供了另一种方式来对您的应用与旧的后台系统相集成。 
<LI>JTA(Java Transaction Architecture): <BR>JTA定义了一种标准的API，应用系统由此可以访问各种事务监控。 
<LI>JTS(Java Transaction Service): <BR>JTS是CORBA OTS事务监控的基本的实现。JTS规定了事务管理器的实现方式。该事务管理器是在高层支持Java Transaction API (JTA)规范，并且在较底层实现OMG OTS specification的Java映像。JTS事务管理器为应用服务器、资源管理器、独立的应用以及通信资源管理器提供了事务服务。 
<LI>JavaMail: <BR>JavaMail是用于存取邮件服务器的API，它提供了一套邮件服务器的抽象类。不仅支持SMTP服务器，也支持IMAP服务器。 
<LI>JTA(JavaBeans Activation Framework): <BR>JavaMail利用JAF来处理MIME编码的邮件附件。MIME的字节流可以被转换成Java对象，或者转换自Java对象。大多数应用都可以不需要直接使用JAF。</LI></OL>
<P></P>
<P><A name=resources><SPAN class=atitle2>参考资料：</SPAN></A> 
<UL>
<LI>《Develop n-tier application using J2EE》- Steven Gould 
<LI>《The Business Benefits of EJB and J2EE Technologies over COM+ and Windows DNA》 
<LI>《The J2EE Tutorial》chapter overview - Monica Pawlan 
<LI>本文所用图片由《The J2EE Tutorial》中的英文图片修改而成.</LI></UL>
<P></P><!-- Make author heading singular or plural as needed -->
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD><A name=author1><SPAN class=atitle2>关于作者</SPAN></A> <BR>刘湛,武汉大学信息与计算科学系学士，熟悉 Java 语言和 J2EE 思想，国内多个 Java 论坛版主，现致力于 J2EE 平台上的 eCRM 套件开发。你可以通过<A href="mailto:jeru@163.net">jeru@163.net</A>与他联系！ </TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><img src ="http://www.blogjava.net/tangbao/aggbug/30773.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/tangbao/" target="_blank">糖包</a> 2006-02-15 11:27 <a href="http://www.blogjava.net/tangbao/articles/30773.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JFreeChart介绍及经典入门资料</title><link>http://www.blogjava.net/tangbao/articles/30772.html</link><dc:creator>糖包</dc:creator><author>糖包</author><pubDate>Wed, 15 Feb 2006 03:20:00 GMT</pubDate><guid>http://www.blogjava.net/tangbao/articles/30772.html</guid><wfw:comment>http://www.blogjava.net/tangbao/comments/30772.html</wfw:comment><comments>http://www.blogjava.net/tangbao/articles/30772.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/tangbao/comments/commentRss/30772.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/tangbao/services/trackbacks/30772.html</trackback:ping><description><![CDATA[<DIV id=atc_info>
<UL>
<LI><A href="http://www.javacn.com/Get/gui/058817144744156.htm">http://www.javacn.com/Get/gui/058817144744156.htm</A></LI>
<LI>文章来源: 网络收集&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;浏览次数:
<SCRIPT src="http://www.javacn.com/Click.asp?NewsID=058817144724039"></SCRIPT>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;整理日期: 2005-8-8 10:07:06&nbsp;</LI></UL></DIV>
<UL>
<LI><BR><TR><TD>//=====================================================================<BR>//Title：JFreeChart入门指南<BR>//Author:谢莫锋&nbsp;Email:yyxmf111@sogou.com&nbsp;&nbsp;QQ:35814522<BR>//=====================================================================<BR>一、JFreeChart获取。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JFreeChart是JFreeChart公司在开源网站SourceForge.net上的一个项目，该公司的主要产品有如下：<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1、JFreeReport：报表解决工具<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2、JFreeChart：Java图形解决方案（Application/Applet/Servlet/Jsp）<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3、JCommon：JFreeReport和JFreeChart的公共类库<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4、JFreeDesigner：JFreeReport的报表设计工具<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;我们可以从jfree官方网站上获取最新版本和相关资料（但是jfree的document需要40美金才能获取），<BR>&nbsp;&nbsp;&nbsp;&nbsp;获取地址：<A href="http://www.jfree.org/jfreechart/index.html">http://www.jfree.org/jfreechart/index.html</A>（同时可以获得简明介绍）<BR>&nbsp;&nbsp;&nbsp;&nbsp;我们以当前最新版本：jfreechart_0.9.21.zip为例子进行说明。<BR><BR>二、JFreeChart配置安装<BR>&nbsp;&nbsp;&nbsp;&nbsp;1、解压jfreechart_0.9.21.zip到指定位置，其中source是jfreechart的源码，jfreechart-0.9.21-demo.jar<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;是例子<A href="http://www.chinaitpower.com/Dev/index.html" target=_blank>程序</A>（该部分留给大家自己去研究）<BR>&nbsp;&nbsp;&nbsp;&nbsp;2、为了配置成功，我们需要关注的<A href="http://www.chinaitpower.com/Soft/Tools/File/index.html" target=_blank>文件</A>有如下三个：jfreechart-0.9.21.jar、lib\jcommon-0.9.6.jar、<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lib\gnujaxp.jar<BR>&nbsp;&nbsp;&nbsp;&nbsp;3、如果是Application开发，把上述三个<A href="http://www.chinaitpower.com/Soft/Tools/File/index.html" target=_blank>文件</A>拷贝到%JAVA_HOME%\LIB中，同时在环境变量CLASSPATH中加入<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果是WEB开发，以TOMCAT中的一个WEB项目TEST为例子说明：<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;把上述三个<A href="http://www.chinaitpower.com/Soft/Tools/File/index.html" target=_blank>文件</A>拷贝到TEST\WEB-INF\LIB中，然后修改TEST\WEB-INF\web.xml<A href="http://www.chinaitpower.com/Soft/Tools/File/index.html" target=_blank>文件</A>，在其中加入如下代码：<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;servlet&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;servlet-name&gt;DisplayChart&lt;/servlet-name&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;servlet-class&gt;org.jfree.chart.servlet.DisplayChart&lt;/servlet-class&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/servlet&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;servlet-mapping&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;servlet-name&gt;DisplayChart&lt;/servlet-name&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;url-pattern&gt;/servlet/DisplayChart&lt;/url-pattern&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/servlet-mapping&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;至此jfreechart的配置就完成了，下面就可以进行jfreechart的开发了。这里值得提出的是jfreechart的类<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;结构设计前后兼容性不是很好，不同版本的jfreechart中类库结构可能不一样，有时候可能需要查源码。如果<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;是中文显示的时候可能依据观感需要改变源码的字体，不过我个人觉得这个版本比以前版本要好一些。<BR><BR>三、JFreeChart功能介绍<BR>&nbsp;&nbsp;&nbsp;&nbsp;JFreeChart目前是最好的<A href="http://www.chinaitpower.com/Dev/Programme/Java/index.html" target=_blank>java</A>图形解决方案，基本能够解决目前的图形方面的需求，主要包括如下几个方面：<BR>&nbsp;&nbsp;&nbsp;&nbsp;pie&nbsp;charts&nbsp;(2D&nbsp;and&nbsp;3D)：饼图（平面和立体）<BR>&nbsp;&nbsp;&nbsp;&nbsp;bar&nbsp;charts&nbsp;(regular&nbsp;and&nbsp;stacked,&nbsp;with&nbsp;an&nbsp;optional&nbsp;3D&nbsp;effect)：柱状图<BR>&nbsp;&nbsp;&nbsp;&nbsp;line&nbsp;and&nbsp;area&nbsp;charts：曲线图<BR>&nbsp;&nbsp;&nbsp;&nbsp;scatter&nbsp;plots&nbsp;and&nbsp;bubble&nbsp;charts<BR>&nbsp;&nbsp;&nbsp;&nbsp;time&nbsp;series,&nbsp;high/low/open/close&nbsp;charts&nbsp;and&nbsp;candle&nbsp;stick&nbsp;charts：时序图<BR>&nbsp;&nbsp;&nbsp;&nbsp;combination&nbsp;charts：复合图<BR>&nbsp;&nbsp;&nbsp;&nbsp;Pareto&nbsp;charts<BR>&nbsp;&nbsp;&nbsp;&nbsp;Gantt&nbsp;charts：甘特图<BR>&nbsp;&nbsp;&nbsp;&nbsp;wind&nbsp;plots,&nbsp;meter&nbsp;charts&nbsp;and&nbsp;symbol&nbsp;charts<BR>&nbsp;&nbsp;&nbsp;&nbsp;wafer&nbsp;map&nbsp;charts<BR>&nbsp;&nbsp;&nbsp;&nbsp;(态图表,饼图(二维和三维)&nbsp;,&nbsp;柱状图&nbsp;(水平,垂直),线图,点图,时间变化图,甘特图,&nbsp;股票行情图,混和图,&nbsp;温度计图,&nbsp;刻度图等常用商用图表)<BR>&nbsp;&nbsp;&nbsp;&nbsp;图形可以导出成PNG和JPEG格式，同时还可以与PDF和EXCEL关联<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;JFreeChart核心类库介绍：<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;研究jfreechart源码发现源码的主要由两个大的包组成：org.jfree.chart,org.jfree.data。其中前者主要与图形<BR>&nbsp;&nbsp;&nbsp;&nbsp;本身有关，后者与图形显示的数据有关。具体研究如果大家有兴趣的话可以自己研究，以后有时间我会告诉大家怎么去<BR>&nbsp;&nbsp;&nbsp;&nbsp;研究源码。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;核心类主要有：<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.jfree.chart.JFreeChart：图表对象，任何类型的图表的最终表现形式都是在该对象进行一些属性的定制。JFreeChart引擎本身提供了一个工厂类用于创建不同类型的图表对象<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.jfree.data.category.XXXDataSet:数据集对象，用于提供显示图表所用的数据。根据不同类型的图表对应着很多类型的数据集对象类<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.jfree.chart.plot.XXXPlot：图表区域对象，基本上这个对象决定着什么样式的图表，创建该对象的时候需要Axis、Renderer以及数据集对象的支持<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.jfree.chart.axis.XXXAxis：用于处理图表的两个轴：纵轴和横轴<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.jfree.chart.render.XXXRender：负责如何显示一个图表对象<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.jfree.chart.urls.XXXURLGenerator:用于生成Web图表中每个项目的鼠标点击链接<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XXXXXToolTipGenerator:用于生成图象的帮助提示，不同类型图表对应不同类型的工具提示类<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>四、JFreeChart开发（Application/Applet）<BR>1、pie&nbsp;charts，代码如下<BR>/**<BR>&nbsp;*&nbsp;Description:This&nbsp;application&nbsp;is&nbsp;the&nbsp;first&nbsp;jfreechart<BR>&nbsp;*&nbsp;authort:谢莫锋<BR>&nbsp;*&nbsp;Datetime:20058-02-11<BR>&nbsp;*/<BR>package&nbsp;demo;<BR><BR>import&nbsp;org.jfree.chart.JFreeChart;<BR>import&nbsp;org.jfree.chart.ChartFactory;<BR>import&nbsp;org.jfree.chart.ChartFrame;<BR>import&nbsp;org.jfree.data.general.DefaultPieDataset;<BR><BR>public&nbsp;class&nbsp;FirstJFreeChart&nbsp;{<BR>&nbsp;&nbsp;public&nbsp;FirstJFreeChart()&nbsp;{<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;<BR>&nbsp;&nbsp;public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args){<BR>&nbsp;&nbsp;&nbsp;&nbsp;DefaultPieDataset&nbsp;dpd&nbsp;=&nbsp;new&nbsp;DefaultPieDataset();<BR>&nbsp;&nbsp;&nbsp;&nbsp;dpd.setValue("管理人员",25);<BR>&nbsp;&nbsp;&nbsp;&nbsp;dpd.setValue("市场人员",25);<BR>&nbsp;&nbsp;&nbsp;&nbsp;dpd.setValue("开发人员",45);<BR>&nbsp;&nbsp;&nbsp;&nbsp;dpd.setValue("其他人员",5);<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;//Create&nbsp;JFreeChart&nbsp;object<BR>&nbsp;&nbsp;&nbsp;&nbsp;//参数可以查看源码<BR>&nbsp;&nbsp;&nbsp;&nbsp;JFreeChart&nbsp;pieChart&nbsp;=&nbsp;ChartFactory.createPieChart("CityInfoPort公司组织架构图",dpd,true,true,false);<BR>&nbsp;&nbsp;&nbsp;&nbsp;ChartFrame&nbsp;pieFrame&nbsp;=&nbsp;new&nbsp;ChartFrame("CityInfoPort公司组织架构图",pieChart);<BR>&nbsp;&nbsp;&nbsp;&nbsp;pieFrame.pack();<BR>&nbsp;&nbsp;&nbsp;&nbsp;pieFrame.setVisible(true);<BR>&nbsp;&nbsp;}<BR>}<BR><BR>上面例子可以进一步改进，如下：<BR>/**<BR>&nbsp;*&nbsp;Description:This&nbsp;application&nbsp;is&nbsp;the&nbsp;first&nbsp;jfreechart<BR>&nbsp;*&nbsp;authort:谢莫锋<BR>&nbsp;*&nbsp;Datetime:20058-02-11<BR>&nbsp;*/<BR>package&nbsp;com.cityinforport.demo;<BR><BR>import&nbsp;org.jfree.chart.JFreeChart;<BR>import&nbsp;org.jfree.chart.ChartPanel;<BR>import&nbsp;org.jfree.chart.ChartFactory;<BR>import&nbsp;org.jfree.chart.ChartFrame;<BR>import&nbsp;org.jfree.data.general.DefaultPieDataset;<BR>import&nbsp;org.jfree.chart.plot.PiePlot;<BR>import&nbsp;org.jfree.data.general.PieDataset;<BR>import&nbsp;org.jfree.ui.ApplicationFrame;<BR>import&nbsp;org.jfree.ui.RefineryUtilities;<BR>import&nbsp;<A href="http://www.chinaitpower.com/Dev/Programme/Java/index.html" target=_blank>java</A>.awt.Font;<BR>import&nbsp;<A href="http://www.chinaitpower.com/Dev/Programme/Java/index.html" target=_blank>java</A>x.swing.*;<BR><BR><BR>public&nbsp;class&nbsp;FirstJFreeChart&nbsp;extends&nbsp;ApplicationFrame&nbsp;{<BR>&nbsp;&nbsp;//构造函数<BR>&nbsp;&nbsp;public&nbsp;FirstJFreeChart(String&nbsp;s){<BR>&nbsp;&nbsp;&nbsp;&nbsp;super(s);<BR>&nbsp;&nbsp;&nbsp;&nbsp;setContentPane(createDemoPanel());<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;<BR>&nbsp;&nbsp;public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args){<BR>&nbsp;&nbsp;&nbsp;&nbsp;FirstJFreeChart&nbsp;fjc&nbsp;=&nbsp;new&nbsp;FirstJFreeChart("CityInfoPort公司组织架构图");<BR>&nbsp;&nbsp;&nbsp;&nbsp;fjc.pack();<BR>&nbsp;&nbsp;&nbsp;&nbsp;RefineryUtilities.centerFrameOnScreen(fjc);<BR>&nbsp;&nbsp;&nbsp;&nbsp;fjc.setVisible(true);<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;<BR>&nbsp;&nbsp;//生成饼图数据集对象<BR>&nbsp;&nbsp;public&nbsp;static&nbsp;PieDataset&nbsp;createDataset(){<BR>&nbsp;&nbsp;&nbsp;&nbsp;DefaultPieDataset&nbsp;defaultpiedataset&nbsp;=&nbsp;new&nbsp;DefaultPieDataset();<BR>&nbsp;&nbsp;&nbsp;&nbsp;defaultpiedataset.setValue("管理人员",10.02D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;defaultpiedataset.setValue("市场人员",20.23D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;defaultpiedataset.setValue("开发人员",60.02D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;defaultpiedataset.setValue("OEM人员",10.02D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;defaultpiedataset.setValue("其他人员",5.11D);<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;defaultpiedataset;<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;<BR>&nbsp;&nbsp;//生成图表主对象JFreeChart<BR>&nbsp;&nbsp;public&nbsp;static&nbsp;JFreeChart&nbsp;createChart(PieDataset&nbsp;piedataset){<BR>&nbsp;&nbsp;&nbsp;&nbsp;//定义图表对象<BR>&nbsp;&nbsp;&nbsp;&nbsp;JFreeChart&nbsp;jfreechart&nbsp;=&nbsp;ChartFactory.createPieChart("CityInfoPort公司组织架构图",piedataset,true,true,false);<BR>&nbsp;&nbsp;&nbsp;&nbsp;//获得图表显示对象<BR>&nbsp;&nbsp;&nbsp;&nbsp;PiePlot&nbsp;pieplot&nbsp;=&nbsp;(PiePlot)jfreechart.getPlot();<BR>&nbsp;&nbsp;&nbsp;&nbsp;//设置图表标签字体<BR>&nbsp;&nbsp;&nbsp;&nbsp;pieplot.setLabelFont(new&nbsp;Font("SansSerif",Font.BOLD,12));<BR>&nbsp;&nbsp;&nbsp;&nbsp;pieplot.setNoDataMessage("No&nbsp;data&nbsp;available");<BR>&nbsp;&nbsp;&nbsp;&nbsp;pieplot.setCircular(true);<BR>&nbsp;&nbsp;&nbsp;&nbsp;pieplot.setLabelGap(0.01D);//间距<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;jfreechart;<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;<BR>&nbsp;&nbsp;//生成显示图表的面板<BR>&nbsp;&nbsp;public&nbsp;static&nbsp;JPanel&nbsp;createDemoPanel(){<BR>&nbsp;&nbsp;&nbsp;&nbsp;JFreeChart&nbsp;jfreechart&nbsp;=&nbsp;createChart(createDataset());<BR>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;new&nbsp;ChartPanel(jfreechart);<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;<BR>}<BR>带续..........稍后内容更加精彩</TD> </LI></UL><img src ="http://www.blogjava.net/tangbao/aggbug/30772.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/tangbao/" target="_blank">糖包</a> 2006-02-15 11:20 <a href="http://www.blogjava.net/tangbao/articles/30772.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>