posts - 18,comments - 26,trackbacks - 0

          7.在JSP/Servlet中調用EJB

          在JSP/Servlet中調用EJB的代碼和客戶端是一樣的,不同的是,調用代碼也運行在服務器端,客戶端只需要通過瀏覽器請求就可以獲得結果,不必在客戶端機器上也安裝Java環境,這就是所謂的瘦客戶端。

          我們先編寫一個JSP頁面,命名為hello.jsp:

          <%@ page import="javax.naming.*,javax.rmi.*,Hello,HelloHome" %>
          <html>
          <head>
          <title>Test HelloEJB</title>
          </head>
          <body>
          <%
              // init context:
              Context ctx = new InitialContext();
              // lookup:
              Object obj = ctx.lookup("ejb/Hello");
              // get home object:
              HelloHome home = (HelloHome)PortableRemoteObject.narrow(obj, HelloHome.class);
              // create ejb object:
              Hello hello = home.create();
              // invoke business method:
              String words = hello.say();
              out.println(words);
          %>
          </body>
          </html>


          Web應用程序需要按照如下目錄結構組織:


          其中,WEB-INF/classes存放自己編寫的class文件,WEB-INF/lib存放用到的所有jar包,其他的JSP文件可以存放在根目錄下的任何位置。
           
          和EJB組件一樣,作為Web組件的JSP和Servlet也必須部署到服務器上。啟動服務器,再次運行deploytool,并打開上次我們建立的hello application,選擇File > New > Web Component,按Next跳過歡迎屏幕,出現下面的對話框:

           
          類似EJB的部署,我們也需要將hello.jsphelloClient.jar添加到Contents中。點擊Edit添加hello.jsp和helloClient.jar這兩個文件,請注意目錄結構,添加完的目錄結構一定是下圖所示,否則Web應用程序不會正常工作:

           
          然后Next,選擇Web組件的類型,這里我們應當選擇JSP:
           

           
          在下一個對話框中選擇hello.jsp:
           

           
          然后一路Next,當出現WAR Context Root時,輸入“/”:


           
          剩下的均保持默認值即可?,F在我們的Hello應用程序有兩個組件:一個EJB和一個JSP:
           

           
          然后選擇Tools > Deploy…,將應用程序重新部署一遍,完畢后,打開瀏覽器,輸入http://localhost:8000/hello.jsp
           
           
          瀏覽器顯示出了正確的頁面!

          待續...

          posted on 2005-09-22 19:47 瘦猴 閱讀(143) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 阳高县| 曲阜市| 富蕴县| 平安县| 静海县| 襄樊市| 武安市| 五华县| 互助| 时尚| 长宁区| 孝感市| 惠州市| 昭通市| 永济市| 绥棱县| 宁都县| 应城市| 郯城县| 永仁县| 双柏县| 蕉岭县| 获嘉县| 长春市| 甘孜| 大渡口区| 仲巴县| 昌宁县| 天门市| 盘锦市| 德江县| 汾阳市| 大厂| 南靖县| 和硕县| 莱西市| 合山市| 丹棱县| 林周县| 斗六市| 长阳|