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

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

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

    zxbyhcsdn

     

    myeclipse搭建SSH2環境的項目引用

    >問題提出:

      比如說你要電子商務系統類似淘寶的那玩意兒,
      這個系統應該有一個管理系統門戶,還有一系列接口(提供給taobao旺旺客戶端調用的接口,還有淘寶開放平臺的那些api),然后就是一個網站門戶這個是顯然不可少的.

      也就是說,大多數系統都不可能只有一個門戶,并且從部署和安全的角度來說,管理門戶都會單獨部署,并且限制能夠訪問的ip.

      從邏輯架構來劃分也應該是 業務邏輯層(或者稱為服務層),然后是多個web門戶.或者接口服務門戶
      如果是采用ms的doNET的話,可以建一個解決方案,然后再建多個項目,由于doNET的編譯后一個項目是一個dll存在,故doNET來說應該根據分層建立多個項目.doNET
      也推薦采用這樣的方式.

      下面說一下采用j2ee處理這樣的情況的做法.這兒以myeclipse為例來說.

      根據上述情況,顯然我們應該把業務邏輯放到一個項目,其他的門戶根據每一個門戶單獨建立一個項目,以后系統部署的時候,也就將不同的門戶部署到不同的服務器上去.

      其實就是各門戶的項目引用業務邏輯項目就可以了,將公用的東東都抽象出來放到一起(比如說 商品相關的邏輯 在網站門戶,管理后臺,接口都會共用的)

      下面用一個簡單的例子,說明一下實現步驟. 最后再介紹ssh2項目怎樣實現.

    步驟如下:

    新建一個java project   [注意:]這兒一定要是一個java project ,我試過如果建成一個web projcet的話,可以編譯通過,但是發布的時候,引用的class不會自己動拷貝過去,除非手動拷貝.
    起名字為servicecore,名字無所謂的.
    然后在src,再建一個folder叫service

    隨便寫個類:

    package service;
    public class OneSrv
    {
     public String test()
     {
      return "this is test info";
     }
    }

    然后再建一個java web project
    起名字叫serviceweb,名字無所謂的
    然后,選中這個項目,屬性,java build path 里面選projects
    然后添加servicecore這個項目,
    在native library location那兒,選workspace,就指到 servicecore 的src目錄就是了 [這兒就表示發布的時候,會應用的項目的src目錄下的東東全部發布到目標項目]


    然后在serviceweb項目的src下面,再建一個folder叫srvproxy
    再寫一個類,來調用servicecore項目的的類的方法
    package srvproxy;
    import service.*;
    public class OneSrvProxy
    {
     public String test()
     {
      OneSrv oneSrv = new OneSrv();
      return oneSrv.test();
     }
    }

    再在jsp頁面上調用這個

    <%
          srvproxy.OneSrvProxy oneSrvProxy = new srvproxy.OneSrvProxy();
          out.println(oneSrvProxy.test());
        %>

    然后發布這個serviceweb項目到tomcate或者其他的容器,
    可以看到在發布的目錄下的serviceweb\WEB-INF\classes\service
    下面,也有那個OneSrv.class了

    呵呵..,如果沒有問題的話,訪問那個jsp頁面,就能看到調用的情況啦.

    也可以在jsp頁面上直接調用,OneSrv.class,
    對于web project 來說的話,只要是在\WEB-INF\classes\下面的class都可以調用的.

    這樣就把業務邏輯和表示分離了.

    但是上述的例子只是一個非常簡單的,實際的系統開發有數據訪問等. 下面就介紹對于一個SSH2 項目如何實現

    這兒以一個已經存在的ssh2 的web project 項目為利,講解怎樣吧業務邏輯抽象到一個java project 中.

    步驟如下:
    一,新建一個java project ,在servicecore里面隨便建一個lib,

    這兒分兩種情況,
    如果是已經有一個現成的ssh2 的 web project
    就想現成的 web projcect 的webroot的web-info下的lib文件甲的那些jar包全部拷貝到 servicecore 這個java project 的lib里面

    如果是沒有現成的ssh2 的web project 的話.
    可以通過myeclipse添加hibernate和spring的capability指定myeclipse的那些jar包到那個lib下,
    完成后,把那個lib下的jar包,拷貝到serviceweb的webroot的web-info下的lib文件甲

    這兒保證ssh2的相關的jar包都放到lib下面了.
    然后選中servicecore 屬性,java build path -> libraries 選擇Add External JARs,然后指向剛才的那個lib文件夾
    這樣項目就能使用那些jar包了. 同時把web project 的 build path 也 添加這些JAR包.

    [注意:]我遇到這樣一個問題,就是servicecore這個項目找不到數據庫 的jdbc驅動,明明我吧ojdbc14.jar加到那個buildpath里面了的.
           解決辦法是在myeclipse的java類編輯器,報錯的那個不能識別的包名下劃線那兒雙擊,會彈出來一個窗口,里面有一個oracle jdbc的驅動
           其實這個是另外的webprojcect里面的jdbc驅動.使用這個也沒關系,只要編譯通過就可以了.反正最總發布的時候,是使用web poject的的webroot的web-info下的lib文件甲里面的jar包.


    再將web project 的引用指向servicecore 這個java project ,步驟如前面所說.

    二, 相關的文件的處理

    1.spring 配置文件的處理.

    由于ssh2項目的話,spring配置文件里面會包含 dao,Bo,action等各層的class 故,需要對配置文件進行分割.

    這兒將所有的配置文件都放到/WEB-INF/classes/spr-conf/文件夾下面,
    [注意:]這個是發布后的位置,解決方案中的classes 就對應src 目錄.
    在web.xml里面的spring配置文件路徑就寫成如下
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/classes/spr-conf/*.xml</param-value>
    </context-param>

    然后在servicecore 的 src 目錄下新建spr-conf目錄,在所有的web project的src目錄下也建spr-conf目錄.
    將dao,bo等業務邏輯類的配置放到servicecore的 spring配置文件中,
    將action等類配置放到web projcect 的srping配置文件中,

    這樣struts的配置文件放到web project 中, hibernate的配置文件放到servicecore中.spring配置文件(action的在web projcect,其他的都放到servicecore).

    三 總述
      經過這樣的處理,項目就分離了,對于較大的項目,開發人員可以分工,一些人專門做業務邏輯,一些人專門做前端頁面,同時也達到了復用的效果.


     

    posted on 2010-02-20 12:06 zxbyh 閱讀(4088) 評論(0)  編輯  收藏 所屬分類: J2se


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


    網站導航:
     

    導航

    統計

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 最近免费中文在线视频| 免费国产成人午夜私人影视| 日本三级2019在线观看免费| 国产成人在线观看免费网站 | 丁香花在线视频观看免费| A级毛片高清免费视频在线播放| 国产日本亚洲一区二区三区| 处破女第一次亚洲18分钟| 最近中文字幕大全免费版在线| 日韩在线视频播放免费视频完整版 | 国产亚洲福利精品一区| 亚洲精品日韩中文字幕久久久| 久久亚洲精品中文字幕无码 | 无码少妇精品一区二区免费动态| 成人免费乱码大片A毛片| 久久久久久免费视频| 亚洲午夜日韩高清一区| 亚洲色欲色欲综合网站| 亚洲1区2区3区精华液| 午夜精品一区二区三区免费视频| 无码专区AAAAAA免费视频| 四虎亚洲国产成人久久精品| 亚洲嫩草影院久久精品| 天堂亚洲免费视频| 免费做爰猛烈吃奶摸视频在线观看| 啦啦啦高清视频在线观看免费| 四色在线精品免费观看| 老司机亚洲精品影院| 久久久精品国产亚洲成人满18免费网站 | 久久精品国产亚洲7777| 亚洲一卡2卡3卡4卡5卡6卡 | 久久精品国产亚洲AV蜜臀色欲 | 人人狠狠综合久久亚洲婷婷| 亚洲av无码专区国产不乱码| 免费看男女下面日出水来| 亚洲乱亚洲乱妇无码麻豆| 无码天堂va亚洲va在线va| 久久99九九国产免费看小说| 亚洲激情中文字幕| 三根一起会坏掉的好痛免费三级全黄的视频在线观看 | 亚洲人成77777在线观看网|