动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息

本月文章推荐
.[Struts]配置第一个Struts 应用.
.使用Soap消息调用Web Servi.
.Java语言已成为手机通讯标准 微软.
.浏览带有最新JAVA技术的applet.
.Java学习第一个图形界面.
.Java究竟是什么?.
.Hibernate和Jive缓存策略的比较.
.初学者如何开发出一个高质量的J2.
.浅析Java多线程编程中的高级技术.
.Java & regex(2-3).
.Java模式设计之数据访问对象模式.
.对Java提供的两个Map进行了性能测.
.Jboss中Myfaces与Sitemesh的集成.
.Eclipse插件开发之FindBugs插件.
.java的io简单应用 选择自 Fr.
.一个奇怪的问题.
.关于线程的讲解(出自Java原著).
.Spring框架的事务管理应用分析.
.在java中实现 AutoCAD api.
.J2ME编程最佳实践之屏幕导航.

Jboss4.x下第一个EJB2.x程序

发表日期:2008-1-5 |


EJB的名声很不好,尤其在Spring框架出现以后,而EJB3似乎脱胎换骨了。而我现在学习的仍然是EJB2,原因是EJB3的书很难找。暑假时大概把《精通EJB》和《EJB》这两本书看过一下,现在想复习,加深理解,就从第一个HelloWorld开始。
 
文件结构:
 
E:.
│ build.XML
└─src
    ├─META-INF
    │      application.xml
    │      ejb-jar.xml
    │      jboss.xml
   
    ├─powerwind
    │      ClientServlet.Java
    │      Hello.java
    │      HelloBean.java
    │      HelloHome.java
   
    └─WEB-INF
            jboss-web.xml
            web.xml
 
ant文件
build.xml
<?xml version="1.0"?>
<project name="Hello" default="prepare" basedir=".">
 
    <property environment="env" />
    <property name="src.dir" value="${basedir}/src" />
    <property name="jboss.home" value="${env.JBOSS_HOME}" />
    <property name="build.dir" value="${basedir}/build" />
    <property name="classes.dir" value="${build.dir}/classes" />
    <property name="dist.dir" value="${basedir}/dist" />
 
    <path id="compile.classpath">
       <pathelement location="${classes.dir}" />
       <fileset dir="${jboss.home}/client">
           <include name="jboss-j2ee.jar" />
           <include name="javax.servlet.jar" />
           <include name="commons-httpclient.jar" />
       </fileset>
    </path>
 
    <target name="prepare">
       <mkdir dir="${classes.dir}" />
       <mkdir dir="${dist.dir}" />
       <copy todir="${build.dir}">
           <fileset dir="${src.dir}">
              <include name="WEB-INF/*.xml" />
              <include name="META-INF/*.xml" />
           </fileset>
       </copy>
    </target>
 
    <target name="clean">
       <delete dir="${build.dir}" />
       <delete dir="${dist.dir}" />
    </target>
 
    <target name="compile" depends="prepare">
       <javac srcdir="${src.dir}" destdir="${classes.dir}">
           <classpath refid="compile.classpath" />
       </javac>
    </target>
 
    <target name="jar" depends="compile">
       <jar destfile="${dist.dir}/HelloEJB.jar">
           <fileset dir="${build.dir}">
              <exclude name="META-INF/application.xml" />
              <include name="META-INF/*.xml" />
           </fileset>
           <fileset dir="${classes.dir}">
              <include name="**/*.class" />
           </fileset>
       </jar>
    </target>
 
    <target name="war" depends="jar">
       <jar destfile="${dist.dir}/HelloEJB.war">
           <fileset dir="${build.dir}">
              <include name="WEB-INF/*.xml" />
           </fileset>
       </jar>
    </target>
 
    <target name="ear" depends="war">
       <jar destfile="${dist.dir}/HelloEJB.ear">
           <fileset dir="${dist.dir}">
              <include name="HelloEJB.jar" />
              <include name="HelloEJB.war" />
           </fileset>
           <fileset dir="${build.dir}">
              <include name="META-INF/application.xml" />
           </fileset>
       </jar>
    </target>
 
    <target name="deploy" depends="ear">
       <copy file="${dist.dir}/HelloEJB.ear" overwrite="true"
           todir="${jboss.home}/server/default/deploy" />
    </target>
 
</project>
 


更多的请看:http://www.QQread.com/windows/2003/index.Html

 
java源文件
Hello.java
package powerwind;
 
import java.rmi.RemoteException;
import javax.ejb.EJBObject;
 
publicinterface Hello extends EJBObject {
    public String sayHello() throws RemoteException;
}
 
HelloHome.java
package powerwind;
 
import java.rmi.RemoteException;
import javax.ejb.CreateException;
import javax.ejb.EJBHome;
 
publicinterface HelloHome extends EJBHome {
    public Hello create() throws RemoteException, CreateException;
}
 
HelloBean.java
package powerwind;
 
import java.rmi.RemoteException;
import javax.ejb.EJBException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
 
publicclass HelloBean implements SessionBean {
 
    private SessionContext context;
 
    publicvoid ejbCreate() throws EJBException, RemoteException {
    }
    publicvoid ejbActivate() throws EJBException, RemoteException {
    }
    publicvoid ejbPassivate() throws EJBException, RemoteException {
    }
    publicvoid ejbRemove() throws EJBException, RemoteException {
    }
 
    publicvoid setSessionContext(SessionContext newContext)
           throws EJBException {
       context = newContext;
    }
 
    public String sayHello() throws EJBException {
       return"Hello from ejb";
    }
}
 
用于测试的Servlet 
ClientServlet.java
package powerwind;
 
import java.io.IOException;
import java.io.PrintWriter;
 
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
publicclass ClientServlet extends HttpServlet {
 
    publicvoid doGet(HttpServletRequest request, HttpServletResponse response)
           throws ServletException, IOException {
 
       response.setContentType("text/html");
       PrintWriter out = response.getWriter();
       String message = null;
       try {
           InitialContext ic = new InitialContext();
           Object obj = ic.lookup("HelloEJB");
           HelloHome home = (HelloHome) PortableRemoteObject.narrow(obj,
                  powerwind.HelloHome.class);
           Hello hello = home.create();
           message = hello.sayHello();
       } catch (Exception e) {
           e.printStackTrace();
       }
       out.println(message);
       out.flush();
       out.close();
    }
 
    publicvoid doPost(HttpServletRequest request, HttpServletResponse response)
           throws ServletException, IOException {
       doGet(request, response);
    }
 
}
 
 


更多的请看:http://www.qqread.com/windows/2003/index.html

 
配置文件:
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>HelloEJB,my first ejb program</description>
    <display-name>HelloEJB</display-name>
    <enterprise-beans>
       <session>
           <ejb-name>HelloEJB</ejb-name>
           <home>powerwind.HelloHome</home>
           <remote>powerwind.Hello</remote>
           <ejb-class>powerwind.HelloBean</ejb-class>
           <session-type>Stateless</session-type>
           <transaction-type>Container</transaction-type>
       </session>
    </enterprise-beans>
</ejb-jar>
 
jboss-jar
<?xml version="1.0" encoding="UTF-8"?>
<jboss>
    <enterprise-beans>
       <session>
           <ejb-name>HelloEJB</ejb-name>
           <jndi-name>HelloEJB</jndi-name>
       </session>

    </enterprise-beans>
</jboss>
 
application.xml
<?xml version="1.0"?>
<application>
    <display-name>HelloEJB J2EE Application</display-name>
    <module>
       <web>
           <web-uri>HelloEJB.war</web-uri>
           <context-root>/HelloEJB</context-root>
       </web>
    </module>
    <module>
       <ejb>HelloEJB.jar</ejb>
    </module>
</application>
 
jboss-web.xml
<?xml version="1.0"?>
<jboss-web>
    <ejb-ref>
       <ejb-ref-name>HelloEJB</ejb-ref-name>
       <jndi-name>HelloEJB</jndi-name>
    </ejb-ref>
</jboss-web>
 
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <servlet>

       <servlet-name>ClientServlet</servlet-name>
       <servlet-class>powerwind.ClientServlet</servlet-class>
    </servlet>
 
    <servlet-mapping>
       <servlet-name>ClientServlet</servlet-name>
       <url-pattern>/ClientServlet</url-pattern>
    </servlet-mapping>
 
    <ejb-ref>
       <ejb-ref-name>HelloEJB</ejb-ref-name>
       <ejb-ref-type>Session</ejb-ref-type>
       <home>powerwind.HelloHome</home>
       <remote>powerwind.Hello</remote>
    </ejb-ref>
 
</web-app>
 
输入 ant –deploy 部署,启动Jboss服务器,在浏览器地址栏输入:
http://localhost:8080/HelloEJB/ClientServlet
然后看到浏览器输出“Hello from ejb”,就是成功了。

上一篇:用Java编写的记事本程序(1) 人气:1059
下一篇:Java中数据库事务处理的实现 人气:889
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-12-4 PhpCMS2008 bulid 081203 简体中
2008-12-4 Menalto Gallery v1.5.10 多国语
2008-12-4 Phpcms2008 bulid 081203 简体中
2008-12-4 乘风多用户计数器 v3.92 (Acc)
2008-12-4 乘风多用户计数器 v3.92 (Sql)
2008-12-4 BBSxp 2008 8.0.5 SP2 Build 081
2008-12-4 ASBLOG v2.5 bulid 081118(1201)
2008-12-4 非零坊幽默短信 v3.4
2008-12-4 红茶巴士(公交)查询系统 v3.0
2008-11-29 Tencent Traveler 4.4
2008-11-29 龙卷风网络收音机 v3.0.0.0
2008-11-29 Intel Chipset Software Install
2008-11-29 TweakVI 1.0 Build 1100
2008-11-29 Opera 9.62 Build 10469
2008-11-29 MPlayer WW编译版 SVN-r28044(20
2008-11-29 NetTools网络工具v1.0.0破解版
2008-11-29 3DGallery三维体验1.1破解版
2008-11-29 SecretBook保密本v1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | OPEN参数生成器 | 弹出式窗口代码产生器 | 密码登录生成器 | 在线按钮生成器 | Meta标签生成器 | 多色彩特效字代码生成器 | 网页代码调试器 | 在线FTP登陆 | Flash取色器 | 配色代码对照表 | 配色辞典 | CSS生成器 | 广告代码 | 框架网页代码生成器 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | 在线调色板 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 元素周期表 | 健康查询 | 世界时间 | 万年历 | 二十四节气 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2009 www.knowsky.com All rights reserved | 沪ICP备05001343号