SSH所用JAR包详解
- 格式:docx
- 大小:18.45 KB
- 文档页数:4
ssm整合中jar包作用介绍ssm整合中jar包作用介绍Hiberna te Jar:1、hiberna te3.jar,这个是hibe rnate3.0的核心jar包,没的选,像我们常用的S ession,Query,Transac tion都位于这个jar文件中,必要。
2、cglib-2.1.3.jar,CGLIB库,H iberna te用它来实现PO字节码的动态生成,非常核心的库,必要。
3、asm.jar ASM字节码库如果使用“cglib”则必要,必要4、asm-attrs.jar ASM字节码库如果使用“cglib”则必要,必要5、ehcache.jar EHCache缓存如果没有其它缓存,则必要,必要6、antlr.jar ANother Tool for Language Recognition是一个工具,必要7、jta.jar JTA规范,当Hibern ate使用J T A的时候需要,不过App Server都会带上,所以也是多余的。
但是为了测试方便建议还是带上。
必要8、commons-logging.jar ApacheCommons包中的一个,包含了日志功能,必须使用的ja r包。
必要9、commons-collect ions.jar ApacheCommons包中的一个,包含了一些Ap ache开发的集合类,功能比java.util.*强大。
必要10、dom4j.jar 是一个Java的XML API,类似于jdom,用来读写XML文件的。
Hiberna te 用它来读写配置文件。
必要上面的就是Hibernat e的核心ja r包,是配置ssh架构中必须的,下面这些就是可选的了。
=========================================================version check.jar 版本检查可选swarmca che.jar 可选jboss-cache.jar TreeCac he可选jgroups.jar 可选xalan.jar, xerces.jar, xml-apis.jar Xerces是XML解析器,Xalan是格式化器,xml-apis实际上是JAXP。
SSH2要点:Struts2.18要点:01 struts2及struts2开发环境的搭建02 第一个struts2应用程序03 解决struts2配置文件无提示问题04 Action名称的搜索顺序05 Action配置的各项默认值06 result配置的各种视图转发类型07 为Action属性注入值08 指定Struts2处理的请求后缀、常量定义、常用常量09 Struts2的处理流程与Action的管理方式10 为应用指定多个配置文件11动态方法调用和使用通配符定义action12 请求参数接收与采用复合类型接收请求参数及解决中文参数乱码问题13 自定义类型转化器14全局类型转化器Jar作用的详解:Spring.jar 是包含有完整发布模块的单个jar包。
但是不包括mock.jar, aspects.jar, spring-portlet.jar, and spring-hibernate2.jar。
Spring-src.zip就是所有的源代码压缩包。
除了spring.jar文件,Spring还包括有其它21个独立的jar包,各自包含着对应的Spring 组建,用户可以根据自己的需要来选择组合自己的jar包,而不必引入整个spring.jar的所有类的文件。
Spring-core.jar这个jar文件包含Spring框架基本的核心工具类。
Spring其它组件都要使用到这个包里的类,是其它组件的基本核心,当然也可以在自己的应用系统中使用这些工具类。
外部依赖Commons Logging,(Log4J)。
Spring-beans.jar这个jar文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean以及进行Inversion of Control/Dependency Injection (IoC/DI)操作相关的所有类。
如果应用只需要基本的IoC/DI支持,引入spring-core.jar 及spring-beans.jar 文件就可以了。
jta.jar 标准JTA API必要commons-collections.jar 集合类 必要antlr.jar ANother Tool for Language Recognition 必要asm.jar ASM字节码库 如果使用“cglib” 则必要asm-attrs.jar ASM字节码库 如果使用“cglib” 则必要ehcache.jar EHCache缓存 如果没有其他的缓存,则是必要的cglib.jar CGLIB字节码解释器 如果使用“cglib” 则必要commons-beanutils.jar 提供对java反射和自省API的包装 对bean操作的类,可以访问类的属性及get和set方法commons-digester.jar Digester基于规则的XML文档解析,主要用于XML到java对象的映射commons-lang.jar 包含了一些数据类型工具类,是ng.* 的扩展 必须使用的包commons-pool.jar,commons-dbcp.jar DBCP数据库连接池,Apache的Jakarta组织开发的,Tomcat4的连接池也是DBCPcommons-chain.jar Jakarta Commons的子项目Chain将上述两个模式组合成一个可复用的Java框架用于描述顺序的处理流程 strutsheShale应用框架作为处理HTTP请求处理的基础机制commons-validator.jar 用来帮助进行验证的工具。
比如验证Email字符串,日期字符串等是否合法。
Burlap.jar 支持ejb,远程调用Remoting方面的类buffalo.jar 处理xml的jar包commons-betwixt.jar 用xml生成报表时需要用到的包commons-el.jar Apache 组织中一个用来解析 JSP 2.0 的表达式语言的 Javahtmlparser.jar 是一个纯的java写的html解析的库,它不依赖于其它的java库文件,主要用于改造或提取html类库jakarta-oro.jar java正则表达式所需的包jaxen.jar 在jdom中使用xpath需要导入jaxen.jar包mina-core.jar Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架这里主要介绍的是Hibernate使用到的.jarHibernate一共包括了23个jar包,令人眼花缭乱。
SSH框架整合步骤详解SSH框架 2009-04-09 10:47:00 阅读611 评论0 字号:大中小订阅更系统地学习Struts1.x/Struts2.x+Hibernate+Spring,请学习该开源项目Appfuse终于,终于将SSH整合成功了,弄了几个小时,可以休息了(有的朋友弄了半个月,甚至重装了系统也没弄好,哎,庆幸啊)。
碰到问题千万不要放弃,要相信没有解决不了的问题!项目结构图:jsp部分为:index.jsp;success.jsp;fail.jspUserDAO.java,User.hbm.xml自动生成,HibernateSessionFactory 是多余的。
相关的配置文件、类文件详细信息,请参看Struts+Spring+Hibernate/SSH整合开发详细二以前是整过这三个框架的,可是工作期间都不曾用过,不知不觉之中,学的东西全忘了。
这次又要开始找工作了,看着招聘启事上都写着:要求熟练掌握Struts,Hibernate或Spring框架……,没得办法,重新学呗。
Spring in Action中文版下载地址(ftp协议)ftp://222.214.218.61/book5/20080228/cf8b35cc-5bcd-497 3-b6b7-37ae3ec78391.rar如果无法下载,可以在里重新搜索首先开始搭建项目环境,步骤如下:使用平台:MyEclipse 6.0框架版本:Struts 1.2 Hibernate 3.0 Spring 2.01>添加过程:<1> 新建项目。
Package Explorer视图下,右键单击 New -> Web Project;<2> 添加Struts框架。
菜单栏MyEclipse -> Capabilities,或者右键单击新建的项目名,选择快捷菜单中的"MyEclipse"下的二级菜单;设置相关的包名后,请写一个Struts的小例子,用来测试Struts是否可用;<3> 添加Spring。
图解SSH框架配置步骤核心提示:现在开发的一个项目使用S2SH框架,配置环境用了一两天,现在把当时配置环境时写的文档整理下发出来,也算加强点记忆。
1 开发环境 MyEclipse5.5 JDK 1.6 Java EE 5.0 Tomcat6.0 Struts2.1.6 Spring2.5.6 Hibernate3.3.1 2 为 ssh 做好准备 2.1 下载包 Struts2现在开发的一个项目使用S2SH框架,配置环境用了一两天,现在把当时配置环境时写的文档整理下发出来,也算加强点记忆。
1 开发环境MyEclipse5.5JDK 1.6Java EE 5.0Tomcat6.0Struts2.1.6Spring2.5.6Hibernate3.3.12 为ssh做好准备2.1下载包Struts2.1.6包下载:/download.cgi#struts216Full Distribution:o struts-2.1.6-all.zip (110mb) [PGP] [MD5]Hibernate3.3包下载:https:///6.htmlSpring2.5下载:/download2.2搭建开发环境打开MyEclipse,新建一个web project,如图:注意:J2ee版本设为java ee 5.0点击Finish完成,建好的工程如图:如果你的myeclipse还没有配置一个web服务器,那就进行下面的步骤,这里以tomcat6为例:打开MyEclipse Preferences窗口,展开目录树如下图:设置好你的tomcat6的路径即可,前提你要先安装好tomcat哦。
还有需要注意的一点是,看到目录树tomcat6.x下面的JDK了吗?点击它,也要把tomcat的JDK设为jdk1.6才行,以与myeclipse一致。
好了,工程已经建好了,下面就开始配置struts吧。
配置之前先把struts的包下载下来哦,下载地址上面已经给出了。
第5 章SSH 框架整合技术5.1 Spring 与Hibernate 整合除了JdbcTemplate 外,Spring 还可通过Hi b e r nate 来完成Dao 的工作。
即将Spring 与Hibernate 进行整合。
举例:项目spring_hibernate(在dao_jdbcTemplate 基础上修改)5.1.1 导入Jar 包除了Spring 的基本Jar 包外,还需要以下几种Jar 包:(1)Spring AOP 的两个Jar 包(2)AspectJ 的两个Jar 包(3)Spring 的JDBC 的Jar 包(4)Spring 整合ORM 的Jar 包Spring 整合ORM 框架的Jar 包,在Spring 框架解压目录下的libs 目录中。
(5)Spring 的事务Jar 包Spring 的事务Jar 包,在Spring 框架解压目录下的libs 目录中。
(6)Hibernate 的基本Jar 包Hibernate 的基本Jar 包中已经包含了C3P0 数据源的Jar 包,且版本高于Spring 中提供的版本。
所以直接使用Hibernate 中的即可。
2Hibernate 的基本Jar 包中已经包含了MySql 的驱动Jar 包,所以不用再导入了。
5.1.2 实体映射文件的配置5.1.3 注册数据源Spring 配置文件中数据源与jdbc 属性文件的注册,与template_jdbc 项目中的相同。
5.1.4 配置SessionFactorySpring 的精髓是,所有的Bean 均由Spring 容器统一管理,所以在SPring 中若要使用Hibernate,就需要将SessionFactory 交由Spring 来管理。
配置SessionFactory 的Bean,将hibernate.cfg.xml 文件替换掉。
使用的实现类为LocalSessionFactoryBean,注意,是hibernate5 包下的。
SSH 搭建点滴前言初学三大框架,懵懵懂懂,似是而非,云里雾里的,趁着眼下思路还算清晰,赶紧做个笔记,以备不时之需。
开工三大框架,各有利弊,分开来用都是没的说,但是怎么能让它们整合起来发挥出各自的优势,却不是那么容易。
下面先列出我的项目目录图,以便于参照。
第一步:导入相关jar包关于jar包,真的是让人又爱又恨的一个存在。
版本之间不同的话,冲突还是很大的,尤其是大项目,依赖的jar包更是一个难题。
与之相比,Maven的存在在很大程度上解决了这个问题,仓库设置的恰当的话,更是一种享受。
为了更好的锻炼自己的能力,今天我还是按照原始的做法,从Dynamic Web Project开始吧。
一般来说,jar包都是项目经理或者团队之间预先准备好的,一方面可以解决版本问题,另一方面也能很好的管理团队的开发,维护。
然后还可以add to build path.方面后续的操作。
第二步:搭建Strtus2环境我自己对于Struts2的理解,就是一个“前端(这是相对的概念,相对于整个项目而言)”的信使,管理着客户端发来的请求,然后把请求转发给不同的action来处理。
底层必然是使用FilterDispatcher了,这里就不过多讲述这方面的细节吧。
搭建环境也是非常清晰,大致分为以下两步。
创建action和struts.xml刚才也说过了,请求是要经过特定的action来处理的,action相当于咱们的第一道“防线”。
下面在com.hailstudio.action包下创建一个UserAction,继承自ActionSupport类即可。
(这样方便请求的处理操作)。
然后是在src目录下创建一个strtus.xml文件。
注意好里面的schema约束和相对于action的设置,下面我给出我的案例。
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""/dtds/struts-2.0.dtd"><struts><package name="struts2" extends="struts-default" namespace="/"><!-- 为了防止action被spring和strtus2加载两次,class的值写成spring的bean的id 的值即可。
JAR⽂件包及jar命令详解[导读] 常常在⽹上看到有⼈询问:如何把 java 程序编译成 .exe ⽂件。
通常回答只有两种,⼀种是制作⼀个可执⾏的 JAR ⽂件包,然后就可以像.chm ⽂档⼀样双击运⾏了;⽽另⼀种是使⽤ JET 来进⾏编译。
但是JET 是要⽤钱...常常在⽹上看到有⼈询问:如何把 java 程序编译成 .exe ⽂件。
通常回答只有两种,⼀种是制作⼀个可执⾏的 JAR ⽂件包,然后就可以像.chm ⽂档⼀样双击运⾏了;⽽另⼀种是使⽤ JET 来进⾏编译。
但是 JET 是要⽤钱买的,⽽且据说 JET 也不是能把所有的 Java 程序都编译成执⾏⽂件,性能也要打些折扣。
所以,使⽤制作可执⾏ JAR ⽂件包的⽅法就是最佳选择了,何况它还能保持 Java 的跨平台特性。
下⾯就来看看什么是 JAR ⽂件包吧:1. JAR ⽂件包JAR ⽂件就是 Java Archive File,顾名思意,它的应⽤是与 Java 息息相关的,是 Java 的⼀种⽂档格式。
JAR ⽂件⾮常类似 ZIP ⽂件——准确的说,它就是 ZIP ⽂件,所以叫它⽂件包。
JAR ⽂件与 ZIP ⽂件唯⼀的区别就是在 JAR ⽂件的内容中,包含了⼀个 META-INF/MANIFEST.MF ⽂件,这个⽂件是在⽣成 JAR ⽂件的时候⾃动创建的。
举个例⼦,如果我们具有如下⽬录结构的⼀些⽂件:==`-- test`-- Test.class把它压缩成 ZIP ⽂件 test.zip,则这个 ZIP ⽂件的内部⽬录结构为:test.zip`-- test`-- Test.class如果我们使⽤ JDK 的 jar 命令把它打成 JAR ⽂件包 test.jar,则这个 JAR ⽂件的内部⽬录结构为:test.jar|-- META-INF| `-- MANIFEST.MF`-- test`--Test.class2. 创建可执⾏的 JAR ⽂件包制作⼀个可执⾏的 JAR ⽂件包来发布你的程序是 JAR ⽂件包最典型的⽤法。
使用gitee或github托管maven仓库jar包的简便方法-概述说明以及解释1.引言1.1 概述引言部分是文章的开篇,通常用来介绍文章的主题和背景,概述文章将要讨论的内容。
在本文中,概述部分应该介绍使用gitee或github托管maven仓库jar包的简便方法的意义和重要性。
概述部分应该围绕以下几个方面展开:1. 解释Maven仓库的概念和作用:Maven仓库是存储Java项目所需依赖包的地方,通过向仓库添加jar包,可以在项目中引用这些依赖。
2. 引入gitee和github托管平台:介绍gitee和github作为代码托管平台在开发中的重要性和普及度。
3. 引出问题:在使用Maven构建项目时,如何管理和维护依赖的jar 包是一个常见的问题,传统的方法可能会显得繁琐和不便。
4. 本文要解决的问题:介绍本文将要讨论的主题,即如何利用gitee 或github的仓库功能,简化管理Maven仓库中的jar包。
上述内容可以帮助读者对本文的主题有一个初步的了解,引起读者的兴趣,为接下来的内容铺垫。
1.2 文章结构本文将分为三个主要部分:引言、正文和结论。
在引言部分,将对本文所涉及的背景知识和概念进行简要介绍,让读者对整个主题有一个基本的了解。
同时,将说明本文的结构和目的,以便读者明确本文的核心内容和意义。
在正文部分,将介绍如何在gitee或github 上托管Maven仓库jar 包的简便方法。
具体而言,将包括选择合适的托管平台、创建Maven仓库和配置项目依赖等步骤。
通过这些详细的介绍,读者可以清晰地了解如何使用这些平台来管理自己的jar包。
最后,在结论部分,将总结本文的主要内容,强调使用简便方法的优势并提出实践中的注意事项。
另外,还将展望未来这种简便方法在软件开发领域的发展前景,为读者留下思考和探讨的空间。
1.3 目的在本文中,我们旨在探讨如何利用gitee或github这样的托管平台来托管Maven仓库中的jar包。
SSH整合SSH整合前应该先熟悉各个框架的单独使用,至少要了解各自的xml配置。
环境:struts-2.3.15.1,spring-3.2.4,hibernate-4.2.3,myeclipse10,JDK-1.6,Mysql Jar包:1.新建web项目2.以简单的登录验证为例3.建立login.jsp,login_success.jsp,login_error.jsp4.引入struts2(1)web.xml配置<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepa reAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>(2)src下的struts.xml配置<package name="default"namespace="/"extends="struts-default"><action name="login"class="com.accp.action.LoginAction" method="login"><result name="success"> /login_success.jsp </result><result name="error"> /login_error.jsp </result></action></package>(3)测试struts2是否能够通过5.引入spring(1)配置web.xml,添加listener<listener><listener-class>org.springframework.web.context.ContextLoaderListener </listener-class></listener><!-- 告知spring config location 的存储位置 --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:beans.xml</param-value></context-param>(2)配置src下的beans.xml将spring的ApplicationContext.xml拷贝至src下,删除里面的配置项,只保留下面内容<?xml version="1.0"encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans.xsd"></beans>6.引入hibernate(1)配置beans.xml<?xml version="1.0"encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:jee="/schema/jee"xmlns:tx="/schema/tx"xmlns:aop="/schema/aop"xmlns:p="/schema/p"xmlns:util="/schema/util"xmlns:tool="/schema/tool" xmlns:context="/schema/context"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans.xsd /schema/tx/schema/tx/spring-tx.xsd/schema/aop/schema/aop/spring-aop.xsd/schema/jee/schema/jee/spring-jee.xsd/schema/context/schema/context/spring-context.xsd/schema/util/schema/util/spring-util.xsd/schema/tool/schema/tool/spring-tool.xsd"default-lazy-init="true"default-autowire="byName"><!--spring jdbc配置数据源 Mysql--><bean id="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName"value="com.mysql.jdbc.Driver" /><property name="url"value="jdbc:mysql://localhost:3306/test" /><property name="username"value="user"/><property name="password"value="123456"/></bean><!-- hibernate.cfg.xml Spring config --><bean id="sessionFactory"class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"><!-- connection --><property name="dataSource"><ref local="dataSource"/></property><!-- hibernate自身属性 --><property name="hibernateProperties"><props><prop key="hibernate.show_sql">true</prop><prop key="hibernate.format_sql">true</prop><propkey="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> <propkey="hibernate.current_session_context_class">thread</prop></props></property><!-- 映射文件<property name="mappingResources"><list><value>com/forwor/ssh/entity/xml/User.hbm.xml</value></list></property>--></bean><!-- 注入 --><bean id="userDao"class="erDaoImpl"> <property name="sessionFactory"><ref local="sessionFactory"/></property></bean><!-- aop --><!-- transaction --><bean id="userManager"class="erManagerImpl"><property name="userDao"><ref local="userDao"/></property></bean><!-- advice --><bean id="transactionManager"class="org.springframework.orm.hibernate4.HibernateTransactionManager "><property name="sessionFactory"><ref local="sessionFactory"/></property></bean><!-- 事务处理 --><bean id="transactionInterceptor"class="org.springframework.transaction.interceptor.TransactionInterce ptor"><property name="transactionManager"><ref local="transactionManager"/></property><property name="transactionAttributes"><props><prop key="register">PROPAGATION_REQUIRED</prop><!--hibernate4必须配置为开启事务否则 getCurrentSession()获取不到--><prop key="get*">PROPAGATION_REQUIRED,readOnly</prop><prop key="find*">PROPAGATION_REQUIRED,readOnly</prop><prop key="select*">PROPAGATION_REQUIRED,readOnly</prop><prop key="query*">PROPAGATION_REQUIRED,readOnly</prop><prop key="sync*">PROPAGATION_REQUIRED</prop><prop key="finish*">PROPAGATION_REQUIRED</prop><prop key="add*">PROPAGATION_REQUIRED</prop><prop key="insert*">PROPAGATION_REQUIRED</prop><prop key="edit*">PROPAGATION_REQUIRED</prop><prop key="update*">PROPAGATION_REQUIRED</prop><prop key="save*">PROPAGATION_REQUIRED</prop><prop key="remove*">PROPAGATION_REQUIRED</prop><prop key="delete*">PROPAGATION_REQUIRED</prop><prop key="login*">PROPAGATION_REQUIRED</prop><propkey="*">PROPAGATION_REQUIRED,ng.Exception</prop></props></property></bean><!-- autoproxy 自动创建代理--><bean id="ProxyCreator"class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyC reator"><property name="beanNames"><list><value>*Manager</value></list></property><property name="interceptorNames"><list><value>transactionInterceptor</value></list></property></bean><bean id="loginAction"class="com.accp.action.LoginAction"scope="prototype"><property name="userManager"><ref local="userManager"/></property></bean></beans>7.类图以用户登录验证为基础的测试流程控制8.注意事项(1)login.jsp 输入内容的name为ername user.password时,LoginAction中应该为user生成相应的get/set方法。
SSH2 的整合struts2commons-logging-1.0.4.jar 主要用于日志处理freemarker-2.3.8.jar 模板相关操作需要包ognl-2.6.11.jar ognl表达示所需包,xwork-2.0.7.jar xwork核心包struts2-core-2.0.14.jar struts2核心包struts2-spring-plugin-2.0.14.jar struts2整合spring所需要的包如果还需要整合其它框架或者插件,再导入其它的包hibernateHibernate3.jar hibernate核心包antlr-2.7.6.jar 一个语言转换工具Hibernate利用它实现HQL 到SQL 的转换模板相关操作需要包commons-collections-3.1.jar collections Apache 的工具集javassist-3.9.0.GA.jar 代码生成工具,Hibernate用它在运行时扩展Java类和实现,同cglib包dom4j-1.6.1.jar dom4j XML 解析器jta-1.1.jar 标准的JAVA 事务处理接口slf4j-api-1.5.8.jar和slf4j-log4j12-1.5.0.jar hibernate使用的一个日志系统cglib.jar CGLIB 字节码解释器asm.jar ASM字节码库如果使用“cglib”则必要asm-attrs.jar ASM字节码库如果使用“cglib”则必要如果想使用缓存需要加入:ehcache.jar EHCache缓存连接数据库加入相关包....SSH 集成核心jar关键字: ssh集成今天搭建SSH的环境,总结下,以后备用;1、Hibernate 3.2(7个):hibernate3.jar 核心库,必须jta.jar 必须commons-logging.jar 必须commons-collections.jar 必须antlr.jar 必须dom4j.jar 读写xml 必须cglib-2.1.3.jar 必须一下两个是cglib的依赖库也是必须的asm.jarasm-attrs.jar2、spring2.0 核心jar(5个)spring.jaraspectj/aspectjrt.jar、aspectjweaver.jarjakarta-commons/commons-logging.jarlog4j/log4j-1.2.14.jar3、struts2必须JAR包(6个):struts2-spring-plugin-2.0.11.2.jarxwork-2.0.5.jarstruts2-core-2.0.11.2.jarfreemarker-2.3.8.jarognl-2.6.11.jar4、spring2.5必须JAR包(5个):spring.jarasm-2.2.2.jarasm-commons-2.2.2.jarasm-util-2.2.2.jarcglib-nodep-2.1_3.jarspringspring-beans.jar 访问配置文件、创建和管理bean 以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类spring-context.jar 可以找到使用Spring ApplicationContext特性时所需的全部类,JDNI 所需的全部类,instrumentation组件以及校验Validation 方面的相关类spring-core.jar Spring 框架基本的核心工具类spring-jdbc.jar 包含对Spring 对JDBC 数据访问进行封装的所有类spring-orm.jar 对映射框架的一些支持spring-tx.jar 提供对事务的支持如果还需要AOP的支持,还要加上aspectjrt.jar和aspectjweaver.jar其它可选包:commons-beanutils-1.6.jarcommons-dbcp-1.2.2.jarcommons-pool-1.4.jarcommons-fileupload-1.2.1.jarcommons-io-1.4.jarJ2EE常用Jar包含义文章分类:Java编程本文中ssh指:struts2,srping2.5,hibernate3.2struts2必须JAR包(6个):struts2-spring-plugin-2.0.11.2.jarxwork-2.0.5.jarstruts2-core-2.0.11.2.jarfreemarker-2.3.8.jarognl-2.6.11.jarcommons-logging-1.0.4.jar(与hibernate3.2必须JAR包重复,取一个既可)hibernate3.2必须JAR包(8个):antlr-2.7.6.jarcommons-collections-2.1.1.jarcommons-logging-1.0.4.jardom4j-1.6.1.jarehcache-1.2.3.jarhibernate3.jarjta.jarlog4j-1.2.11.jarspring2.5必须JAR包(5个):spring.jarasm-2.2.2.jar (*)asm-commons-2.2.2.jar (*)asm-util-2.2.2.jar (*)cglib-nodep-2.1_3.jar (*)以上四个标*的jar包,hibernate,spring都有提供,但是一定要用spring下的,不然当部署到tomcat下,应用启动的时候会报如下错误:(血的教训啊)org.springframework.beans.factory.BeanCreationException: Error creating bean with name ’sessionFactory’ defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exceptionis net.sf.cglib.core.CodeGenerationException:ng.reflect.InvocationTargetException–>null另外:tomcat的缓存常常会出问题,你明明更新了,可是始终启动不了,这时你可以试着重启一下tomcat。
struts2+spring+hibernate三大框架环境搭建小小总结:(相对完整版)一、环境搭建导入各种jar包什么的就不多说了。
二、整个包结构及模式:1、src文件下,由panyname组成一个大的包结构和各项配置文件组成;2、companyname下,分成两部分:A、model层;B、功能层(一个功能层下面包含:action层、dao层、service层);3、model层下,包含整个项目所要的数据库表名,按照功能来命名包的名称;A、model层下包含对应的数据库表的java类实体类,里面包含对应数据库表中所有的字段以及完整的get,set方法(即里面的所有字段都有get、set方法);B、model层下对应的java实体类下必须要实现对应的数据库表的hbm.xml映射文件,里面实现了对应数据库表中所有字段的映射;C、hbm.xml等映射文件,必须到applicationContext.xml中进行映射;格式如下:<property name="mappingResources"><list><value>com/ectrip/cyt/model/XXX.hbm.xml</value> </list></property>4、功能层下,可以只有一个功能模块结构,也可以将多个功能相似的模块放到一个包结构下面,再在包结构下细分到具体的功能模块的功能层结构;A、一个完整的功能模块包下包含:action,dao,service层;1>、对应的action层包含对应功能实现的Action类;(公司的Action类必须继承公司的BaseAction类!)2>、对应的dao层包含对应功能实现的数据库操作类;(dao层下有idao层和对应功能实现的数据库操作类,idao层则为定义对应功能实现的数据库方法名接口)3>、对应的service层包含对应功能实现的各service接口;(service层下有iservice 层和对应功能方法实现类,iservice层则为定义对应功能方法名接口)5、各项配置文件:A、首先包含三个大的配置文件:applicationContext.xml,struts.xml,jdbc.properties,web.xmlB、applicationContext.xml实现依赖注入,struts.xml实现各响应功能的配置,jdbc.properties配置数据库相关属性C、其中1>、需要将jdbc.properties配置文件里面的数据库名与自己项目所操作的数据库一致。
struts2 核心包及其说明struts2-core-2.1.6.jar --------------- struts2的核心包freemarker-2.3.13.jar--------------- FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具commons-logging.jar -----------Jakarta的通用日志记录包ognl-2.6.11.jar --------------支持ognl表达式xwork-2.1.2.jar -------------- xwork的包由于Struts2是由xwork的延伸有些类依然关联着xwork的类(顺便介绍下相关名词--------1. jakarta:jakarta是apache组织下的一套Java解决方案的开源软件的名称,它包括了很多子项目。
Tomcat,ant,struts等等也是apache下的开源项目。
同时也是jakarta 的关联项目。
2.OGNL:OGNL是一种功能强大的表达式语言(Expression Language,简称为EL),webwork2和现在的Struts2.x中使用OGNL取代原来的EL来做界面数据绑定3.xwork:XWork是一个标准的Command模式实现,并且完全从web层脱离出来。
Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL –the Object Graph Navigation Language),IoC(Inversion of Control控制反转)容器等。
mand模式:命令(Command)模式属于对象的行为模式【GOF95】。
命令模式又称为行动(Action)模式或交易(Transaction)模式。
命令模式把一个请求或者操作封装到一个对象中。
)Hibernate3.3.1 核心包及其说明hibernate3.jar :核心包,不说什么了antlr-2.7.6 :一个语言转换工具,Hibernate利用它实现HQL 到SQL 的转换commons-collections-3.1 :collections Apache 的工具集,用来增强Java对集合的处理能力dom4j-1.6.1 :dom4j XML 解析器javassist-3.4.GA :代码生成工具, Hibernate用它在运行时扩展Java类和实现,同cglibjta-1.1 :标准的JAVA 事务处理接口slf4j-api-1.5.2 :hibernate使用的一个日志系统注:大家如果这时候整合spring跟hibernate,会报以下错误,这是由于缺少slf4j-log4j12.jar包,自己添上也行,不过后面还要写的hibernate-annotations-3.4.0.GA 里就有。
SSH框架是最常用的框架之一,在搭建SSH框架的时候总有人遇到这样,那样的问题。
下面我介绍一下SSH框架搭建的全过程。
第一步:准备工作。
下载好eclipse,Struts2,Spring,Hibernate。
1.eclipse:eclipse下载的时候建议下载JavaEE版的eclipse。
当然你也可以下载eclipse-SDK。
(下载eclipse-SDK需要下载Web,Tomcat等plugins)2.Struts2:/download1)引入Struts的jar包。
下载struts-*-all.zip 解压后,struts/lib目录下是struts 所有的相关jar包。
其中有5个是必须的:Commons-logging-1.0.4.jar,Freemarker-2.3.13.jar,Ognl-2.6.11.jar,Struts2-core-2.1.6.jar,Xwork-2.1.2.jar 其余jar包并不是struts必须的。
还有3个包也要注意导入。
不导入运行Tomcat时候可能会出现异常。
commons-io-1.3.2.jar,commons-fileupload-1.2.1.jar,javassist-3.7.ga.jar 注意:javassist-3.7.ga.jar包是在struts2-blank-2.2.1.war示例工程中的web-inf/lib下的。
3.Spring:/download/community还可以在eclipse下安装下载。
具体步骤是这样的:1)打开eclipse-help-Software Updates.2) 在打开的对话框中选择上面的第二项(Available Software)。
3)点击Add Site按钮,弹出URL对话框。
4)在对话框里输入:/updatesite/点击OK。
5)选择sping IDE点击安装(Install)。
4.Hibernate:/projects/hibernate/files/hibernate3/5.Jdk的src.zip包导入。
Struts2+Spring+Hibernate整合在SSH2框架中,Spring充当了一个JavaBean容器的作用,Spring使用IOC(依赖注入)和AOP(面向切面编程)技术接管了Hibernate的DAO、事务和Struts的action对象及service 业务层。
MVC分别使用:(1)M层,Spring;(2)V层,JSP;(3)C层,Struts;(4)持久层,Hibernate 我用的是myeclipse8.6,tomcat6.0.30,jdk6.0,和sqlServer2000版本的。
在开发工程中所用到的jar包如下图所示:我是直接先引进去的。
来做一个示例讲解三者的整合:一个登录的结构1.新建数据库stuInfo其中数据库中有一个表userInfo,字段如下图所示:Id是唯一标识符,自动增长,userName和passWord是用户名和密码2.开始准备整合工作新建一个webProject项目导入所需要的jar包,前面截图已经给出来了。
3.添加stucts2的支持选择stucts2的目录放在src下,然后打开并增加下列代码进去<package name="stucts2"extends="stucts-default"></package>对于web.xml的修改我们放在最后三个框架全部整合好后进行修改4.添加数据连接如图所示:这里我用的是jtds下面我们在src下建立一个包,命名为com.hubu.entity,存放实体类添加hibernate的支持其中我们在最后一步是否选择create sessionFactory的时候取消点击完成即可然后我们将下列代码加进去<property n ame="hibernate.show_sql">true</property><property name="format_sql">true</property>这样我们执行程序的时候会再控制台显示相应的hql查询如下所示:5.添加spring的支持点击完成即可这样就添加了Spring的支持从上述代码中可以看到,Spring封装了Hibernate的操作,用Spring的方式接管了Hibernate 的Session创建及销毁,创建SessionFactory的周边信息。
Hibernate jar包=================必要的包:hibernate3.jar,这个是hibernate3.0的核心jar包,必须的,呵呵,没的选,像我们常用的Session,Query,Transaction都位于这个jar文件中,必要。
cglib-2.1.3.jar,CGLIB库,Hibernate用它来实现PO字节码的动态生成,非常核心的库,必要。
asm.jar ASM字节码库如果使用“cglib”则必要,必要asm-attrs.jar ASM字节码库如果使用“cglib”则必要,必要ehcache.jar EHCache缓存如果没有其它缓存,则必要,必要antlr.jar ANother Tool for Language Recognition是一个工具,必要jta.jar JTA规范,当Hibernate使用JTA的时候需要,不过App Server都会带上,所以也是多余的。
但是为了测试方便建议还是带上。
必要commons-logging.jar Apache Commons包中的一个,包含了日志功能,必须使用的jar包。
必要commons-collections.jar Apache Commons包中的一个,包含了一些Apache开发的集合类,功能比java.util.*强大。
必要dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。
Hibernate用它来读写配置文件。
必要可选的包versioncheck.jar 版本检查可选swarmcache.jar 可选jboss-cache.jar TreeCache 可选jgroups.jar 可选xalan.jar, xerces.jar, xml-apis.jar Xerces是XML解析器,Xalan是格式化器,xml-apis实际上是JAXP。
一般App Server都会带上,JDK1.4也包含了解析器,不过不是Xerces,是Crimson,效率比较差,不过Hibernate用XML只不过是读取配置文件,性能没什么要紧的,所以也是多余的。
可选c3p0-0.9.1.jar C3p0是一个数据库连接池,Hibernate可以配置为使用C3P0连接池。
如果你准备用这个连接池,就需要这个jar包。
可选connector.jar JCA API,如果你字啊App Server上把Hibernate配置为Connector的话,就需要这个Jar,不过实际上一般App Server肯定会带上这个包,所以也是多余的包可选jboss-system.jar 可选jboss-system.jar 使用TreeCache时必要可选jacc-1_0-fr.jar JACC库可选checkstyle-all.jar 可选junit.jar 测试单元可选javassist.jar Javassist字节码解释器可选ant-lanuncher.jar 可选jaas.jar JAAS API 是用来进行权限验证的,已经包含在JDK1.4里面了,所以实际上是个多余的包可选jdbc2_0-stdext.jar JDBC扩展API,一般来说数据库连接池会用上它,不过App Server都会带上,所以也是多余的。
可选ant-antlr.jar Ant anlr支持可选jboss-jmx.jar 可选cleanimports.jar cleanimports 可选xerces.jar SAX parser jdk本版低于1.4时必要可选jaxen-1.1-beta-7.jar Jaxen 如果想提高启动性能则去使用可选ant-junit.jar Ant junit support 可选ant-swing.jar ant swing supportant.jar Ant编译工具的jar包,可选proxool.jar Proxool JDBC连接池可选concurrent.jar 使用TreeCache 需要syndiag2.jar 可选commons.collections.jar,commons-pool.jar, commons-dbcp.jar DBCP数据库连接池,Apache 的Jakarta组织开发的,Tomcat的连接池也是DBCP.Spring jar 包============spring.jar 是包含有完整发布模块的单个jar 包。
但是不包括mock.jar, aspects.jar, spring-portlet.jar, and spring-hibernate2.jar。
除了spring.jar文件,Spring还包括有其它21个独立的jar包,各自包含着对应的Spring组件,用户可以根据自己的需要来选择组合,而不必引入整个spring.jar的所有类文件。
spring-core.jar 这个jar文件包含Spring框架基本的核心工具类。
Spring其它的组件要都要使用到这个包里的类,是其它组件基本核心,当然你也可以在自己的系统中使用这些工具类。
外部依赖(Commons Logging, Log4J)spring-beans.jar 这个jar文件是所有应用都要使用到的,它包含访问配置文件,创建和管理bean以及进行Inversion of Control / Dependency(IoC/DI)操作相关的所有类。
如果应用只需基本的IoC/DI支持,引入spring-core.jar及spring-beans.jar文件就可以了。
spring-aop.jar 这个jar文件包含在应用中使用Spring的AOP特性时所需的类和源码级元数据的支持。
使用基于AOP的Spring的特性,如声明型事务管理(Declaritive Transaction Management),也要在应用里包含这个jar包。
外部依赖(spring-core, spring-bean , AOP Alliance, CGLIB, Commons Attributes).spring-context.jar 这个jar文件为Spring核心提供了大量的扩展,可以找到Spring ApplicationContext特性时所需的全部类,JNDI所需的全部类,instrumentation组件以及校验Validation方面的相关类。
外部依赖spring-beans, spring-aop.spring-dao.jar 这个jar文件包含Spring DAO, Spring Transaction进行数据访问的所有类,为了使用声明型事务支持,还需在自己的应用里包含spring-aop.jar外部依赖spring-core, spring-aop, spring-context, JTA API.spring-jdbc.jar这个jar文件包含Spring对JDBC数据访问进行封装的所有类。
外部依赖spring-beans, spring-dao.spring-support.jar 这个jar文件包含支持UI模板(Velocity, FreeMarker, JsperReports, BSH,Groovy, Jruby, Quartz, EHCache)spring-web.jar 这个jar文件包含Web应用开发时,用到Spring框架时所需的核心类,包括自动载入Web Application Context特性的类,Struts与JSF集成类,文件上传的支持类,Filter 类和大量工具辅助类。
外部依赖spring-context, Servlet API,(JSP API, JSTL, Commons FileUpload, COS).spring-webmvc.jar 这个jar文件包含Spring MVC框架相关的所有类。
包括框架的Servlets, Web MVC框架,控制器和视图支持。
当然,如果你的应用使用了独立的框架,则无需这个JAR文件里的任何类。
外部依赖spring-web, sping-support, Tiles, iText,POI.spring-portlet.jar spring自己实现的一个类似Spring MVC的框架,包括一个MVC框架和一个控制器。
外部依赖spring-web, Portlet API, Spring-webmvc.spring-struts.jar Struts框架支持,可以更方便更容易的集成Struts框架,外部依赖spring-web, Struts.spring-remoting.jar 这个jar文件包支持EJB,远程调用Remoting(RMI,Hession, Burlap, Http Invoker, JAX-RPC)方面的类。
外部依赖spring-aop, spring-context, spring-web,Hessian,Burlap,JAX-RPC,EJB API)。
spring-jmx.jar 这个jar包提供了对JMX1.0/1.2的支持类。
外部依赖spring-beans, spring-aop, JMX API.spring-jms.jar 这个jar包提供了对JMS1.0.2/1.1的支持类。
spring-jca.jar 这个jar包提供了对JCA1.0的支持。
spring-jdo.jar 这个jar包提供了对JDO1.0/2.0的支持。
spring-hibernate2.jar 对Hibernate2.1的支持,已经不建议使用spring-hibernate3.jar 对Hibernate3.0/3.1/3.2的支持spring-toplink.jar对TopLink框架的支持spring-ibatis.jar 对Ibatis SQL Maps的支持。
spring-mock.jar 这个jar 文件包含Spring 一整套mock 类来辅助应用的测试。
Spring 测试套件使用了其中大量mock 类,这样测试就更加简单。
模拟HttpServletRequest 和HttpServletResponse 类在Web 应用单元测试是很方便的。
并且提供了对JUnit的支持。
外部依赖spring-aspects.jar 提供对AspectJ的支持,以便可以方便的将面向方面的功能集成进IDE中.Struts1.2包介绍:============commons-digester.jar Digester基于规则的XML文档解析,主要用于XML到Java对象的映射(用来处理struts-config.xml配置文件,以达到通过XML生成相应的对象的功能)。