用了一天的时间初次接触jboss,ejb
以下是我今天的一些经验,望和初学者一同进步
用的是jboss3.2.6。
jboss的发布方法是在deploy目录下。
如果要起all server的时候加参数 -c all
注意点:
META-INF目录下的jboss.xml
<?xml version="1.0" encoding="UTF-8"?>
<jboss>
<enterprise-beans>
<session>
<ejb-name>Hello</ejb-name>
<jndi-name>ejb/HelloEJB</jndi-name>
</session>
</enterprise-beans>
</jboss>
web.xml中
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>HelloServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<ejb-ref>
<description></description>
<ejb-ref-name>ejb/HelloEJB</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home>HelloHome</home>
<remote>Hello</remote>
<ejb-link>Hello</ejb-link>
</ejb-ref>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>/Hello</url-pattern>
</servlet-mapping>
目的是将 localhost:8080/Hello 指向HelloServlet
没有这句直接用localhost:8080/HelloServlet并没有成功!
</web-app>
jboss-web.xml中
<?xml version="1.0" encoding="ISO-8859-1"?>
<jboss-web>
<ejb-ref>
<ejb-ref-name>ejb/HelloEJB</ejb-ref-name>
<jndi-name>ejb/HelloEJB</jndi-name>
</ejb-ref>
</jboss-web>
servlet中有两种方法去调用ejb
// 通过ref-name
Object objRef = ctx.lookup("java:comp/env/ejb/HelloEJB");
// 通过jndi
Object objRef = ctx.lookup("ejb/HelloEJB");
还有ear,war就不多说了。
马上又要做新项目了,
用swt,java webstrat
可以学到新的知识。
不过外包终究学不到太多的技术,还要靠自己学习。