一.Struts2
用的版本是struts2.3.1.1
一个简单的Struts项目所需的jar包有如下8个
1. struts2-core-2.3.1.1.jar: Struts2的核心类库。
2. xwork-core-2.3.1.1.jar: XWork核心类,XWork是一个标准的command模式实现,并且完全从web层剥离出来。WebWork被构建在Xwork上,而Struts2由Struts1和WebWork两个经典的MVC框架发展而来。
3. ognl-3.0.3.jar: 支持OGNL表达式(Object Graph Navigation Language 对象图导航语言)。
4. freemarker-2.3.18.jar: 表现层框架,定义了struts2的可视组件主题,Struts 2的UI标签的模板使用FreeMarker编写。
5. commons-fileupload-1.2.2.jar:文件上传组件,2.1.6版本后必须加入此jar包。
6. commons-io-2.0.1.jar:IO输入输出组件,主要完成文件的读写功能。
7. javassist-3.11.0.GA.jar: Javassist是一个开源的分析,编辑和创建java字节码的类库(类似于CGLIB,不过性能更好)。javassist在struts2.1之前被整合在OGNL里面,之后的版本由于框架的整合原因,又从ognl中分离出来,所以需要被手动调入。
8. commons-lang.jar: 用来处理Java基本对象方法的工具类包
Struts2其他一些jar包
1. commons-logging.jar: 日志包,Struts2 框架使用这个日志包来支持Log4J和JDK1.4版本以上的日志记录
二.Spring3
Spring用的版本是3.0.5,Spring框架的依赖jar包是3.0.2版本
Spring不再提供with-dependencies的下载项,因此需要下载两个压缩包:spring-framework-3.0.5-with-docs.zip(Spring框架及文档)和spring-framwork-3.0.2-dependencies.zip(Spring 框架的依赖jar包)。spring-framework-3.0.5-with-docs文件夹下有dist文件夹,里面放了spring的20个分模块的jar包,不同的jar包提供不同的功能,这样允许开发者根据不同的需要选择不同的jar包。spring-framwork-3.0.2-dependencies目录下包含了Spring框架编译和运行所依赖的第三方类库。
spring的dist文件夹下的20个jar包
1. org.springframework.aop:包含在应用中使用Spring的AOP特性时所需要的类。
2. org.springframework.asm: Spring独立的asm程序。asm是小巧轻便的Java字节码操控框架,它能方便地生成和改造Java代码。Hibernate和Spring在底层都用到了asm(cglib底层用的asm)。
3. org.springframework.aspects: 提供对AspectJ的支持,也可以使用aspectjrt.jar 代替。
4. org.springframework.beans: 所有应用都要用到的,它包含访问配置文件,创建和管理bean已经进行IoC操作相关的类。
5. org.springframework.context: 为Spring核心提供了大量扩展。可以找到使用Spring ApplicationContext(容器)特性时需要的全部类,JDNI所需的全部类,UI方面的用来与模板引擎如FreeMarker集成的类,已经校验Validation方面的相关类。
6. org.springframework.context.support: 包含支持缓存Cache(ehcache),JCA,JMX.邮件服务(Java Mail,COS Mail),任务计划Scheduling(Timer,Quartz)方面的类。
7. org.springframework.core: 包含Spring框架基本的核心工具类,Spring其他组件都要使用到这个包里的类,是其他组件的基本核心。
8. org.springframework.expression: Spring表达式语言。
9. org.springframework.instrument.tomcat: Spring3对Tomcat的连接池的集成
10. org.springframework.instrument: Spring对服务器的代理接口
11. org.springframework.jdbc 包含了Spring对JDBC数据访问进行封装的所有类
12. org.springframework,jms : 提供了对JMS1.0.2/1.1的支持
13. org.springframework.orm: Spring对DAO特性进行了扩展,使其支持iBATIS
, JDO,OJB,Hibernate。这个jar包里的大部分类都要依赖Spring-dao.jar里的类。
14. org.springframework.oxm: Spring对Object/XML的映射支持,可以在Java和XML之间来回切换
15. org.springframework.test: 对Junit等测试框架的简单封装。
16. org.springframework.transaction: 为JDBC,Hibernate,JDO,JPA提供一致的声明式和编程式事务管理。
17. org.springframework.web.portlet: Spring MVC的增强。
18. org.springframework.web.servlet: 对J2EE6.0的Servlet3.0的支持。
19. org.springframework.web.Struts: Struts框架支持
20. org.springframework.web 包含Web应用开发时,用户Spring框架时所需的核心类,包括自动载入Web ApplicationContext特性的类,Struts和JSF集成类,文件上传的支持类,Filter类和大量工具辅助类。
Spring其他一些jar包
1. com.springsource.javax.persistence-1.0.0.jar:持久层对象的接口!用于ORM。但是,这个如同JDBC一样,只是标准接口,具体在用的时候,还必须绑定特定的具体实现,例如:toplink、KODO、amber...
三.Hibernate3
使用的版本是3.6.0 Final
解压得到hibernate-distribution-3.6.0.Final的文件夹,文件加下有lib子文件夹,在lib文件夹下有一个required子文件夹,里面保存了运行Hibernate 3.6项目所需的第三方类库。在hibernate-distribution-3.6.0.Final的文件夹下有Hibernate3.jar,这个jar包时Hibernate3.6核心Jar包,不会是使用Hibernate框架还是使用Hibernate JPA实现都要这个jar包。
1.hibernate3.jar : 核心包
2.antlr.jar:语言转换工具,Hibernate利用它实现HQL到SQL的转换
3.commons-collection.jar:Apache的工具集,用来增强Java对集合的处理能力
4.dom4j.jar: dom4j XML解析器
5.javassist.jar: 代码生成工具,Hibernate用它在运行时扩展Java类和实现,同cglib
6.jta.jar:标准的java事务处理接口
7.slf4j-api.jar:hibernate使用的一个日志系统,在整合Spring和hibernate时,会报错,是因为缺少了slf4j-log4j12.jar包。整合了Spring管理了日志(也可以不用),在web.xml一个Log4j监听就是spring包下的,看缺少包名就知道是slf4j-log4j12之间的转换,或说少了slf4j-log4j.jar桥接器。