zoukankan      html  css  js  c++  java
  • SSH框架整合——精简版

    开发环境:

    (1)    OSWindows XP SP3

    (2)    DBMySql 5.1.6

    (3)    JDK1.6.0_17

    (4)    ServerApache Tomcat 6.0.26

    (5)    IDEMyEclipse 5.5

     

    SSH框架:

    (1)    Struts2.1.8

    (2)    Spring2.0.2

    (3)    Hibernate3.2.5

    注:由于SSH框架中的Jar包众多,有些Jar包要选择性的添加,全部添加会异常,比如SpringJar包,而且Jar包还可能会发生版本冲突。所在在整个整合过程中,Jar包的添加采取最精简的配置原则,详细配置请参照整合步骤中的相关说明。

     

    整合步骤:

    1.         新建Web Project

     

    2.         添加Struts2.1的支持

    (1)    添加Jar

    basic

    |__ freemarker-2.3.15.jar

    |__ struts2-core-2.1.8.1.jar

    |__ xwork-core-2.1.6.jar

    |__ ognl-2.7.3.jar

    |__ commons-io-1.3.2.jar

    |__ commons-logging-1.0.4.jar

    (2)    修改配置文件WebRoot/WEB-INF/web.xml

    <!-- Struts2.1 -->

    <filter>

    <filter-name>struts2</filter-name>

    <filter-class>

    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

    </filter-class>

    </filter>

    <filter-mapping>

    <filter-name>struts2</filter-name>

    <url-pattern>/*</url-pattern>

    </filter-mapping>                                

    (3)    配置src/struts.xml

    <package name="example" extends="struts-default">

    <action name="hello" class="com.tarena.action.HelloAction">

    <result name="success">/jsp/hello.jsp</result>

    </action>

    </package>

    (4)    添加WebRoot/jsp/hello.jsp页面

    内容任意

    (5)    添加com.tarena.action.HelloAction.java

    public class HelloAction extends ActionSupport {

    @Override

    public String execute() throws Exception {

    System.out.println("HelloAction:execute()...");

    return "success";

    }

    }

    (6)    部署ssh项目

    将应用程序部署到Tomcat中。

    (7)    测试hello.action

    启动Tomcat

    测试URLhttp://localhost:8080/ssh/hello.action

    (8)     

    3.         添加Spring2.0的支持

    (1)    添加Jar

    dist

    |__sping.jar

    (2)    修改WebRoot/WEB-INF/web.xml文件

    <!-- Spring 2.0 -->

    <listener>

    <listener-class>

    org.springframework.web.context.ContextLoaderListener

    </listener-class>

    </listener>

    (3)    添加WebRoot/WEB-INF/applicationContext.xml

    配置信息为空

    (4)    更新ssh项目

    异常:java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

    补充Spring中的Jar

    lib

    |__ jakarta-commons

    |__commons-logging.jar

          

    (5)    重新启动Tomcat

    如果没有异常,进行下一步。

    (6)    测试SpringIOC

    可以利用静态测试的方法测试SpringIOC,这样在不启用应用服务器的情况下就可以测试Spring。具体操作如下:

    拷贝WebRoot/WEB-INF/applicationContext.xml文件到com.tarena.config

    com.tarena.config.applicationContext.xml添加内容

    <bean id="helloService" class="com.tarena.service.HelloService">

    <property name="str" value="hello"></property>

    </bean>

    添加com.tarena.service.HelloService

    测试类com.tarena.test.TestHelloService

    注:为了方便测试引入JUnit4

    测试没有异常,进行下一步。

    (7)     

     

    4.         添加Hibernate3.2的支持

    (1)    添加访问MySql数据库的驱动Jar

    mysql-connector-java-5.1.6-bin.jar

    (2)    添加Hibernate3.2Jar

    hibernate3.jar

    (3)    创建实体类和DAO接口

    com.tarena.entity.User

    映射文件:com.tarena.entity.User.hbm.xml

    com.tarena.dao.UserDao

    (4)    应用IOC实现DAO接口

    使用HibernateTemplate实现User的增、删、改、查等操作。

    (5)    测试com.tarena.dao.UserDaoImpl

    测试类:com.tarena.test.TestUserDao

    异常:java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource

    解决方法:添加Jarcommons-dbcp.jar

    lib

    |__ jakarta-commons

    |__ commons-dbcp.jar

    异常:java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool

    解决方法:添加Jarcommons-pool.jar

    lib

    |__ jakarta-commons

    |__ commons-pool.jar

     

    以下的异常解决方法同上,Jar包全在Springlib目录下选取。

    java.lang.NoClassDefFoundError: org/dom4j/DocumentException

    解决方法:添加Jardom4j.jar

    java.lang.NoClassDefFoundError: org/apache/commons/collections/SequencedHashMap

    解决方法:添加Jarcommons-collections.jar

    java.lang.NoClassDefFoundError: net/sf/cglib/proxy/CallbackFilter

    解决方法:添加Jarcglib.jar

    java.lang.NoClassDefFoundError: antlr/ANTLRException

    解决方法:添加Jarantlr.ajr

    (6)    测试DAO结果

     

    5.         用户登录注册实例

    详细说明请参照具体的代码。

    注:

    (1)    在把项目利用JUnit测试SpingHibernate都没有任何问题,但是把项目部署到Tomcat,启动应用服务器时会有一个很奇怪的异常:

    java.lang.ClassNotFoundException: javax.transaction.TransactionManager

    经过上网查资料得到解决办法:添加SpringJarjta.jar

    lib

    |__j2ee

           |__jta.jar

     

    (2)    由于在Tomcat应用服务器中测试SSH,所以还要添加必须的Struts2整合Spring的包struts2-spring-plugin-2.1.8.1.jar,否则当Tomcat正常启动后,在Login页面提交表单测试会出现异常:

    异常信息:LoginAction中的UserServicenull

     

    6.         后记

    SSH的简单整合告一段落,如果用到SSH的其他特性需要根据异常信息补充SSH框架的配置。

     

     

    注:资源(源代码+整合文档+Jar包)下载链接:http://download.csdn.net/source/2846694

  • 相关阅读:
    Oracle 按一行里某个字段里的值分割成多行进行展示
    Property or method "openPageOffice" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by
    SpringBoot 项目启动 Failed to convert value of type 'java.lang.String' to required type 'cn.com.goldenwater.dcproj.dao.TacPageOfficePblmListDao';
    Maven 设置阿里镜像
    JS 日期格式化,留作参考
    JS 过滤数组里对象的某个属性
    原生JS实现简单富文本编辑器2
    Chrome控制台使用详解
    android权限(permission)大全
    不借助第三方网站四步实现手机网站转安卓APP
  • 原文地址:https://www.cnblogs.com/wenlong/p/6188494.html
Copyright © 2011-2022 走看看