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

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

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

    追隨Java
    簡單的事情重復做,就會產生累積效應!
    posts - 260,  comments - 338,  trackbacks - 0
     也不記得是什么時候下載的一個開發ejb的例子,也沒有看實踐過。現在有點時候把它實踐一下,還真爽,布置成功。
        我也把那個例子轉載一下,希望能對新手有一定的啟發。
                                                                    jboss 4.0 JSP調用EJB的簡單例子

    jboss 4.0自動集成了Tomcat 5.0,因而它不僅僅是專業的EJB容器,同時也成了專業的JSP/servlet容器和Web服務器。

    Tomcat 5.0 被集成在 jboss的下面這個目錄中:

    JBOSS_HOME\server\default\deploy\jbossweb-tomcat50.sar

    里面提供了一個server.xmlweb.xml文件,可以對Tomcat進行一些基本設置。但JBOSS的設計者建議用戶甚至不要接觸這個目錄,更不用說修改和添加什么文件了,因為TomcatJboss是如此緊密相連,以致于所有的設置工作都可以在Jboss自己的配置文件中完成。但是我還是發現了一個地方值得修改:修改server.xml中的端口號,比如由缺省的8080端口改為4000端口,因為我發現我的“百度下吧”軟件常常占用了8080端口,而且我本來已經有了一個Tomcat 5.0

     

    這樣鍵入:

    http://localhost:4000/

    可以訪問到Jboss的歡迎頁面

     

    本文演示了JSP頁面如何在jboss 4.0中調用EJB組件。

     

    總結構:

     

    J2EE應用/
    |__EJB
    組件/(haiejb.jar)
    |  |__META-INF/
    |  |  |__ejb-jar.xml
    |  |  |__jboss.xml
    |  |__ejbs/
    |     |__HaiHome.class
    |     |__HaiClient.class
    |     |__HaiBean.class
    |__WEB
    應用/(haiejb.war)
    |  |__haiejb.jsp
    |  |__WEB-INF/
    |     |__web.xml
    |     |__jboss-web.xml
    |__META-INF/ 
       |__application.xml

     

    一、編譯java文件為EJB類文件

     

    java文件編譯:

    [假定在系統環境變量的CLASSPATH中包含了javax.ejb.*包,該包可以在以下地方找:

    JBOSS_HOME\server\default\lib\jboss-j2ee.jar

    JBOSS_HOME\client\jboss-j2ee.jar]

     

    [java源文件目錄]>:javac -classpath %classpath% -d [輸出目錄:EJB組件目錄] *.java
    HaiHome.java:
    package ejbs;

    import java.io.Serializable;
    import java.rmi.*;
    import javax.ejb.*;

    public interface HaiHome extends EJBHome {    
        HaiClient create() 
    throws RemoteException, CreateException;   
    }

    HaiClient.java:
    package ejbs;

    import javax.ejb.*;
    import java.rmi.RemoteException;
    public interface HaiClient extends EJBObject {    
        
    public String sayHai() throws RemoteException;   
    }

    haiBean.java:
    package ejbs;

    import javax.ejb.*;
    import javax.naming.*;

    public class HaiBean implements SessionBean {    

        
    public String sayHai() {        
            
    return "Hai, EJB technology!";       
        }      
        
        
    public void ejbCreate() throws EJBException {}    
        
    public void ejbRemove() throws EJBException {}    
        
    public void ejbPassivate() {}    
        
    public void ejbActivate() {}     
        
    public void setSessionContext(SessionContext sc) {}
    }

    二、創建EJB組件:

     

    haiejb.jar:(EJB組件)

    打包命令:[EJB組件目錄]>:jar cvf haiejb.jar META-INF/ ejbs/

    |__META-INF/

    |  |__ejb-jar.xml

    |  |__jboss.xml

    |__ejbs/

       |__HaiHome.class

       |__HaiClient.class

       |__HaiBean.class

    ejb-jar.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
    <ejb-jar>
        
    <description>Hai EJB instance.</description>
        
    <display-name>Hai EJB</display-name>
        
    <enterprise-beans>        
            
    <session>            
                
    <ejb-name>HaiEJB</ejb-name>            
                
    <home>ejbs.HaiHome</home>            
                
    <remote>ejbs.HaiClient</remote>            
                
    <ejb-class>ejbs.HaiBean</ejb-class>            
                
    <session-type>Stateless</session-type>            
                
    <transaction-type>Bean</transaction-type>        
            
    </session>    
        
    </enterprise-beans>
    </ejb-jar>

    jboss.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <jboss>    
        
    <enterprise-beans>        
            
    <session>            
                
    <ejb-name>HaiEJB</ejb-name>            
                
    <jndi-name>HaiEJB</jndi-name>        
            
    </session>    
        
    </enterprise-beans>
    </jboss>

    三、創建WEB應用

     

    haiejb.war:(WEB應用)

    打包命令:[WEB應用目錄]>:jar cvf haiejb.war haiejb.jsp WEB-INF/

    |__haiejb.jsp

    |__WEB-INF/

       |__web.xml

       |__jboss-web.xml

     haiejb.jsp:

    <%@ page contentType="text/html;charset=GBK" %>
    <%@ page import="ejbs.*,javax.ejb.*,javax.naming.*,javax.rmi.PortableRemoteObject,java.rmi.RemoteException" %>
    <html>
        
    <body>    
            
    <%    String message = "nothing!";       
                
    try {            
                    InitialContext ic 
    = new InitialContext();            
                    Object objRef 
    = ic.lookup("HaiEJB");            
                    HaiHome home 
    = (HaiHome) PortableRemoteObject.narrow(objRef,ejbs.HaiHome.class);            
                    HaiClient haiRemote 
    = home.create();            
                    message 
    = haiRemote.sayHai();       
                } 
    catch (RemoteException re) {
                    re.printStackTrace();       
                } 
    catch (CreateException ce) {            
                    ce.printStackTrace();       
                } 
    catch (NamingException ne) {            
                    ne.printStackTrace();       
                }    
            
    %>        
            
    <h1><%=message%></h1>
        
    </body> 
    </html>

    web.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN' 'http://java.sun.com/dtd/web-app_2_3.dtd'>
    <web-app>    
        
    <ejb-ref>        
            
    <ejb-ref-name>HaiEJB</ejb-ref-name>        
            
    <ejb-ref-type>Session</ejb-ref-type>        
            
    <home>ejbs.HaiHome</home>        
            
    <remote>ejbs.HaiClient</remote>    
        
    </ejb-ref>
    </web-app>

    jboss-web.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <jboss-web>    
        
    <ejb-ref>        
            
    <ejb-ref-name>HaiEJB</ejb-ref-name>        
            
    <jndi-name>HaiEJB</jndi-name>    
        
    </ejb-ref>
    </jboss-web>

    四、創建J2EE應用程序

     

    haiejb.ear: (J2EE應用程序)

    把上面創建的haiejb.jarhaiejb.war包拷貝到你創建的J2EE應用主目錄,新建一個META-INF目錄并在里面創建application.xml文件:

    打包命令:[J2EE應用目錄]>:jar cvf haiejb.ear haiejb.jar haiejb.war META-INF/

    |__haiejb.jar

    |__haiejb.war

    |__META-INF/

       |__application.xml

     

    application.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <application>    
        
    <display-name>HaiEJB J2EE Application</display-name>    
        
    <module>        
            
    <web>            
                
    <web-uri>haiejb.war</web-uri>            
                
    <context-root>/haiejb</context-root>        
            
    </web>    
        
    </module>    
        
    <module>        
            
    <ejb>haiejb.jar</ejb>    
        
    </module>
    </application> 

    五、部署J2EE應用:

     

     

    haiejb.ear拷貝到

    JBOSS_HOME\server\default\deploy\

    啟動jboss 4.0,注意命令行窗口中有無異常,如果有異常情況,請查看log文件:

    JBOSS_HOME\server\default\log\server.log

    從中查找分析問題所在,然后改正之,直到無異常顯示

     

    最后在瀏覽器地址欄中鍵入:

    http://localhost:8080/haiejb/haiejb.jsp

     

    結果:

     

    Hai, EJB technology! 

    祝好運!:)




    posted on 2005-10-07 16:08 Harryson 閱讀(3803) 評論(3)  編輯  收藏 所屬分類: EJBJboss

    FeedBack:
    # re: 手動部署EJB,親自體驗EJB開發流程
    2007-10-26 17:52 | xie
    太感謝你了!  回復  更多評論
      
    # re: 手動部署EJB,親自體驗EJB開發流程
    2007-10-26 17:54 | xie
    我配置EJB, 不知道配了幾次! 也不知道看了幾篇文章了!
    只有你這篇,讓我真正的配成功了!  回復  更多評論
      
    # re: 手動部署EJB,親自體驗EJB開發流程
    2007-10-26 17:54 | xie
    再謝一次!  回復  更多評論
      

    <2005年10月>
    2526272829301
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    常用鏈接

    留言簿(10)

    隨筆分類(319)

    AJAX

    Coffee House

    CSS

    Java

    JavaScript

    Open Source

    ProjectManagement

    友情Blog

    最新隨筆

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 水蜜桃视频在线观看免费播放高清 | 日本亚洲色大成网站www久久 | 在线观看亚洲电影| 亚洲高清资源在线观看| 国产成人亚洲精品影院| 国产又粗又猛又爽又黄的免费视频 | 国内免费高清在线观看| 免费国产黄网站在线观看| 黄视频在线观看免费| 亚洲国产成人AV网站| 亚洲一卡一卡二新区无人区| 亚洲精品国产福利片| 久久精品视频亚洲| 亚洲精品中文字幕乱码三区| 午夜亚洲福利在线老司机| 成人免费毛片内射美女APP | 亚洲中文字幕AV每天更新| 亚洲中字慕日产2021| 亚洲精品456在线播放| 亚洲精品线在线观看| 久久国产精品亚洲综合| 国产精品亚洲片在线| 亚洲精品无码av人在线观看| 国产亚洲精品a在线观看 | 特级做A爰片毛片免费看无码| 中文永久免费观看网站| 久久一区二区免费播放| 在线观看片免费人成视频播放| www成人免费视频| www免费黄色网| 中文字幕成人免费高清在线| 国产精品午夜免费观看网站| 精品久久久久久国产免费了| 中文字幕手机在线免费看电影 | 亚洲AV日韩AV天堂久久| 亚洲a在线视频视频| 中文字幕亚洲综合久久2| 亚洲精品美女久久久久| 中文文字幕文字幕亚洲色| 亚洲男人天堂2018av| 亚洲国产成人综合精品|