<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)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 国产亚洲色视频在线| 亚洲人成人网站在线观看| 亚洲视频在线视频| a级精品九九九大片免费看| 亚洲七七久久精品中文国产| 激情小说亚洲色图| 免费A级毛片在线播放不收费| 亚洲AV无码成人网站在线观看| 免费特级黄毛片在线成人观看| 亚洲成a人片在线不卡一二三区| 在线观看永久免费视频网站 | 久久久亚洲欧洲日产国码二区| a级毛片免费完整视频| 精品久久久久久亚洲| 最近免费字幕中文大全视频| 亚洲第一页中文字幕| 色婷婷7777免费视频在线观看 | 亚洲一区二区在线视频| 国产精品免费观看| 国产精品亚洲一区二区麻豆| 国产成人免费永久播放视频平台| 高潮内射免费看片| 国产亚洲一区二区精品| 日韩欧毛片免费视频| 男男gay做爽爽的视频免费| 亚洲中文字幕无码永久在线 | 亚洲爆乳无码专区www| 亚洲中久无码不卡永久在线观看| 国产做国产爱免费视频| 亚洲免费一级视频| 亚洲AV成人精品日韩一区18p| 亚洲精品国产日韩无码AV永久免费网| 亚洲国产综合精品中文第一区 | 国产h视频在线观看免费| 噜噜噜亚洲色成人网站| 亚洲国产日韩在线视频| 女性无套免费网站在线看| 国产性生大片免费观看性| 亚洲精品二三区伊人久久| 中文字幕亚洲综合久久男男| 亚洲黄色片免费看|