<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    李順利
    隨筆-50  評論-170  文章-0  trackbacks-0

    Struts+Spring+Hibernate整合注冊登錄

     

    開發環境:

    1.       MyEclipse Enterprise Workbench 7.0 Milestone-1MyEclipse 7.0 M1

    2.       Spring 2.5

    3.       Struts 1.3

    4.       Hibernate 3.2

    5.       Tomcat6.0

    6.       MySql 5.0

    7.       其他(SVN等)

     

    開發需求:

    1.       開發分為簡單的用戶注冊模塊和用戶登錄模塊

    其中在用戶注冊模塊中,用戶名是唯一的,也就是說需要對用戶名進行驗證

    在用戶登錄模塊中需要對用戶的用戶名和密碼進行驗證,驗證通過,登錄成功

    2.

     

    開發步驟:

    1.       前期準備:新建數據庫(testuser

    clip_image002

     

    2.       MyEclipseDB Browser中新建DataBase Driver。(新建Driver template選擇mysql,具體配置相信大家應該很熟悉了)

     

    clip_image004

     

    3.       新建一個web工程,工程名我定為SSHUser

    4.       添加對Struts的支持

    在工程上右鍵選擇MyEclipse->add Struts Capabilities,如下圖,(后面對其他的支持就不截圖了,原理一樣)

    clip_image006

     

    clip_image008

     

    5.       添加對Spring的支持

     

    clip_image010

    注:添加了Spring 2.5 web libraries這個包

     

    6.       添加對Hibernate的支持

    clip_image012

    注:添加Spring 2.5 Persistence Core Libraries

    clip_image014clip_image016clip_image018

     

    clip_image020

     

    7.       把數據庫user映射到web工程中

    DB Browser中選擇user右鍵選擇Hibernate…

    clip_image022

     

    clip_image024

     

    8.       新建兩個Action Form:reg login

    clip_image026

    clip_image028

     

    clip_image030

     

    9.       編寫代碼和配置文件(略,提供源碼壓縮包給大家)

    就寫一些程序當中最精彩的部分了

    1)         整合SSH后,寫了一個程序,后面發布(tomcat)的話,就會報下面的錯,上網搜了一下解決方案,http://www.cnblogs.com/QQParadise/archive/2009/04/09/1404757.html

    說“由于Spring中的“asm-2.2.3.jar”Hibernate中的“asm.jar”包沖突。解決辦法是移除Spring2.0 AOP Libraries中的“asm-2.2.3.jar”即可”,我看了一下,確實有這兩個包,刪除asm-2.2.3.jar,發布成功。

     

     

    2009-06-07 09:43:36,134 ERROR [org.springframework.web.context.ContextLoader] - Context initialization failed

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name '/reg' defined in file [D:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\testd\WEB-INF\classes\applicationContext-actions.xml]: Cannot resolve reference to bean 'userManager' while setting bean property 'um'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userManager' defined in file [D:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\testd\WEB-INF\classes\applicationContext-beans.xml]: Cannot resolve reference to bean 'UserDAO' while setting bean property 'dao'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'UserDAO' defined in file [D:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\testd\WEB-INF\classes\applicationContext-beans.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in file [D:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\testd\WEB-INF\classes\applicationContext-common.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V

         at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275)

    ……

     

    2)         由于本程序要用到DAO,在用戶管理類中我一開始使用

     

    UserDAO dao = new UserDAO();

     

        public void addUser(User user)

        {

           dao.save(user);

        }

     后面一直會報一個空指針異常的錯誤(java.lang.NullPointerException),后來也是在網上找了好久,才發現一個我不小心的地方,就是我已經使用了Spring進行依賴注入,不過上面的語句根本就沒有注入,所以會報空指針異常的錯誤,改為下面的語句,使用Spring進行注入,也就是使用set方法就行注入即可(初學者經常犯的錯誤吧)。

     

        private UserDAO dao;

     

        public void setDao(UserDAO dao)

        {

           this.dao = dao;

        }

     

     

        public void addUser(User user)

        {

           dao.save(user);

        }

     

    <bean id="userManager" class="com.usc.manager.userManagerImpl">

           <property name="dao" ref="UserDAO"/>

        </bean>

     

    3)         Struts生成jsp文件的時候,會出現一個Cancel按鈕,如果不處理的話,單擊會報org.apache.struts.action.InvalidCancelException異常,網上說的話:Cancel按鈕的機制和submit機制是一樣的,沒有處理,如果要解決的話,在Struts配置文件中的每個action里面加上cancellable="true",雖然這樣能夠解決異常,但是治標不治本,此時如果點擊Cancel按鈕會當一個submit按鈕來進行提交,我覺得真有點違背常理,所以我的解決方案就是1.刪除cancel按鈕,2.修改為reset按鈕(我覺得是最好的解決方案)

     

    4)         配置文件

    Spring的配置文件

    Spring的配置文件主要是對Spring的一些機制進行配置,如:配置sessionFactory、配置sessionFactory、配置事務的傳播特性、配置那些類的哪些方法參與事務、配置action,配置一些bean

    Struts的配置文件

    主要是修改actiontype屬性,設置為spring管理,修改為

    type="org.springframework.web.struts.DelegatingActionProxy">

     

     

             本人也是剛學SSH不久,難免會有一些錯誤的理解,如果有什么建議或者意見的,我們可以一起學習,謝謝 ,Q506817493

     

    木子寫于200967

     



    博客中的一些下載已經放到了百度云了,請根據需要下載。【點我去百度云下載】

    最后弱弱地說一下,如果可以的話,轉載請提供出處( ),謝謝。
    posted on 2010-01-07 21:09 李順利 閱讀(3984) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲最大AV网站在线观看| 2020久久精品国产免费| 一级做a爰片久久毛片免费陪 | 久久电影网午夜鲁丝片免费| 四虎永久在线观看免费网站网址| aⅴ免费在线观看| 日本人的色道免费网站| 黄页网站在线看免费| 毛片高清视频在线看免费观看| 色妞WWW精品免费视频| 免费永久在线观看黄网站| 国产免费午夜a无码v视频| 亚洲第一区精品日韩在线播放| 亚洲?v无码国产在丝袜线观看 | 久久久高清免费视频| 麻豆国产VA免费精品高清在线 | 四虎影视在线永久免费看黄| 国产一级高清视频免费看| 亚洲国产婷婷综合在线精品| 亚洲午夜精品久久久久久浪潮| 亚洲热线99精品视频| 久久久无码精品亚洲日韩蜜臀浪潮| 亚洲精品福利在线观看| 国产91在线|亚洲| 国产亚洲福利一区二区免费看| www免费插插视频| 国产成人AV片无码免费| 18国产精品白浆在线观看免费| 成年在线网站免费观看无广告| 亚洲av无码成人精品区在线播放 | 亚洲国产成人久久综合区| 亚洲综合AV在线在线播放| 久久久久亚洲av无码专区 | 激情综合色五月丁香六月亚洲| 亚洲国产综合专区在线电影| 亚洲三级在线视频| 深夜免费在线视频| 91精品视频在线免费观看| 夜夜爽免费888视频| 日本亚洲国产一区二区三区| 久久精品国产亚洲AV久|