Spring2.5、Struts2、Ibatis開發架構搭建之二

來源:互聯網
上載者:User

Spring2.5、Struts2、Ibatis開發架構搭建(二)

 

二、向項目中加入Spring Struts iBATIS架構

2.1 準備工作

       將下載的三個架構分別解壓縮。

建立一個Web Project。

       2.2 向項目中加入Spring架構

將Spring解壓縮以後spring-framework-2.5.6-with-dependencies/spring-framework-2.5.6/dist目錄中的spring.jar複製到Web項目的WEB-INF/lib目錄中。

複製spring-framework-2.5.6-with-dependencies/spring-framework-2.5.6/lib/log4j中的log4j相關的jar檔案到項目中WEB-INF/lib目錄中。

開啟WEB項目中的WEB-INF目錄中的web.xml檔案,添加及結合項目實際情況配置以下內容

    <!-- 以為是應用程式名稱 -->

       <display-name>JI</display-name>

       <!-- 以下是應用程式描述說明性文字 -->

       <description>Job Integration</description>

      

       <!-- 上下文參數,用於log4j以及spring中使用 -->

       <context-param>

              <param-name>webAppRootKey</param-name>

              <param-value>ji.root</param-value>

       </context-param>

      

       <!-- 應用程式上下文參數,指定log4j日誌架構使用的配置參數檔案位置 -->

       <context-param>

              <param-name>log4jConfigLocation</param-name>

              <param-value>/WEB-INF/log4j.properties</param-value>

       </context-param>

 

    <!-- 應用程式上下文參數,指定spring設定檔位置 -->

       <context-param>

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

              <param-value>

 

在這裡寫Spring參數設定檔的路徑

 

例如 /WEB-INF/spring/applicationContext.xml

 

</param-value>

       </context-param>

 

       <!-- 監聽器,用於初始化log4j日誌架構的 -->

       <listener>

              <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>

       </listener>

       <!-- 監聽器,用於初始化spring架構 -->

       <listener>

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

       </listener>

2.3 向項目中添加Struts2架構

       開啟解壓縮以後的Struts2架構目錄,找到/struts-版本-all/struts-版本/lib目錄,複製*.jar檔案到WEB項目的WEB-INF/lib目錄中。

       複製jsonplugin-0.31.jar  到項目的WEB-INF/lib目錄中。

       開啟WEB項目中的WEB-INF/web.xml檔案,添加以下內容:

       <!-- 過濾器,struts2使用的,用於銷毀某些不再使用的對象等-->

    <filter>

        <filter-name>struts-cleanup</filter-name>

        <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>

    </filter>

 

       <!--過濾器,struts2使用的 -->

    <filter>

        <filter-name>struts</filter-name>

        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>

    </filter>

 

    <!-- 以下是struts2使用的用於清除或銷毀某些對象的過濾器,要保證在struts過濾器映射之前配置這一項 -->

    <filter-mapping>

        <filter-name>struts-cleanup</filter-name>

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

    </filter-mapping>

   

       <!-- struts2用於的過濾器映射 -->

    <filter-mapping>

        <filter-name>struts</filter-name>

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

    </filter-mapping>

 

找到項目的來源程式目錄,一般在Eclipse開發工具中都是src目錄,添加以下幾個檔案(注意大小寫),struts.properties,struts.xml,globalMessages.properties ,其中

struts.properties檔案中的內容為:

struts.custom.i18n.resources=globalMessages

struts.objectFactory=spring

struts.objectFactory.spring.autoWire=type

struts.ui.theme=simple

struts.locale =zh_CN

struts.i18n.encoding=UTF-8

struts.configuration.xml.reload=true

struts.multipart.parser=jakarta

struts.multipart.maxSize=10000000

struts.devMode=false

 

globalMessages.properties檔案中的內容為:

SMSPageTitle=/u5b89/u5fbd/u7701/u8840/u6db2/u4fe1/u606f/u77ed/u4fe1/u5e73/u53f0

login.error=/u60a8/u8f93/u5165/u7684/u7528/u6237/u540d/u6216/u5bc6/u7801/u9519/u8bef/uff01

userId.required=/u60a8/u7684/u7528/u6237/u540d/u4e0d/u80fd/u4e3a/u7a7a/uff01/uff01

passward.required=/u60a8/u7684/u5bc6/u7801/u4e0d/u80fd/u4e3a/u7a7a/uff01/uff01

datebase.error=/u6570/u636e/u5e93/u64cd/u4f5c/u9519/u8bef/uff01/uff01/uff01

validCode_error=/u9a8c/u8bc1/u7801/u9519/u8bef/uff01/uff01

retistSdk.error=/u6ce8/u518cSDK/u5931/u8d25/uff01/u8bf7/u68c0/u67e5/u5e8f/u5217/u53f7/u548c/u5bc6/u7801/uff01/uff01

retistSdk.success=/u8f6f/u4ef6SDK/u6ce8/u518c/u6210/u529f/uff01/uff01/uff01

logoutSdk.success=/u60a8/u5df2/u6210/u529f/u6ce8/u9500SDK/uff01/uff01

logoutSdk.error=/u6ce8/u9500SDK/u5931/u8d25/uff0c/u68c0/u67e5/u7f51/u7edc/u8fde/u63a5/uff01/uff01/uff01

chargUp.error=/u5145/u503c/u5931/u8d25/uff0c/u8bf7/u68c0/u67e5/u5361/u53f7/u548c/u5bc6/u7801/uff01/uff01

sdkNotReg=/u7cfb/u7edfSDK/u6ca1/u6709/u6ce8/u518c/uff01/uff01/uff01/uff01

struts.messages.error.uploading=/u6587/u4ef6/u65e0/u6cd5/u6b63/u5e38/u4e0a/u4f20

struts.messages.error.file.too.large=/u6587/u4ef6/u5927/u5c0f/u8d85/u8fc7/u6700/u5927/u5141/u8bb8/u503c

struts.messages.error.content.type.not.allowed=/u6587/u4ef6/u7c7b/u578b/u4e0d/u5728/u4e0a/u4f20/u6587/u4ef6/u5141/u8bb8/u7c7b/u578b/u4e2d

最後一個檔案是struts.xml中的內容,這個檔案是struts的參數設定檔,參考配置內容:

<?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>

       <constant name="struts.i18n.encoding" value="UTF-8"></constant>

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

              <action name="login" class="edu.xw.ji.action.LoginAction"

                     method="login">

                     <result name="success">/dev_test/login.jsp</result>

              </action>

       </package>

       <package name="ji_common" extends="json-default">

              <interceptors>

                     <interceptor-stack name="myDefaultStack">

                            <interceptor-ref name="defaultStack" />

                     </interceptor-stack>

              </interceptors>

              <default-interceptor-ref name="myDefaultStack"></default-interceptor-ref>

              <global-results>

                     <result name="error">/pages/errorMessage.jsp</result>

                     <result name="warn">/pages/warnMessage.jsp</result>

              </global-results>

       </package>

 

       <include file="edu/xw/ji/action/dict/struts2_dict.xml" />

       </struts>

注意上面的struts.xml設定檔中有兩個樣本package,名稱為login的package是從struts-default包繼承下來的,不能夠實現json格式的action返回,後面的ji_common是從json-default包繼承下來的,以後在項目中所有程式開發人員自己編寫的action中使用到json格式的返回結果時可以從ji_common包繼承下來。

       2.4 向項目中添加iBATIS架構

              找到解壓縮的iBATIS壓縮包中的ibatis-2.3.4.726/lib目錄,複製裡面的.jar檔案到項目中的WEB-INF/lib目錄中。

       2.5 添加資料庫緩衝池架構

              複製DBCP緩衝池架構中的commons-dbcp-x.x.x.jar檔案到項目中WEB-INF/lib目錄中去,複製DBCP架構工作時需要使用的common-pool相關的jar檔案到項目中的WEB-INF/lib目錄中去,DBCP在項目中是被配置到spring當中去使用,所以接下來的一系列工作都與spring的配置有關。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.