eclipse搭建SSH全面了解

来源:互联网 发布:淘宝代购only哪家靠谱 编辑:程序博客网 时间:2024/05/22 05:20

struts Spring Hibernate 的jar包官网下载地址

Struts 1/2 :
http://people.apache.org/builds/struts--可以下载Struts 1/2 版本
 

spring 可在下载你需要的版本:
http://www.springsource.org/download

hibernate :
http://sourceforge.net/projects/hibernate/files/hibernate3/--3.XX版本
http://sourceforge.net/projects/hibernate/files/hibernate4/--4.XX版本

 

IBATS下载地址:http://code.google.com/p/mybatis/downloads/list?can=1

比如:ibatis-2.3.0.677.jar,

 

SSH所需要的基本JAR包

1-1.struts1.xx 支持jar包
standard.jar
jstl-1.2.jar
struts2.jar
jakarta-oro.jar
commons-beanutils.jar
commons-collections-2.1.1.jar
commons-digester.jar
commons-fileupload.jar
commons-logging-1.0.4.jar
commons-validator.jar 

 

1-2.struts2.1.6 支持jar包
xwork-2.1.2.jar
struts2-core-2.1.6.jar
commons-logging-1.0.4.jar
freemarker-2.3.13.jar
ognl-2.6.11.jar
commons-fileupload-1.2.1.jar

2.spring2.5.6支持jar包
spring.jar

注意可以spring.jar这个JAR包,需用以下JAR包替代
spring-aop.jar,spring-beans.jar,spring-context.jar,spring-core.jar,spring-web.jar,spring-dao.jar,spring-jdbc.jar

 

3-1.strust整合spring插件支持jar包
spring-struts.jar--这个必须的(特别strust1.XX,这个在spring框架中).
struts2-spring-plugin-2.1.6.jar(一定要和strust2的版本相同,这个在strust2框架中),struts2必须要的.

 3-2.spring整合hibernate插件支持jar包
spring-hibernate3.jar--这个必须的(特别strust1.XX,这个在spring框架中).

如果是用spring.jar是这个JAR包,就已包括spring-struts.jar和spring-struts.jar

4.hibernate3.3.1支持jar包
hibernate3.jar
antlr-2.7.6.jar
commons-collections-3.1.jar
jta-1.1.jar
dom4j-1.6.1.jar
commons-logging.jar(commons-logging-1.0.4.jar已添加过了)

javassist-3.4.GA.jar --不是必须的
slf4j-api-1.5.2.jar --不是必须的
slf4j-log4j12-1.5.2.jar --不是必须的
log4j-1.2.15.jar--不是必须的

 

5.如果使用C3P0数据源实现数据库连接
c3p0-0.9.0.4.jar

6.如果使用mysql数据库
Mysql JDBC驱动: mysql-connector.jar

7.如果想用junit测试
junit-4.4.jar

 

SSH三大框架JAR包大概作用

 

Hibernate Jar: 

       1、hibernate3.jar,这个是hibernate3.0的核心jar包,没的选,像我们常用的Session,Query,Transaction都位于这个jar文件中,必要。

  2、cglib-2.1.3.jar,CGLIB库,Hibernate用它来实现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规范,当Hibernate使用JTA的时候需要,不过App Server都会带上,所以也是多余的。但是为了测试方便建议还是带上。必要 
  8、commons-logging.jar Apache Commons包中的一个,包含了日志功能,必须使用的jar包。必要 
  9、commons-collections.jar Apache Commons包中的一个,包含了一些Apache开发的集合类,功能比java.util.*强大。必要 
  10、dom4j.jar 是一个Java的XML API,类似于jdom,用来读写XML文件的。Hibernate用它来读写配置文件。必要 

  上面的就是Hibernate的核心jar包,是配置ssh架构中必须的,下面这些就是可选的了。 

=========================================================

  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 support 
  ant.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的所有类文件。 

  1、spring-core.jar这个jar文件包含Spring框架基本的核心工具类。Spring其它的组件要都要使用到这个包里的类,是其它组件基本核心,当然你也可以在自己的系统中使用这些工具类。外部依赖(Commons Logging, Log4J) 

  2、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生成相应的对象的功能)。 
  commons-beanutils.jar 提供对Java反射和自省API的包装。 
  //struts的验证框架依赖以下的两个包 
  commons-validator.jar(校验方法)和校验规则,支持校验规则的和错误消息的国际化。struts使用它对表单进行验证。 
  jakarta-oro.jar 一套文本处理工具,能提供perl5.0兼容的正则表达式AWK-like正则表达式,glob表达式。还提供替换,分割,文件名过滤等功能。 
  struts.jar struts的核心Jar包 

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


Struts2.1.6jar包介绍 :

  1、struts2-core-2.1.6.jar struts2的核心jar包。 
  2、freemarker-2.3.13.jar Freemarker是struts2默认的模版语言 
  3、commons-logging-1.0.4.jar  
  4、ognl-2.6.11.jarStruts2默认的表达式语言OGNL:对象图形化导航语言 
  5、xwork-2.1.2.jar 也是Struts2核心包,毕竟struts2很大部分是来自webwork 

  6、commons-io.jar(注意这个与2.0.x版本不同,即使不上传文件这个也是需要的) 

  7、commons-fileupload-1.2.1.jar(注意这个与2.0.x版本不同,即使不上传文件这个也是需要的)。

 

eclipse搭建SSH框架介绍

 

SSH框架是最常用的框架之一,在搭建SSH框架的时候总有人遇到这样,那样的问题。下面我介绍一下SSH框架搭建的全过程。
第一步:准备工作。
  下载好eclipse,Struts2,Spring,Hibernate。
  1.eclipse:eclipse下载的时候建议下载JavaEE版的eclipse。
                 当然你也可以下载eclipse-SDK。(下载eclipse-SDK需要下载Web,Tomcat等plugins)
  2.Struts2:http://people.apache.org/builds/struts--可以下载Struts 1/2 版本
         1)引入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:http://www.springsource.org/download
        还可以在eclipse下安装下载。具体步骤是这样的:
        1)打开eclipse-help-Software Updates.

 
        2) 在打开的对话框中选择上面的第二项(Available Software)。

 
        3)点击Add Site按钮,弹出URL对话框。 


        4)在对话框里输入:http://springide.org/updatesite/点击OK。 


        5)选择sping IDE点击安装(Install)。


  4.Hibernate:

http://sourceforge.net/projects/hibernate/files/hibernate3/--3.XX版本
http://sourceforge.net/projects/hibernate/files/hibernate4/--4.XX版本

  5.Jdk的src.zip包导入。(当然不导入也可以。。。)

第二步:

  1.创建一个 Web Progect,自己起一个喜欢的名字。

  2-1修改WEB-INF下的web.xml文件,增加struts1.XX的配置。 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">
    <display-name>SSHTest</display-name>
    <servlet> 
        <servlet-name>action</servlet-name> 
        <servlet-class> 
            org.apache.struts.action.ActionServlet 
        </servlet-class> 
        <init-param> 
            <param-name>config</param-name> 
            <param-value>/WEB-INF/struts-config.xml</param-value> 
        </init-param>
    </servlet> 
   <servlet-mapping> 
       <servlet-name>action</servlet-name> 
       <url-pattern>*.do</url-pattern> 
   </servlet-mapping>
   <!-- welcome file -->
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>


  2-2.修改WEB-INF下的web.xml文件,增加struts2的配置。 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">
    <display-name>SSHTest</display-name>
    <!-- struts Framework -->
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>
          org.apache.struts2.dispatcher.FilterDispatcher
        </filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <!-- welcome file -->
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

 

3-1 struts1在WEB-INF/classes目录下添加strutsconfig.xml配置文件: 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd">

<struts-config>
  <global-exceptions />
  <global-forwards />
  <action-mappings>
<!-- 这是没有SPRING之前的配置
       <action path="/login"              
               type="action.LoginAction"
               parameter="pm"
               scope="request">
              <forward name="success" path="/jsp/login.jsp"></forward>
              <forward name="input" path="/index.jsp"></forward>
       </action>
-->
     <action path="/login"            
               type="org.springframework.web.struts.DelegatingActionProxy"
               parameter="pm"
               scope="request">
             <forward name="success" path="/jsp/login.jsp"></forward>
              <forward name="input" path="/index.jsp"></forward>
       </action>
  </action-mappings>

</struts-config>


3-2. struts2在WEB-INF/classes目录下添加struts.xml配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC  
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  
    "http://struts.apache.org/dtds/struts-2.0.dtd"> 
<struts>
    <package namespace="/" name="struts2" extends="struts-default">
       <!-- 这是没有SPRING之前的配置
       <action name="login" method="execute" class="action.LoginAction">
            <result name="success">/WEB-INF/jsp/login.jsp</result>
            <result name="input">/WEB-INF/index.jsp</result>
        </action>
       -->
       <!-- class="loginAction"是applicationContext.xml中定义的Bean -->
       <action name="login" method="execute" class="loginAction">
            <result name="success">/WEB-INF/jsp/login.jsp</result>
            <result name="input">/WEB-INF/index.jsp</result>
        </action>
    </package>
</struts>

  4.配置Spring

    1)导入spring包。spring-framework-**.zip解压后,将spring-framework-**文件夹的dist目录下的jar包导入工程中。 


    2)配置web.xml文件。 

    <!-- 解决因session关闭而导致的延迟加载例外的问题 --> 
    <filter> 
        <filter-name>OpenSessionInViewFilter</filter-name> 
        <filter-class> 
            org.springframework.orm.hibernate3.support.OpenSessionInViewFilter 
        </filter-class> 
    </filter> 
    <filter-mapping> 
       <filter-name>OpenSessionInViewFilter</filter-name> 
        <url-pattern>/*</url-pattern> 
    </filter-mapping>  

    <!-- Spring Framework -->
    <listener>
        <listener-class>
          org.springframework.web.context.ContextLoaderListener
        </listener-class>
    </listener>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            classpath:applicationContext*.xml
        </param-value>
    </context-param>

 

Web.xml配置文件需要做以下几件事情:配置ActionServlet,Spring容器监听器(字符处理,session已关闭异常处理)括号内为可选。

需要注意的地方:
  a.过滤器的配置必须写在Servlet配置前,比如字符处理   org.springframework.web.filter.CharacterEncodingFilter 必须配置在ActionServlet注册之前。
  b.过滤器名和参数名要正确,是固定不变的。比如在配置Spring容器监听时,上下文参数名称必须为contextConfigLocation. 等等
  C.applicationContext.xml在SRC根目录(即WEB-INF\classes)下,param-value:            classpath:applicationContext*.xml, applicationContext.xml在\WEB-INF目录下,则param-value:            classpath:/WEB-INF/classes/applicationContext*.xml.

 

    3)-1 Struts21xx添加applicationContext.xml文件。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="
    http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.5.xsd
    http://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-2.5.xsd
    http://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
    <!-- Action 注意是name="/login"而不是id="/login" 其它普通BEAN才是ID -->
    <bean name="/login" class="action.LoginAction"></bean>
</beans>


    3)-2 Struts2:添加applicationContext.xml文件。

 

注意:scope="prototype"表示每次请求都会重新实例化对象. scope="singleton"表示WEB容器中此对象只有一个实例,即单例


    4)整合Spring与Struts。在Struts的lib目录中找到struts2-spring-plugin-*.jar,引入到工程中。
SPRING容器加载有两种方法
1web.xml文件增加
    <!-- 对Spring容器进行实例化,并把实例存放在application的属性里 --> 
    <listener> 
        <listener-class> 
            org.springframework.web.context.ContextLoaderListener 
        </listener-class> 
    </listener>
2struts-config.xml文件增加
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
  <set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml,/WEB-INF/userService.xml" />
 </plug-in>

  5.配置Hibernate

        1)解压缩hibernate-distribution-*.zip。导入hibernate-distribution-*GA/lib/required目录中的jar包。

                hibernate3.jar                         核心类库
                antlr-2.7.6.jar                          代码扫描器,用来翻译HQL语句
                commons-collections-3.1.jar    Apache Commons包中的一个,包含了一些Apache开发的集合类,

                                                                功能比java.util.*强大
                dom4j-1.6.1.jar                        一个Java的XML API,类似于jdom,用来读写XML文件的
                javassist-3.4.GA.jar                 Javassist 字节码解释器
                jta-1.1.jar                                标准的JTA API。
                slf4j-api-1.5.2.jar
                slf4j-nop-1.5.2.jar


        2)创建Hibernate配置文件。在WEB-INF/calsses目录下建立链接数据库的配置文件hibernate.cfg.xml。 
            (本人比较懒,公司电脑中只有Access,也懒得下载别的DBMS。所以例子是连接Access的大家将就看吧。 
            *注意:需要导入Access_JDBC30.jar。 
   hibernate.cfg.xml:

 
             注意:单独使用Hibernate需要创建Session工厂类HibernateSessionFactory.java 
                     (如果用Spring整合就不需要了。Spring会在applicationContext.xml中创建。) 
                      Hibernat 对数据库的操作是通过Session来实现的,这里的session不同于页面间传递参数的session, 
                      而是类似于JDBC中的 Connection。Session是Hibernate运作的中心, 
                      对象的生命周期、事务的管理、数据库的存取都与session息息相关。 
                      而Session是由HibernateSessionFactory创建的,是线程安全的, 
                      可以让多个执行线程同时存取HibernateSessionFactory而不会有数据共享的问题, 
                      但不能让多个线程共享一个Session。

       3)Login.hbm.xml文件

 

  6.Spring整合Hibernate。Spring对hibernate的Session的创建、提交、关闭的整个生命周期进行管理。 
        1)  配置sessionFactory,让spring来创建Session。在applicationContext.xml中增加如下代码:

 

 为web工程添加struts、hibernate和spring支持(eclipse) --转

 

为web工程添加struts和hibernate支持(eclipse)

一:添加struts支持:

1:建立自己的web工程。

2:为web应用添加struts支持,首先把struts下的lib目录中的jar文件全部复制到web应用的WEB-INF/lib目录下。

3:如果需要使用struts的标签库,应该将lib目录下的TLD文件全部复制到web应用的WEB-INF目录下,如果使用的是servlet2.4以前的规范,还要在web.xml文件中配置要使用的标签库,具体配置如下:

<jsp-config>

     <taglib>

        <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>

        <taglib-location>/WEB-INF/struts-html.tld</taglib-location>

      </taglib> 

 

      <taglib>

        <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>

        <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>

      </taglib> 

      <taglib>

        <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>

        <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>

      </taglib>

  </jsp-config>

如果使用的是servlet2.4以后的规范,则无需再在web.xml文件中配置。

完成这些配置之后只要在要使用struts标签的jsp页面中指明标签的位置就可以了,如下:

<%@ taglib uri="/WEB-INF/struts-bean.tld"  prefix="bean" %>

<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>

<%@ taglib uri="/WEB-INF/struts-html.tld"  prefix="html" %>

或者是:

<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>

<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>

<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>

这两种写法的效果是一样的。

但是这种做法比较复杂,每次要使用这3个标签的时候都要在文件中声明,比较简便的做法是建立一个taglibs.jsp文件,将标签的声明放在这个文件中,然后每次要使用struts标签的时候只要把这个文件include进来就好了,taglibs文件的内容:

<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>

<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>

<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>

在使用struts标签的文件中加入:<%@include file=”taglibs.jsp’%>

4:如果要使用struts的数据校验,应将validator-rules.xml(这个文件是通用的,无需用户编辑)文件复制到web应用的WEB-INF路径下,然后还要在此路径下建立validator.xml文件,指定校验的范围和规则,这个文件要用户自己编辑。然后在struts-config.xml文件中添加如下内容:

<plug-in className="org.apache.struts.validator.ValidatorPlugIn">

            <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />

            <set-property property="stopOnFirstError" value="true" />

      </plug-in>

5:如果需要使用struts的表达式,应该将struts目录下的contrib/struts-el/lib路径下的jar文件全部复制到web应用的WEB-INF路径下,然后将对应的TLD文件也复制到该路径下,并在web.xml文件中配置相应的标签库。

6:国际化,建立国际化需要的properties文件,然后在struts-config.xml配置文件中添加如下内容:

<message-resource parameter=”message”/>其中message是国际化文件的文件名。

二:添加hibernate支持

1:将hibernate下的hibernate3.jar文件复制到web应用的WEB-INF/lib目录下,然后给eclipse安装hibernate tools插件,安装过程如下:

首先在eclipse目录下建立links文件夹,在文件夹下面建立hibernate.link文件(文件名可以任意,为了区分,最好使用和插件一样的名字),然后在eclipse目录下建立一个hibernatetools的文件夹,然后再在此文件夹下建立一个eclpipse文件夹,将hibernate-tools下的features和plugins两个文件夹复制到这个文件夹下;

然后编辑hibernate.link文件,内容:

path=hibernatetooos的路径

最好是使用绝对路径,如:C:/Eclipse-j2ee-europa/eclipse/hibernatetools

需要注意的是hibernatetools文件夹下的目录是这样的/eclipse/然后再eclipse下是features和plugins两个文件夹。

如果设置成功的话,单击选中工程,然后选择new->other菜单,在出现的对话框中会有hibernate选项。

使用hibernate-tools建立hibernate.cfg.xml文件,配置自己的数据库连接,然后为每一个持久化类建立自己的映射文件,映射文件配置完成后,在hibernate.cfg.xml中指明该映射文件的位置。

 三:添加spring支持

1:下载spring-framework-2.0-dependencies.zip包,将该包解压缩,然后将dist目录下的spring.jar包复制到web应用的WEB-INF/lib目录下。

2:将lib路径下的cglib、dom4j、jakara-commmons、log4j文件夹下的jar文件复制到web应用的WEB-INF/lib目录下。 

 

SSH整合之配置文件--转载:http://blog.csdn.net/wumingzu/article/details/4157177

1. web.xml文件的配置:

[xhtml] view plaincopyprint?
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app xmlns="http://java.sun.com/xml/ns/j2ee"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4"  
  4.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
  5.   
  6.     <!-- 配置字符编码过滤器(解决乱码问题)  
  7.     <filter>  
  8.         <filter-name>encoding</filter-name>  
  9.         <filter-class>  
  10.             org.springframework.web.filter.CharacterEncodingFilter  
  11.         </filter-class>  
  12.         <init-param>  
  13.             <param-name>encoding</param-name>  
  14.             <param-value>UTF-8</param-value>  
  15.         </init-param>  
  16.     </filter>  
  17.     <filter-mapping>  
  18.         <filter-name>encoding</filter-name>  
  19.         <url-pattern>/*</url-pattern>  
  20.     </filter-mapping>  
  21.   -->  
  22.     <!-- 解决因session关闭而导致的延迟加载例外的问题 -->  
  23.     <filter>  
  24.         <filter-name>OpenSessionInViewFilter</filter-name>  
  25.         <filter-class>  
  26.             org.springframework.orm.hibernate3.support.OpenSessionInViewFilter  
  27.         </filter-class>  
  28.     </filter>  
  29.     <filter-mapping>  
  30.         <filter-name>OpenSessionInViewFilter</filter-name>  
  31.         <url-pattern>/*</url-pattern>  
  32.     </filter-mapping>  
  33.   
  34.     <!-- 指定spring的配置文件,默认从web根目录寻找配置文件,我们可以通过spring提供的classpath:前缀指定从类路径下寻找 -->  
  35.     <context-param>  
  36.         <param-name>contextConfigLocation</param-name>  
  37.         <param-value>classpath:applicationContext.xml</param-value>  
  38.     </context-param>  
  39.   
  40.     <!-- 对Spring容器进行实例化,并把实例存放在application的属性里 -->  
  41.     <listener>  
  42.         <listener-class>  
  43.             org.springframework.web.context.ContextLoaderListener  
  44.         </listener-class>  
  45.     </listener>  
  46.   
  47.     <servlet>  
  48.         <servlet-name>action</servlet-name>  
  49.         <servlet-class>  
  50.             org.apache.struts.action.ActionServlet  
  51.         </servlet-class>  
  52.         <init-param>  
  53.             <param-name>config</param-name>  
  54.             <param-value>/WEB-INF/struts-config.xml</param-value>  
  55.         </init-param>  
  56.         <init-param>  
  57.             <param-name>debug</param-name>  
  58.             <param-value>3</param-value>  
  59.         </init-param>  
  60.         <init-param>  
  61.             <param-name>detail</param-name>  
  62.             <param-value>3</param-value>  
  63.         </init-param>  
  64.         <load-on-startup>0</load-on-startup>  
  65.     </servlet>  
  66.     <servlet-mapping>  
  67.         <servlet-name>action</servlet-name>  
  68.         <url-pattern>*.do</url-pattern>  
  69.     </servlet-mapping>  
  70.     <welcome-file-list>  
  71.         <welcome-file>Login.html</welcome-file>  
  72.     </welcome-file-list>  
  73. </web-app>  

 

Web.xml配置文件需要做以下几件事情:配置ActionServlet,Spring容器监听器(字符处理,session已关闭异常处理)括号内为可选。

 

需要注意的地方:

  a.过滤器的配置必须写在Servlet配置前,比如字符处理   org.springframework.web.filter.CharacterEncodingFilter 必须配置在ActionServlet注册之前。

  b.过滤器名和参数名要正确,是固定不变的。比如在配置Spring容器监听时,上下文参数名称必须为contextConfigLocation. 等等

 

 

2.hibernate.cfg.xml

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration>

<session-factory>
 <property name="connection.username">sa</property>
 <property name="connection.url">
  jdbc:sqlserver://localhost:1434;databaseName=testDemo2
 </property>
 <property name="dialect">
  org.hibernate.dialect.SQLServerDialect
 </property>
 <property name="myeclipse.connection.profile">
  sql2005-test
 </property>
 <property name="connection.password">123</property>
 <property name="connection.driver_class">
  com.microsoft.sqlserver.jdbc.SQLServerDriver
 </property>
 <property name="show_sql">true</property>
 <property name="format_sql">true</property>
 <mapping resource="com/test/entity/Sale.hbm.xml" />
 <mapping resource="com/test/entity/UserInfo.hbm.xml" />

</session-factory>

 

 

2.applicationContext.xml

[xhtml] view plaincopyprint?
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">  
  3.   
  4. <beans>  
  5.   
  6.   
  7.     <bean id="sessionFactory"  
  8.         class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  9.         <property name="configLocation"  
  10.             value="classpath:hibernate.cfg.xml">  
  11.         </property>  
  12.     </bean>  
  13.       
  14.     <bean id="template" class="org.springframework.orm.hibernate3.HibernateTemplate">  
  15.         <property name="sessionFactory" ref="sessionFactory"></property>  
  16.     </bean>  
  17.       
  18.     <bean id="common" class="com.ssh.common.Common">  
  19.          <property name="hibernateTemplate" ref="template"></property>  
  20.     </bean>  
  21.       
  22.     <bean id="pdao"  class="com.ssh.dao.impl.ProductsDao">  
  23.           <property name="common" ref="common"></property>  
  24.     </bean>  
  25.       
  26.     <bean id="sdao" class="com.ssh.dao.impl.SalesmanDao">  
  27.           <property name="common" ref="common"></property>  
  28.     </bean>  
  29.       
  30.     <bean id="salemService" class="com.ssh.service.impl.SaleManagerService">  
  31.           <property name="prodao" ref="pdao"></property>  
  32.           <property name="saldao" ref="sdao"></property>  
  33.     </bean>  
  34.       
  35.     <!--  Action配置 -->  
  36.     <bean name="/pdt" class="com.ssh.action.ProductsManagerAction">  
  37.           <property name="ss" ref="salemService"></property>  
  38.     </bean>  
  39.       
  40.     <!-- 事务管理器 -->  
  41.     <bean  id="htm" class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
  42.           <property name="sessionFactory" ref="sessionFactory"></property>  
  43.     </bean>  
  44.       
  45.     <!-- 定义事务拦截器 -->  
  46.     <bean id="transactionInterceptor"  class="org.springframework.transaction.interceptor.TransactionInterceptor">  
  47.           <property name="transactionManager" ref="htm"></property>  
  48.           <property name="transactionAttributes">  
  49.               <props>  
  50.                     <prop key="insert*">PROPAGATION_REQUIRED</prop>  
  51.                     <prop key="update*">PROPAGATION_REQUIRED</prop>  
  52.                     <prop key="delete*">PROPAGATION_REQUIRED</prop>  
  53.                     <prop key="query*">PROPAGATION_REQUIRED,readOnly</prop>  
  54.                     <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>  
  55.                     <prop key="validate*">PROPAGATION_REQUIRED</prop>  
  56.               </props>  
  57.           </property>  
  58.     </bean>  
  59.       
  60.     <!-- 自动代理 -->  
  61.     <bean id="auto" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">   
  62.          <!-- beanNames -->  
  63.          <property name="beanNames">  
  64.              <value>*Service</value>  
  65.          </property>  
  66.          <property name="interceptorNames">  
  67.              <list>  
  68.                   <value>transactionInterceptor</value>  
  69.              </list>  
  70.          </property>  
  71.     </bean>  
  72.       
  73.     </beans><?xml version="1.0" encoding="UTF-8"?>  
  74. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">  
  75.   
  76. <beans>  
  77.   
  78.   
  79.     <bean id="sessionFactory"  
  80.         class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  81.         <property name="configLocation"  
  82.             value="classpath:hibernate.cfg.xml">  
  83.         </property>  
  84.     </bean>  
  85.       
  86.     <bean id="template" class="org.springframework.orm.hibernate3.HibernateTemplate">  
  87.         <property name="sessionFactory" ref="sessionFactory"></property>  
  88.     </bean>  
  89.       
  90.     <bean id="common" class="com.ssh.common.Common">  
  91.          <property name="hibernateTemplate" ref="template"></property>  
  92.     </bean>  
  93.       
  94.     <bean id="pdao"  class="com.ssh.dao.impl.ProductsDao">  
  95.           <property name="common" ref="common"></property>  
  96.     </bean>  
  97.       
  98.     <bean id="sdao" class="com.ssh.dao.impl.SalesmanDao">  
  99.           <property name="common" ref="common"></property>  
  100.     </bean>  
  101.       
  102.     <bean id="salemService" class="com.ssh.service.impl.SaleManagerService">  
  103.           <property name="prodao" ref="pdao"></property>  
  104.           <property name="saldao" ref="sdao"></property>  
  105.     </bean>  
  106.       
  107.     <!--  Action配置 -->  
  108.     <bean name="/pdt" class="com.ssh.action.ProductsManagerAction">  
  109.           <property name="ss" ref="salemService"></property>  
  110.     </bean>  
  111.       
  112.     <!-- 事务管理器 -->  
  113.     <bean  id="htm" class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
  114.           <property name="sessionFactory" ref="sessionFactory"></property>  
  115.     </bean>  
  116.       
  117.     <!-- 定义事务拦截器 -->  
  118.     <bean id="transactionInterceptor"  class="org.springframework.transaction.interceptor.TransactionInterceptor">  
  119.           <property name="transactionManager" ref="htm"></property>  
  120.           <property name="transactionAttributes">  
  121.               <props>  
  122.                     <prop key="insert*">PROPAGATION_REQUIRED</prop>  
  123.                     <prop key="update*">PROPAGATION_REQUIRED</prop>  
  124.                     <prop key="delete*">PROPAGATION_REQUIRED</prop>  
  125.                     <prop key="query*">PROPAGATION_REQUIRED,readOnly</prop>  
  126.                     <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>  
  127.        

 

以上是Struts1.0的写法。

applicationContext.xml需要做以下几件事情: 数据源的配置(可以在hibernate-config.xml配置),Common层,Dao层,Service层,Action层(也可以单独配置,然后采用Struts的插件plug-In将其添入),事务配置。

 

注意点:

    a.在配置 SessionFactory 时,其属性configLocation的值为applicationContext.xml在发布之后的路径,若它位于src目录下,则可以直接使用classpath:; 若其位于WEB-INF下则为/WEB-INF/classes/applicationContext.xml

    b.如果采用的是Struts1,则配置Action Bean时,用name代替id属性,其值为struts-config.xml中相应Action的path属性值。class值为Action的类路径,struts-config.xml中type属性为DelegatingActionProxy 代理类的路径

    c.在自动代理配置中beanNames属性为Service层Bean组件的id值。

 

 

3.Struts-config.xml

[xhtml] view plaincopyprint?
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd">  
  3.   
  4. <struts-config>  
  5.   <form-beans>  
  6.        <form-bean name="userForm" type="com.ssh.action.form.UserForm"></form-bean>  
  7.   </form-beans>  
  8.   <global-exceptions />  
  9.   <global-forwards />  
  10.   <action-mappings>  
  11.        <action path="/pdt"  
  12.                name="userForm"  
  13.                type="org.springframework.web.struts.DelegatingActionProxy"  
  14.                parameter="pm"  
  15.                scope="request">  
  16.               <forward name="showDetails" path="/showDetails.jsp"></forward>  
  17.               <forward name="error" path="/Login.html"></forward>  
  18.        </action>  
  19.   </action-mappings>  
  20.  <!--    
  21.   <controller>  
  22.        <set-property property="processorClass" value="org.springframework.web.struts.DelegatingRequestProcessor"/>  
  23.   </controller>  
  24.  -->  
  25.  <controller processorClass="com.ssh.action.MyRequestProcessor"></controller>  
  26.   <message-resources parameter="com.yourcompany.struts.ApplicationResources" />  
  27. </struts-config>