本章讲解SSH项目需要到哪些jar包,及各个jar包的作用

一、struts2

  1、下载好struts2,struts2文件夹>>>>apps>>>>atruts-blank.war>>>>解压>>>>WEB-INF>>>>lib

  2、这个是struts2自带的应用案例中的空白案例,这里的包足够我们开发项目

  3、jar包解读:

    struts2-core-2.3.34.jar  -- struts2的核心jar包,不可缺少的

    xwork-core-2.1.6    -- xwork的核心包,由于Struts2是由xwork的延伸 有些类依然关联着 xwork的类

    ognl-3.0.6.jar     -- ognl:对象导航图语言(Object Graph Navigation Language),Struts2通过其写对象的属性。

    freemarker-2.3.19.jar   -- 模板相关操作需要包,Struts2的UI标签的模板使用FreeMarker编写。

    commons-fileupload-1.3.jar  -- 文件上传组件,struts-2.1.6版本之后需要加入此文件。

    commons-io-2.0.1.jar    -- 上传文件袭来的jar包。

    commons-lang3-3.2jar    -- commons项目中的lang包

    commons-logging-1.0.4.jar  -- 日志包,Struts2框架用这个包来支持Log4j的JDK1.4日志记录。

    antlr-2.7.6.jar     --  一种工具,它可以接受词文法语言描述,并能产生识别这些语言的语句的程序。

    asm-3.3.jar      -- 操作java字节码的类库。

    asm-commons-3.3    -- 提供了基于事件的表现形式。

    asm-tree-3.3      -- 提供了基于对象的表现形式。

    slf4j-api-1.6.1.jar    -- 用于搭建日志环境。

    slf4j-log4j-1.7.2.jar    -- slf4j和log4j的关联包,log4j是日志实现框架的一种。

    javassist-3.11.0.GA.jar  -- 这是一个编辑Java字节码的类库。

    struts2-spring-plugin-2.3.15.3.jar   -- Struts2与Spring整合需要的包。

  4、参考网址:http://www.cnblogs.com/zfy-220/p/4265316.html

二、spring

  1、下载好spring,spring文件夹>>>>lib

  2、我们不用全部拿过来,我们只需要我们需要用到的那几个包即可。

  3、jar包解读:

    spring-core-3.2.0.RELEASE.jar    -- spring核心包

    spring-context-3.2.0.RELEASE.jar    -- 为Spring核心提供了大量的扩展

    spring-beans-3.2.0.RELEASE.jar    -- 包含访问配置文件,创建和管理bean以及进行(IoC/DI)操作相关的所有类。

    spring-aop-3.2.0.RELEASE.jar  -- 包含在应用中使用Spring的AOP特性时所需的类和源码级元数据的支持。

    spring-jdbc-3.2.0.RELEASE.jar  -- 包含Spring对JDBC数据访问进行封装的所有类。

    spring-aspects-3.2.0.RELEASE.jar  -- 提供对AspectJ的支持,以便可以方便的将面向方面的功能集成进IDE中。

    spring-expression-3.2.0.RELEASE.jar  -- Spring表达式语言。

    spring-orm-3.2.0.RELEASE.jar    -- 这个jar包包含spring对Dao特性集进行了扩展(整合hibernate)。

    spring-web-3.2.0.RELEASE.jar    -- 包含Web应用开发时,用到Spring框架时所需的核心类。

    spring-test-3.2.0.RELEASE.jar    -- 对JUNIT等测试框架的简单封装

    spring-tx-3.2.0.RELEASE.jar    -- 为JDBC、Hibernate、JDO、JPA等提供的一致的声明式和编程式事务管理。

  4、参考网址:

    http://www.cnblogs.com/stefancdy/p/5581702.html,http://blog.csdn.net/weisong530624687/article/details/50888094

三、hibernate

  1、下载好spring,bibernate文件夹>>>>lib

  2、同样的,我们不用全部拿过来,我们只需要我们需要用到jpa文件夹和required文件夹下的所有包。

  3、jar包解读:

    jpa下的包:hibernate-entitymanager-4.3.11.Final.jar  --

    required下的包:

      antlr-2.7.7.jar  --  一种工具,它可以接受词文法语言描述,并能产生识别这些语言的语句的程序。(在之前struts已经有了这个包,这里不需要再引入,否则会造成冲突)

      dom4j-1.6.jar   -- dom4j XML 解析器

      hibernate-commons-annotations-4.0.5.Final.jar  --  Commons的集合类库,( Hibernate 注解)

      hibernate-core-4.3.11.Final.jar  -- hibernate核心包

      hibernate-jpa-2.1-api-1.0.0.Final.jar  -- Hibernate持久化

      javassist-3.18.1-GA.jar    -- 冲突,不引入(struts有了)

      slf4j-api-1.7.12.jar    -- 冲突,不引入(struts有了)

      jta-1.1.jar     --  标准的 JAVA 事务处理接口

      jboss-transaction-api_1.2_spec-1.0.0.Final.jar  -- maven依赖(不是maven不引入)

  4、参考网址:……

     很乱,我都是一个一个百度凑出来的,随着版本不同的问题,所需的jar包会有些不一样,具体hibernate所有jar包的解读可以去官网看文档,也可以自己百度。

四、其它

  1、自己百度下载

  2、jar包解读: 

    mysql-connector-java-5.1.7-bin.jar  -- 连接数据库

    下面这些包不在spring里面,有maven的朋友可以去maven仓库找,没有的自己百度下载:

    com.springsource.com.mchange.v2.c3p0-0.9.1.2.jar  -- c3p0连接池

    com.springsource.org.aopalliance-1.0.0.jar  -- aop联盟的包

  ·  com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar  -- aop开发依赖的包

    com.springsource.org.apache.log4j-1.2.15.jar   -- spring也需要日志记录

    com.springsource.org.apache.commons.logging-1.1.1.jar  -- 整合其他的日志系统

五、其实各个包也还得看自个的需要,需要哪个包就用哪个,我这里也包含了一些你不一定会用的可选的包,在这给大家列出来仅作为参考。

SSH项目搭建(二)的更多相关文章

  1. SSH项目搭建(五)——web.xml文件配置

    上一章写到pom.xml有一个报错,说找不到web.xml文件.确实是这样的,因为我们用maven搭建的web层里就是没有这个文件.我们能看到,webapp文件夹里是空的. 没有,就想办法把它弄出来. ...

  2. vuejs学习——vue+vuex+vue-router项目搭建(二)

    前言 最近比较忙,所有第二章发布晚了,不好意思各位. vuejs学习——vue+vuex+vue-router项目搭建(一) 中我们搭建好了vue项目,我相信大家已经体验了vue其中的奥妙了,接下来我 ...

  3. 从零开始做SSH项目(二)

    使用hibernate测试加载数据.删除数据和修改数据等功能时,针对的是与数据库表user对应的User. 为了简化对其他数据表对应的实体类的持久化操作,可以在项目中创建一个BaseHibernate ...

  4. SSH项目搭建(三)——Maven多模块搭建项目

    多模块开发,大致的思想就是把一个项目按某种方式分成多个模块,再把模块们连接成一个整体,我们在开发的时候,可以很清晰的操作每一个模块,可以大大提高开发的效率. Java web项目,最常见的就是按代码的 ...

  5. 基于webpack的React项目搭建(二)

    前言 前面我们已经搭建了基础环境,现在将开发环境更完善一些. devtool 在开发的过程,我们会经常调试,so,为了方便我们在chrome中调试源代码,需要更改webpack.config.js,然 ...

  6. SSH项目搭建(一)

    本章不讲项目,讲一下SSH的下载 一.Struts2 1.通过百度进入官网 2.点击Download>>>>Full Releases>>>>你想要的版 ...

  7. maven之ssh项目搭建

    1:新建maven-archetupe-webapp项目 2:web.xml配置文件如下 <?xml version="1.0" encoding="UTF-8&q ...

  8. SSH项目搭建(四)——Maven的pom.xml配置

    史上最全的maven的pom.xml文件详解: https://www.cnblogs.com/qq765065332/p/9238135.html 下面的节点有不理解是啥意思的可以到上面链接的文章里 ...

  9. IDEA项目搭建二——使用SpringBoot创建Web层

    一.编写底层代码 1.demo-common中创建FormatString类 先在默认com.tyh中创建package命名为common 删除自动生成的app.java,在common包下创建新类 ...

随机推荐

  1. LeetCode (262):Nim Game

    You are playing the following Nim Game with your friend: There is a heap of stones on the table, eac ...

  2. [转]C语言 gets()和scanf()函数的区别

    scanf( )函数和gets( )函数都可用于输入字符串,但在功能上有区别.若想从键盘上输入字符串"hi hello",则应该使用__gets__函数. gets可以接收空格:而 ...

  3. sqoop将mysql的tinyint类型转化为boolean类型

    当mysql中的字段为tinyint类型时,通过sqoop导入数据到hdfs上,在hdfs上显示的是true,false值.为了显示0,1. 解决方法: jdbc:mysql://<hostna ...

  4. Hive创建一个简单的UDF

    创建一个类 package com.dufeng.hive; import org.apache.commons.lang.StringUtils; import org.apache.hadoop. ...

  5. linux网络连接的查看和端口的监听

    网络软件都是由客户端和服务端组成,由服务端在服务器上监听指定的端口处理接收到的数据,而客户端是向服务器端监听的端口发送数据,并由服务器端对该数据进行处理,然后将处理结果返回给客户端. 那么我们在lin ...

  6. centos 7 删除 virbr0 虚拟网卡virsh net-list

    这几天研究dubbo,在电脑上装了几台Center os 7虚拟机,最后把提供者部署到虚拟机中时,发现一个有趣的事:在dubbo-admin管理平台上看到两台不同虚拟机中的服务提供者ip都是这个玩意. ...

  7. BZOJ3236: [AHOI2013]作业

    BZOJ3236: [AHOI2013]作业 题目描述 传送门 行,我知道是Please contact lydsy2012@163.com! 传送门2 题目分析 这题两问还是非常,emmmm. 首先 ...

  8. spark(三)从hbase取数据

    前言 通过spark获取hbase数据的过程中,遇到了InputFormat.文章主要围绕InputFormat介绍.会牵扯到spark,mapreduce,hbase相关内容 InputFormat ...

  9. IP地址分类、私有地址、子网、子网掩码

    IP地址分类介绍 这里讨论IPv4,IP地址分成了A类.B类.C类.C类.E类,如下图所示: 解释: A类以0开头,网络地址有7位,主机地址有24位,举例:A类地址:0 10000000 000000 ...

  10. jQuery 获取Select选择的Text和 Value

    jQuery获取Select选择的Text和Value:语法解释:    1. $("#select_id").change(function(){//code...});   / ...