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

首頁 > 開發(fā) > 綜合 > 正文

手動部署EJB 親自體驗EJB開發(fā)流程

2024-07-21 02:15:07
字體:
供稿:網(wǎng)友
  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進行一些基本設(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/

  可以訪問到j(luò)boss的歡迎頁面

  本文演示了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拷貝到j(luò)boss_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!

  祝好運!

收集最實用的網(wǎng)頁特效代碼!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 久治县| 南平市| 罗城| 郁南县| 安顺市| 新郑市| 上虞市| 三门峡市| 大竹县| 永嘉县| 谢通门县| 察隅县| 澄城县| 调兵山市| 苏州市| 大足县| 永嘉县| 正宁县| 托克逊县| 湖南省| 双鸭山市| 泰兴市| 荆门市| 延边| 永城市| 商都县| 项城市| 霍邱县| 宣城市| 宝清县| 通江县| 革吉县| 洪江市| 常州市| 瓮安县| 萝北县| 兰西县| 滨海县| 沁阳市| 丰都县| 龙口市|