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

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

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

    浪跡天涯
    web報表設(shè)計器....
    posts - 61,comments - 71,trackbacks - 0
    JBoss 4.0自動集成了Tomcat 5.0,因而它不僅僅是專業(yè)的EJB容器,同時也成了專業(yè)的JSP/servlet容器和Web服務(wù)器。

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

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

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

      這樣鍵入:

    http://localhost:4000/

      可以訪問到Jboss的歡迎頁面

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

      總結(jié)構(gòu):

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

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

      java文件編譯:

      [假定在系統(tǒng)環(huán)境變量的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) {}
    }

      二、創(chuàng)建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>

      三、創(chuàng)建WEB應(yīng)用

      haiejb.war:(WEB應(yīng)用)

      打包命令:[WEB應(yīng)用目錄]>: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>

      四、創(chuàng)建J2EE應(yīng)用程序

      haiejb.ear: (J2EE應(yīng)用程序)

      把上面創(chuàng)建的haiejb.jar和haiejb.war包拷貝到你創(chuàng)建的J2EE應(yīng)用主目錄,新建一個META-INF目錄并在里面創(chuàng)建application.xml文件:

      打包命令:[J2EE應(yīng)用目錄]>: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應(yīng)用:

      把haiejb.ear拷貝到JBOSS_HOME\server\default\deploy\

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

    JBOSS_HOME\server\default\log\server.log

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

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

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

      結(jié)果:

      Hai, EJB technology!

      祝好運!
    posted on 2006-08-16 23:02 JJCEA 閱讀(660) 評論(1)  編輯  收藏 所屬分類: 學(xué)習(xí)日記

    FeedBack:
    # re: 如何在jboss 4.0中調(diào)用EJB組件
    2006-12-06 12:49 | 你的寶貝
    老公,你好厲害啊! 也要注意休息 !  回復(fù)  更多評論
      
    主站蜘蛛池模板: 成全高清视频免费观看| 日日狠狠久久偷偷色综合免费| 女人隐私秘视频黄www免费| 国产传媒在线观看视频免费观看| 亚洲伊人久久大香线焦| 91嫩草免费国产永久入口| 中文字幕亚洲综合久久2| 99热这里有免费国产精品| 亚洲五月激情综合图片区| 99xxoo视频在线永久免费观看| 色播亚洲视频在线观看| 99久久国产热无码精品免费| 亚洲av永久无码精品三区在线4 | 亚洲精品国产美女久久久| 99在线免费视频| 亚洲尹人九九大色香蕉网站| 24小时日本电影免费看| 亚洲一级免费毛片| 国产成人免费网站在线观看| 春意影院午夜爽爽爽免费| 亚洲精品国产品国语在线| 国产92成人精品视频免费| 亚洲老熟女五十路老熟女bbw| 亚洲 另类 无码 在线| 三级黄色免费观看| 亚洲视频在线不卡| 免费涩涩在线视频网| 无码免费又爽又高潮喷水的视频 | 国产免费69成人精品视频| 18禁免费无码无遮挡不卡网站| 亚洲永久在线观看| 亚洲人成无码网WWW| 真实国产乱子伦精品免费| 亚洲精品无码mⅴ在线观看| 久久久久亚洲av成人无码电影 | 精品一卡2卡三卡4卡免费视频| 亚洲国产精品成人综合色在线婷婷| 日本a级片免费看| 久久美女网站免费| 亚洲av色香蕉一区二区三区| 久久夜色精品国产亚洲|