|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你说是sun公司对她研究的透还是微软?针对自己工具开发的.net性能上肯定会站上风的。 JBoss4.0主动集成了Tomcat5.0,因此它不单单是专业的EJB容器,同时同样成了专业的JSP/servlet容器和Web服务器。
Tomcat5.0被集成在jboss的上面这个目次中:
JBOSS_HOMEserverdefaultdeployjbossweb-tomcat50.sar
内里供应了一个server.xml和web.xml文件,能够对Tomcat举行一些基础设置。但JBOSS的计划者倡议用户乃至不要打仗这个目次,更不必说修正和增加甚么文件了,由于Tomcat与Jboss是云云严密相连,乃至于一切的设置事情都能够在Jboss本人的设置文件中完成。可是我仍是发明了一个中央值得修正:修正server.xml中的端标语,好比由缺省的8080端口改成4000端口,由于我发明我的“百度下吧”软件经常占用了8080端口,并且我原本已有了一个Tomcat5.0。
如许键进:
http://localhost:4000/
能够会见到Jboss的接待页面
本文演示了JSP页面怎样在jboss4.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
1、编译java文件为EJB类文件
java文件编译:
[假定在体系情况变量的CLASSPATH中包括了javax.ejb.*包,该包能够在以下中央找:
JBOSS_HOMEserverdefaultlibjboss-j2ee.jar
JBOSS_HOMEclientjboss-j2ee.jar]
[java源文件目次]>:javac-classpath%classpath%-d[输入目次:EJB组件目次]*.java
HaiHome.java:
packageejbs;
importjava.io.Serializable;
importjava.rmi.*;
importjavax.ejb.*;
publicinterfaceHaiHomeextendsEJBHome{
HaiClientcreate()throwsRemoteException,CreateException;
}
HaiClient.java:
packageejbs;
importjavax.ejb.*;
importjava.rmi.RemoteException;
publicinterfaceHaiClientextendsEJBObject{
publicStringsayHai()throwsRemoteException;
}
haiBean.java:
packageejbs;
importjavax.ejb.*;
importjavax.naming.*;
publicclassHaiBeanimplementsSessionBean{
publicStringsayHai(){
return"Hai,EJBtechnology!";
}
publicvoidejbCreate()throwsEJBException{}
publicvoidejbRemove()throwsEJBException{}
publicvoidejbPassivate(){}
publicvoidejbActivate(){}
publicvoidsetSessionContext(SessionContextsc){}
}
2、创立EJB组件:
haiejb.jar:(EJB组件)
打包命令:[EJB组件目次]>:jarcvfhaiejb.jarMETA-INF/ejbs/
|__META-INF/
||__ejb-jar.xml
||__jboss.xml
|__ejbs/
|__HaiHome.class
|__HaiClient.class
|__HaiBean.class
ejb-jar.xml:
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEejb-jarPUBLIC’-//SunMicrosystems,Inc.//DTDEnterpriseJavaBeans2.0//EN’’http://java.sun.com/dtd/ejb-jar_2_0.dtd’>
<ejb-jar>
<description>HaiEJBinstance.</description>
<display-name>HaiEJB</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:
<?xmlversion="1.0"encoding="UTF-8"?>
<jboss>
<enterprise-beans>
<session>
<ejb-name>HaiEJB</ejb-name>
<jndi-name>HaiEJB</jndi-name>
</session>
</enterprise-beans>
</jboss>
3、创立WEB使用
haiejb.war:(WEB使用)
打包命令:[WEB使用目次]>:jarcvfhaiejb.warhaiejb.jspWEB-INF/
|__haiejb.jsp
|__WEB-INF/
|__web.xml
|__jboss-web.xml
haiejb.jsp:
<%@pagecontentType="text/html;charset=GBK"%>
<%@pageimport="ejbs.*,javax.ejb.*,javax.naming.*,javax.rmi.PortableRemoteObject,java.rmi.RemoteException"%>
<html>
<body>
<%Stringmessage="nothing!";
try{
InitialContextic=newInitialContext();
ObjectobjRef=ic.lookup("HaiEJB");
HaiHomehome=(HaiHome)PortableRemoteObject.narrow(objRef,ejbs.HaiHome.class);
HaiClienthaiRemote=home.create();
message=haiRemote.sayHai();
}catch(RemoteExceptionre){
re.printStackTrace();
}catch(CreateExceptionce){
ce.printStackTrace();
}catch(NamingExceptionne){
ne.printStackTrace();
}
%>
<h1><%=message%></h1>
</body>
</html>
web.xml:
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEweb-appPUBLIC’-//SunMicrosystems,Inc.//DTDWebApplication2.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:
<?xmlversion="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>
4、创立J2EE使用程序
haiejb.ear:(J2EE使用程序)
把下面创立的haiejb.jar和haiejb.war包拷贝到你创立的J2EE使用主目次,新建一个META-INF目次并在内里创立application.xml文件:
打包命令:[J2EE使用目次]>:jarcvfhaiejb.earhaiejb.jarhaiejb.warMETA-INF/
|__haiejb.jar
|__haiejb.war
|__META-INF/
|__application.xml
application.xml:
<?xmlversion="1.0"encoding="UTF-8"?>
<application>
<display-name>HaiEJBJ2EEApplication</display-name>
<module>
<web>
<web-uri>haiejb.war</web-uri>
<context-root>/haiejb</context-root>
</web>
</module>
<module>
<ejb>haiejb.jar</ejb>
</module>
</application>
5、部署J2EE使用:
把haiejb.ear拷贝到JBOSS_HOMEserverdefaultdeploy
启动jboss4.0,注重命令行窗口中有没有非常,假如有非常情形,请检察log文件:
JBOSS_HOMEserverdefaultlogserver.log
从中查找剖析成绩地点,然后更正之,直到无非常显现
最初在扫瞄器地点栏中键进:
http://localhost:8080/haiejb/haiejb.jsp
了局:
Hai,EJBtechnology!
祝好运!
最后就是我对java的几点希望:首先是IDE工具,有人说java已经很好了,有jbuilder,eclipse,netBeans等等,但是我认为如果java想超越.net,那么他首先要解决的就是IDE工具的整合。 |
|