2009年10月29日星期四

JAVA WEB开发库简介与记录


DbUnit:
    DbUnit is a JUnit extension (also usable with Ant) targeted at database-driven projects that, among other things, puts your database into a known state
    between test runs. This is an excellent way to avoid the myriad of problems that can occur when one test case corrupts the database and causes subsequent
     tests to fail or exacerbate the damage.
    主要的作用:数据库的测试,维护数据库稳定。DBUnit的设计理念就是在测试之前,备份数据库,然后给对象数据库植入我们需要的准备数据,最后,在测试完毕后,读入备份数据库,回溯到测试前的
    状态;
    教程:http://blog.csdn.net/yuezu1026/archive/2009/04/08/4055923.aspx

EnCache:
    Ehcache is a widely used java distributed cache for general purpose caching, Java EE and light-weight containers.
    主要作用:Hibernate的二级缓存,Hibernate有两种缓存一种是Session里面的一级缓存,再有就是第三方的二级缓存,这个必须手工配置,要不然是不会生效的,用Ehcache并不代表不操作数据库了,而是它会把
                    实体类在内存中放一个缓存, 当不修改数据库时,它就不用时行数据库操作了,比如说读取的操作,如果进行保存的话,他也会更新缓存的。
    配置简介:在Application.xml里的SessionFactory里加上如下:
<prop key="hibernate.cache.provider_class">
org.hibernate.cache.EhCacheProvider
</prop>
<prop key="hibernate.cache.use_query_cache">true </prop>
<prop key="hibernate.cache.use_second_level_cache">
true
</prop>
这是启用缓存,另外还需要在ClassPath下建立:
ehcache.xml这个文件,里面这样写就行了:
<?xml version="1.0" encoding="UTF-8"?>
<ehcache>
<!-- enable second level cache  -->
<diskStore path="java.io.tmpdir" />
<defaultCache maxElementsInMemory="100" eternal="false"
timeToIdleSeconds="300" timeToLiveSeconds="180" diskPersistent="false"
diskExpiryThreadIntervalSeconds="120" overflowToDisk="false" />

<cache name="org.hibernate.cache.UpdateTimestampsCache"
maxElementsInMemory="100" eternal="true" overflowToDisk="true" />

<cache name="org.hibernate.cache.StandardQueryCache"
maxElementsInMemory="100" eternal="false" timeToLiveSeconds="120"
overflowToDisk="true" />

<cache name="com.clove.cms.model.User" maxElementsInMemory="100"
eternal="false" timeToIdleSeconds="300" timeToLiveSeconds="180"
overflowToDisk="false" />
</ehcache>
User,就是你的实体类了!
    二级缓存简介:http://www.javaeye.com/topic/18904

JAF(activation.jar):

    全称JavaBeans 激活框架 (Java Bean Activation Framework),主要用于动态找到正确的组件以处理任意但类型化了的数据的机制 。特别是,作为发现 API 来开发 JAF,以便使 GUI 开发人员能够为文档和图像数据动态地发现浏览器和编辑器。
    简介:http://www.abcjava.com/html/ziyuanxiazai/J2EE/2009/0905/752.html

ActiveIO-Core:

    API:http://www.jarvana.com/jarvana/view/org/apache/activemq/activeio-core/3.1.0/activeio-core-3.1.0-javadoc.jar!/index.html

Apache ActiveMQ:
     The most popular and powerful open source messaging and Integration Patterns provider.

Antlr:
    ANTLR(ANother Tool for Language Recognition)它是这样的一种工具,它可以接受词文法语言描述,并能产生识别这些语言的语句的程序。作为翻译程序的一部分,你可以使用简单的操 作符和动作来参数化你的文法,使之告诉ANTLR怎样去创建抽象语法树(AST)和怎样产生输出。ANTLR知道怎样去生成识别程序,语言包括 Java,C++,C#.

Cglib:

    cglib is a powerful, high performance and quality Code Generation Library, It is used to extend JAVA classes and implements interfaces at runtime. See samples and API documentation to learn more about features.
    Spring和Hibernate都是用了Cglib。Cglib则依赖于ASM库。简介:http://www.javaeye.com/topic/98178
    API:http://cglib.sourceforge.net/apidocs/index.html

chardet.jar:   
    jchardet is a java port of the source from mozilla's automatic charset detection algorithm. The original author is Frank Tang. What is available here is the java port of that code. The original source in C++ can be found from http://lxr.mozilla.org/mozilla/source/intl/chardet/ More information can be found at http://www.mozilla.org/projects/intl/chardet.html
    jchardet是mozilla自动字符集探测算法代码的java移植。
    主页:http://jchardet.sourceforge.net/
    介绍:http://blog.csdn.net/the3gwireless/archive/2007/08/13/1740228.aspx

Commons BeanUtils:

    一个用于操作Java Bean的工具类库。
    简介:http://www.blogjava.net/rongxh7/archive/2009/06/22/283566.html
    官网:http://commons.apache.org/beanutils/

Commons Codec:
    Commons Codec provides implementations of common encoders and decoders such as Base64, Hex, Phonetic and URLs.
    Commons Codec 提供了通用编码和解码的实现,例如Base64、Hex、Phonetic和URLs。
    官网:http://commons.apache.org/codec/

Commons-Collections:

    Commons-Collections seek to build upon the JDK classes by providing new interfaces, implementations and utilities.
    Java Collection Framework之上的一个框架。
    主页:http://commons.apache.org/collections/

Commons-Configuration:
    Commons Configuration provides a generic configuration interface which enables a Java application to read configuration data from a variety of sources.
    Configuration parameters may be loaded from the following sources:
  • Properties files
  • XML documents
  • Windows INI files
  • Property list files (plist)
  • JNDI
  • JDBC Datasource
  • System properties
  • Applet parameters
  • Servlet parameters
    主页:http://commons.apache.org/configuration/

Commons-DBCP:
    dbcp提供了数据库连接池;可以在spring,iBatis,hibernate中调用dbcp完成数据库连接,框架一般都提供了dbcp连接的方法;Tomcat中也提供了dbcp的jndi设置方法;
    Tomcat的dbcp配置:http://www.blogjava.net/ytl-zlq/archive/2009/04/14/265564.html
    使用例子:http://www.javaeye.com/topic/117225

Commons-digester:
    Many projects read XML configuration files to provide initialization of various Java objects within the system. There are several ways of doing this, and the Digester component was designed to provide a common implementation that can be used in many different projects.
    主页:http://commons.apache.org/digester/

Commons-fileupload:
    The Commons FileUpload package makes it easy to add robust, high-performance, file upload capability to your servlets and web applications.
    提供文件上传功能的库。
    主页:http://commons.apache.org/fileupload/

Commons-io:
    基本io库的封装,更方便。
    UserGuide:http://commons.apache.org/io/description.html

Commons-Lang:
    java.lang库的封装
    主页:http://commons.apache.org/lang/

Commons-logging:
    轻量级的日志库。
    主页:http://commons.apache.org/logging/

Commons-Net:

    Jakarta Commons Net implements the client side of many basic Internet protocols.
    支持的协议有:
  • FTP/FTPS
  • NNTP
  • SMTP
  • POP3
  • Telnet
  • TFTP
  • Finger
  • Whois
  • rexec/rcmd/rlogin
  • Time (rdate) and Daytime
  • Echo
  • Discard
  • NTP/SNTP
    主页:http://commons.apache.org/net/

Commons-pool:

    Pool provides an Object-pooling API, with three major aspects:
  1. A generic object pool interface that clients and implementors can use to provide easily interchangable pooling implementations.
  2. A toolkit for creating modular object pools.
  3. Several general purpose pool implementations.
    被DBCP库依赖。
    主页:http://commons.apache.org/pool/

DOM4J:

    dom4j is an easy to use, open source library for working with XML, XPath and XSLT on the Java platform using the Java Collections Framework and with full support for DOM, SAX and JAXP.
    xml分析处理的库。
    主页:http://www.dom4j.org/

Fast InfoSet(FastInfoSet.jar):
    Fast Infoset (or FI) is an international standard that specifies a binary encoding format for the XML Information Set (XML Infoset) as an alternative to the XML document format. It aims to provide more     efficient serialization than the text-based XML format.
    Fast Infoset(FI)是一个国际通用标准的XML的二进制格式。用于提高XML文档的传输速度,相比于基于文本的XML格式二进制的XML文件传输更快。
    FastInfoSet库就是二进制格式XML的开源实现。
    主页:https://fi.dev.java.net/

IText:
   
iText is an ideal library for developers looking to enhance web- and other applications with dynamic PDF document generation and/or manipulation. iText is not an end-user tool.
    iText是一个的理想工具库,用于增强web开发和其他需要动态的生成或修改PDF文档的程序。iText通常不用于终端。
    主页:http://www.lowagie.com/iText/

IText-RTF:
    itext-RTF是一个itext的增强库。用于将Rich Text Files输出到PDF文件中,那些Rich Text File可以被RTF viewer所编辑观看,例如:MS office或Open Office
    UserGuide:http://itextdocs.lowagie.com/tutorial/rtf/index.php#rtfpackage

IText-RUPS:

    RUPS的缩写是Reading/Updating PDF Syntax。RUPS允许你看和操作PDF文档的内部结构。

Jakarta-ORO:
    Jakarta-ORO是最全面以及优化得最好的正则表达式API之一,Jakarta-ORO库以前叫做OROMatcher,是由Daniel F. Savarese编写,后来他赠给Jakarta Project。
    主页:http://jakarta.apache.org/oro/
    例子:http://oaklet.javaeye.com/blog/232969

JasperReports:
     JasperReports is the world's most widely used open source reporting engine.
    著名的报表引擎。
    主页:http://jasperforge.org/plugins/project/project_home.php?projectname=jasperreports

Javassist:
    和cglib一样也是用于编辑维护java bytecode的库。更简单。
    主页:http://www.csg.is.titech.ac.jp/~chiba/javassist/

JCommon:
    一个被JFreeChart使用的Java类库。主要功能有:        
  • configuration and dependency management code
  • a general logging framework
  • text utilities
  • user interface classes for displaying information about applications
  • custom layout managers
  • a date chooser panel
  • serialization utilities

JFreeChart:    
    JFreeChart is a free 100% Java chart library that makes it easy for developers to display professional quality charts in their applications.
    JFreeChart是一个100%的Java图表库,用于简化显示专业级的高质量图标。
    主页:http://www.jfree.org/jfreechart/

JSch:
    JSch是一个Java实现的SSH2协议。它可以实现连接到SSH2服务器的链接,并且使用端口映射、X11映射和文件传输。而且可以被集成到你的软件之中。

JSTL:
    JSTL标签库。

JTA:
    Java事物管理API(Java Transaction API),是一组java接口用于描述J2ee框架中事务管理器与应用程序,资源管理器,以及应用服务器之间的事务通讯。
    主页:http://java.sun.com/javaee/technologies/jta/index.jsp

Log4j:

    一个十分著名的重量级日志库。
    主页:http://logging.apache.org/log4j/1.2/index.html

JavaMail(mail.jar):
    邮件库。
    主页:http://java.sun.com/products/javamail/

Apache Neethi
    提供了一个使用Web Service Policy(WS-Policy是指Web服务策略框架规范)的通用库。
    主页:http://ws.apache.org/commons/neethi/index.html

Java Persistence API(JPA    persistence.jar):
    Java持久化API。提供了一个用于对象关系映射的(object-relational mapping)POJO的持久化模型。JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。 JPA的总体思想和现有Hibernate、TopLink,JDO等ORM框架大体一致。总的来说,JPA包括以下3方面的技术:
  • ORM映射元数据,JPA支持XML和JDK 5.0注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中;
  • JPA 的API,用来操作实体对象,执行CRUD操作,框架在后台替我们完成所有的事情,开发者从繁琐的JDBC和SQL代码中解脱出来。
  • 查询语言,这是持久化操作中很重要的一个方面,通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合。
    简介:http://lqw.javaeye.com/blog/246807

pinying4j:
    用于将中文转换成拼音的库。
    主页:http://pinyin4j.sourceforge.net/html/installation.html

Apache POI:
    用于处理Microsoft Format Files的Java API。
    主页:http://poi.apache.org/

SAAJ:
    用于提供创造和创建SOAP消息的API库。
    主页:https://saaj.dev.java.net/
    SOAP消息定义:http://www.zxbc.cn/html/20080313/32398.htmlhttp://en.wikipedia.org/wiki/SOAP

SNMP4J:
    是一个SNMP协议的API库。
    主页:http://www.snmp4j.org/

JSP(tm) Standard Tag Library(standard.jar):
    是JSTL的一个实现。
    主页:http://jakarta.apache.org/taglibs/doc/standard-doc/intro.html

Quartz:

    quartz是一个作业调度框架。使用它就可以设置在什么时候或隔多久执行一个任务。当然功能不止如此。
    主页:http://www.opensymphony.com/quartz/
    入门教程:http://hi.baidu.com/showco/blog/item/569e64d9e852e32f11df9bb0.html/cmtid/8976b000635d918ce850cd6d

Derby:
    是Apache DB的子项目,一个关系数据库的开源实现,完全使用Java实现。
    主页:http://db.apache.org/derby/

xbean-spring:
    用于简化spring的xml配置bean的库。
    简介:http://www.jroller.com/habuma/entry/spring_simplified_with_xbean

ojdbc.jar:
    Oracle数据库的JDBC驱动。

pager-taglib:

    一个jsp页面tag标签库。
    简介:http://jsptags.com/tags/navigation/pager/pager-taglib-2.0.html#examples

Geronimo:
    Apache Geronimo 是一个模块化的符合 Java™ 2 Platform, Enterprise Edition (J2EE) 规范的应用服务器平台,它基于使用控制反转(Inversion of Control,IoC)的架构解耦组件和服务以构建企业级应用程序和服务。

SLF4J:
    The Simple Logging Facade for Java or (SLF4J) serves as a simple facade or abstraction for various logging frameworks, e.g. java.util.logging, log4j and logback, allowing the end-user to plug in the desired logging framework at deployment time.
    SLF4J为多种日志库提供了一种简单的操作或抽象,例如:java.util.logging,log4j和logback。它允许终端用户在部署时,以插件的形式添加需要的功能到框架中。
    主页:http://www.slf4j.org/

Spring&&Hibernate:
    太有名了,不说了。













没有评论: