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

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

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

    Cyh的博客

    Email:kissyan4916@163.com
    posts - 26, comments - 19, trackbacks - 0, articles - 220

    Spring &Hibernate集成

    Posted on 2009-02-16 20:02 啥都寫點 閱讀(199) 評論(0)  編輯  收藏 所屬分類: J2EE

    缺陷:依賴了UserManager

    原理:在Action中取得BeanFactory對象,然后通過BeanFactory獲取業務邏輯對象

    1springstruts依賴庫配置

       * 配置struts

          --拷貝struts類庫和jstl類庫

          --修改web.xml文件來配置ActionServlet

          --提供struts-config.xml文件

          --提供國際化資源文件

       * 配置spring

          --拷貝spring類庫

          --提供spring配置文件

    2、在strutsAction中調用如下代碼取得BeanFatory

    BeanFactoryfactory=WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession.getServletContext())

    3、通過BeanFactory取得業務對象,調用業務邏輯方法

     

    web.xml中做如下配置

    <context-param>

        <param-name>contextConfigLocation</param-name>

    <param-value>classpath*:applicationContext-*.xml,/WEB-INF/applicationContext-*.xml</param-value>  變色部分如果已經在CLASSPATH中配置了可省略

     </context-param>

     

     <listener>   <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

      </listener>

    servletConetext的一個助手類,可以讀取它àWebApplicationContextUtils

    Spring &Hibernate集成方案2



    原理:將業務邏輯對象通過spring注入到Action中,從而避免了在Action類中的直接代碼查詢。

    1springstruts依賴庫配置

       * 配置struts

          --拷貝struts類庫和jstl類庫

          --修改web.xml文件來配置ActionServlet

          --提供struts-config.xml文件

          --提供國際化資源文件

       * 配置spring

          --拷貝spring類庫

          --提供spring配置文件

    2、因為Action需要調用業務邏輯方法,所以需要在Action中提供setter方法,讓spring將業務邏輯注入過來

    3、在struts-config.xml文件中配置action

    * <action>標簽中的type屬性需要修改為org.springframework.web.struts.DelegatingActionProxy是一個Action,主要作用是取得BeanFactory,然后根據<action>中的path屬性值到IOC容器中取得本次請求對應的Action

    4、在spring配置文件中需要定義strutsAction,如:

       <bean name=”/login” class=”com.bjsxt.usermgr.actions.LoginAction” scope=”prototype”>

          <property name=”userManager” ref=”userManager”/>

       </bean>

    l       必須使用name屬性,name屬性值必須和struts-config.xml文件中<action>標簽的path屬性值一致

    l       必須注入業務邏輯對象

    l       建議scope設置為prototype,這樣就避免了struts Action的線程安全問題

    struts中應該修改為:

     <action path=”/login”

             Type=”org.springframework.web.struts.DelegatingActionProxy”

             Name=”loginForm”

             Scope=”request”

    </action>

    ApplicationContext中需要做如下修改:

       不能有id屬性 而是改成name屬性(路徑應該和struts中的配置的actionpath相同)

    <bean name=”/login” class=”com.bjsxt.usermgr.action.LoginAction” scope=”prototype”>

     <property name=”userManager” ref=”userManagr”/> //變色部分代表從單實例變成多實例

    </bean>



                                                                                                           --    學海無涯
            

    主站蜘蛛池模板: 成年性生交大片免费看| 18禁黄网站禁片免费观看不卡| 国产一卡2卡3卡4卡无卡免费视频| 国产亚洲精AA在线观看SEE| www成人免费观看网站| 亚洲 另类 无码 在线| 欧洲乱码伦视频免费国产| 免费一级特黄特色大片在线| 黄网站色成年片大免费高清| 又爽又黄无遮挡高清免费视频| 日日狠狠久久偷偷色综合免费 | a级毛片免费网站| 亚洲国产成人久久综合区| 一级免费黄色大片| 久久亚洲中文字幕精品一区| 免费人成激情视频在线观看冫 | 成人片黄网站色大片免费观看cn| 亚洲男人的天堂一区二区| 在线免费视频你懂的| 亚洲成亚洲乱码一二三四区软件| 久久成人a毛片免费观看网站| 亚洲国产一区二区a毛片| 久久久久av无码免费网| 亚洲色中文字幕在线播放| 日韩免费观看视频| fc2成年免费共享视频网站| 亚洲AV无码专区国产乱码4SE| 最近2022中文字幕免费视频| 伊人久久亚洲综合影院首页| 亚洲第一区精品观看| 两个人看的www高清免费视频 | 亚洲人成网站在线观看播放| 无码午夜成人1000部免费视频| 亚洲激情校园春色| 四虎影视永久免费观看地址| 日韩电影免费在线观看网站| 亚洲天堂福利视频| 免费在线观看理论片| 日本视频免费高清一本18| 亚洲最大天堂无码精品区| 伊人久久精品亚洲午夜|