国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

手動部署EJB 親自體驗EJB開發流程

2019-11-18 12:33:25
字體:
來源:轉載
供稿:網友

  JBoss 4.0自動集成了Tomcat 5.0,因而它不僅僅是專業的EJB容器,同時也成了專業的jsp/servlet容器和Web服務器。
  
  Tomcat 5.0 被集成在 jboss的下面這個目錄中:JBOSS_HOME/server/default/deploy/jbossweb-tomcat50.sar
  
  里面提供了一個server.xml和web.xml文件,可以對Tomcat進行一些基本設置。但JBOSS的設計者建議用戶甚至不要接觸這個目錄,更不用說修改和添加什么文件了,因為Tomcat與Jboss是如此緊密相連,以致于所有的設置工作都可以在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.jar和haiejb.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!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东宁县| 五大连池市| 乌拉特前旗| 黔西| 城口县| 吴江市| 富源县| 四平市| 靖边县| 加查县| 黄陵县| 稷山县| 迭部县| 务川| 龙川县| 西平县| 龙陵县| 化州市| 青州市| 阿荣旗| 永寿县| 彰武县| 泰和县| 昌都县| 馆陶县| 嵩明县| 新源县| 石楼县| 汽车| 德令哈市| 顺平县| 禄丰县| 梧州市| 毕节市| 乌拉特后旗| 凤翔县| 马公市| 临城县| 上林县| 乌什县| 高雄县|