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

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

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

    Java, Only Java!

    統計

    留言簿(20)

    積分與排名

    好友空間

    文檔技巧

    閱讀排行榜

    評論排行榜

    Struts的例子在Apusic V5.1上的部署記錄

    目標:
    將Struts提供的例子部署到Apusic V5.1上,并且可以正確運行。
    因為Struts 1.x與Struts 2.x有較大區別,因此本文對兩個版本的例子都進行了部署。

    術語:
    Struts:使用最為廣泛的MVC框架。
    Apusic:完全支持J2EE規范的商業應用服務器產品,最新版本V5.1可以提供對Java EE 5.0的完整實現。
    %APUSIC_HOME%:Apusic安裝目錄

    準備:
    http://archive.apache.org/dist/struts/binaries/struts-2.0.9-all.zip下載Struts V2.0.9的壓縮包;
    http://archive.apache.org/dist/struts/binaries/struts-1.3.9-all.zip下載Struts V1.3.9的壓縮包;
    http://java.sun.com/javase/downloads/index_jdk5.jsp下載JDK V1.5以上的版本并安裝,確認JAVA_HOME正確指向裝好的JDK目錄;
    http://www.apusic.com/dist/apusicAS/v5.1/Apusic-5.1-OS-Independent.zip下載Apusic V5.1并解壓;

    Struts 2.x的部署過程:
    1. 執行%APUSIC_HOME%/domains/mydomain/bin/startapusic.cmd,訪問主頁:http://localhost:6888/,確認Apusic已經成功安裝;
    2. 打開Struts V2.0.9的例子包,如果下載的是完整的Struts則在APP目錄下;
    3. 將struts2-blank-2.0.9.war拖入%APUSIC_HOME%/domains/mydomain/applications目錄下(稍等一下),自動部署完成,用http://localhost:6888/struts2-blank-2.0.9/訪問一下,已經OK了。(好棒好簡單。。。)
    4. 將struts2-mailreader-2.0.9.war拖入%APUSIC_HOME%/domains/mydomain/applications目錄下(稍等一下),自動部署完成,用
    http://localhost:6888/struts2-mailreader-2.0.9/訪問一下,已經OK了。(好棒好簡單。。。)
    5. 將struts2-showcase-2.0.9.war拖入%APUSIC_HOME%/domains/mydomain/applications目錄下(稍等一下),不會那么沒創意吧,又成功啦?自動部署完成,但是后臺部署過程報錯:
    javax.servlet.ServletException: java.lang.IllegalStateException: Application was not properly initialized at startup, co
    uld not find Factory: javax.faces.context.FacesContextFactory
    這個錯誤是跟JSF有關的,原因現在搞不懂,不管他。先用http://localhost:6888/struts2-showcase-2.0.9/訪問一下,好像沒啥問題,進入主頁一看例子提供了不少使用Struts的方法很值得學習,一一點過都很正常,而且還看到了JavaServer Faces,看樣子Struts也在追趕潮流啦,點進去→再點List available Employees (http://localhost:6888/struts2-showcase-2.0.9/jsf/employee/list.action)出錯啦,去Apusic的后臺看看。又有新的錯誤信息:
    Unable to initialize jsf interceptors probably due missing JSF implementation libraries,說我沒有提供實現庫。不可能呀,Apusic已經提供了Operamasks的JSF實現呀,不過Struts肯定不會用Operamasks的,那是不是自帶的JSF實現呢?打開WAR包進入WEB-INF/lib發現里面還有MyFaces的實現庫。估計是兩種JSF實現沖突了。看樣子要動點腦筋了!
    整個簡單的辦法,把Apusic的所有與JSF相關的JAR包都刪除掉,讓Apusic V5.1變成一個純的WEB容器。與JSF相關的有三個文件:
    ● jsf-api.jar:%APUSIC_HOME%/common
    Operamasks-impl.jar:%APUSIC_HOME%/lib
    Operamasks-third-party.jar:%APUSIC_HOME%/lib/ext
    停止應用服務器,把他們都刪除掉,再重新啟動后訪問struts2-showcase-2.0.9.war的JSF例子,這下就行了。
    7. 將struts2-portlet-2.0.9.war拖入%APUSIC_HOME%/domains/mydomain/applications目錄下(稍等一下),自動部署也報錯:
    Could not load class org.apache.struts2.portlet.interceptor.PortletPreferencesInterceptor.看樣子還需要加入Portal服務器才行,在網上搜了一下沒有部署介紹,而且也說需要先部署好PortalServer支持,難度不小。嘗試下了Pluto但是部署了沒起作用,后來下了2.1.2版本,結果那個例子更成問題,只好先放棄。等到熟悉了Portal再回頭補課。

    Struts 1.x的部署過程:
    1. 執行%APUSIC_HOME%/domains/mydomain/bin/startapusic.cmd,訪問主頁:http://localhost:6888/,確認Apusic已經成功安裝;
    2. 打開Struts V1.3.9的例子包,如果下載的是完整的Struts則在apps目錄下;
    3. 將struts-blank-1.3.9.war拖入%APUSIC_HOME%/domains/mydomain/applications目錄下(稍等一下),自動部署完成,用http://localhost:6888/struts-blank-1.3.9/訪問一下,已經OK了;
    4. 將struts-cookbook-1.3.9.war拖入%APUSIC_HOME%/domains/mydomain/applications目錄下(稍等一下),自動部署完成,用http://localhost:6888/struts-cookbook-1.3.9/訪問一下,已經OK了,訪問里面的內容也可以正確執行;
    5. 將struts-el-example-1.3.9.war拖入%APUSIC_HOME%/domains/mydomain/applications目錄下(稍等一下),自動部署完成,用http://localhost:6888/struts-el-example-1.3.9/訪問一下,已經OK了,訪問里面的內容也可以正確執行;
    6. 將struts-examples-1.3.9.war拖入%APUSIC_HOME%/domains/mydomain/applications目錄下(稍等一下),自動部署完成,用http://localhost:6888/struts-examples-1.3.9/訪問一下,已經OK了,訪問里面的內容也可以正確執行(這個例子其實是上面三個例子的集成);
    7. 下面的兩個例子都與myfaces有關,為了防止JSF實現沖突,先停止服務器,將Apusic的JSF實現刪除(參考Struts 2.x中的6);
    8. 將struts-faces-example1-1.3.9.war拖入%APUSIC_HOME%/domains/mydomain/applications目錄下(稍等一下),自動部署完成,用http://localhost:6888/struts-faces-example1-1.3.9/訪問一下,已經OK了,訪問里面的內容也可以正確執行;
    9. 將struts-faces-example2-1.3.9.war拖入%APUSIC_HOME%/domains/mydomain/applications目錄下(稍等一下),自動部署完成,用http://localhost:6888/struts-faces-example2-1.3.9/訪問一下,已經OK了,訪問里面的內容也可以正確執行;
    10. 將struts-mailreader-1.3.9.war拖入%APUSIC_HOME%/domains/mydomain/applications目錄下(稍等一下),自動部署完成,用http://localhost:6888/struts-mailreader-1.3.9/訪問一下,已經OK了(注意:我下載的這個例子圖片無法正常顯示,打開應用發現根本沒有把圖片文件打入WAR包),訪問里面的內容也可以正確執行;
    11. 將struts-scripting-mailreader-1.3.9.war拖入%APUSIC_HOME%/domains/mydomain/applications目錄下(稍等一下),自動部署完成,用http://localhost:6888/struts-scripting-mailreader-1.3.9/訪問一下,已經OK了(注意:我下載的這個例子圖片無法正常顯示,打開應用發現根本沒有把圖片文件打入WAR包),訪問里面的內容也可以正確執行。

    備注:
    1. 刪除了Operamasks的實現包,如果別的應用仍然想用Operamasks,最好的辦法就是直接把這三個包加入到應用的WEB-INF/lib下面就可以了。

    posted on 2008-07-10 22:55 zYx.Tom 閱讀(1193) 評論(2)  編輯  收藏 所屬分類: 1.Java世界

    評論

    # re: Struts的例子在Apusic V5.1上的部署記錄[未登錄] 2008-07-11 07:43 javaread.com

    布局有點亂,看的辛苦  回復  更多評論   

    # re: Struts的例子在Apusic V5.1上的部署記錄 2008-07-14 12:37 朱遠翔-Apusic技術顧問

    @javaread.com
    不好意思,改過了。  回復  更多評論   

    主站蜘蛛池模板: 亚洲国产精品免费在线观看| 国产aa免费视频| 亚洲情XO亚洲色XO无码| 国产AV无码专区亚洲AV麻豆丫| **真实毛片免费观看| 亚洲色图校园春色| 亚洲色欲久久久综合网| 一级特黄色毛片免费看| 亚洲 无码 在线 专区| 一级一级一片免费高清| 91麻豆国产自产在线观看亚洲| 亚洲第一视频在线观看免费| 亚洲中文字幕无码永久在线| 中文字幕成人免费高清在线视频| 国产精品V亚洲精品V日韩精品 | 亚洲精品无码不卡在线播HE| 国产中文字幕在线免费观看| 久久久久亚洲AV无码专区桃色| 亚洲人成网站在线观看播放动漫| 亚洲电影免费观看| 国产成人精品日本亚洲18图| 二个人看的www免费视频| 国产偷v国产偷v亚洲高清| 午夜免费福利片观看| 亚洲人成影院午夜网站| 国产成人无码免费视频97| 最好2018中文免费视频| 亚洲AV综合色一区二区三区| 成年在线观看网站免费| WWW国产亚洲精品久久麻豆| 中文字幕亚洲日韩无线码| 69视频在线观看免费| 亚洲1区2区3区精华液| 久久亚洲精品无码观看不卡| 91成人在线免费视频| 亚洲欧美日韩中文字幕一区二区三区| 久久国产乱子伦精品免费一| 久久精品国产亚洲Aⅴ蜜臀色欲| 久久狠狠躁免费观看| 亚洲av日韩精品久久久久久a| 亚洲无线一二三四区手机|