zoukankan      html  css  js  c++  java
  • 一个简单的EJB-Session Bean实例

     一个简单的EJB-Session Bean实例
           从现在开始,我也要开始学习EJB了,原来虽然有所了解,一直还没有动手操作过,现在的项目时间不紧,可以好好学习一下。具体的概念什么的我这里就不多说,因为我想如果你需要知道的话,我说还说不全,你不如去网上搜搜,多得很。
           我用的开发IDE是Jdeveloper10.1.3,个人觉得这个东西非常的好使,并不比那些诸如MyEclipse之类的差,并且是Oracle公司发出来的,界面也美观,有很多的导航,以及示例演示,如果你需要可以去ORACLE的官方网站上下载。
           本人承诺,所发表的一切示例都是经过本人测试通过,才会拿出来的,你尽可以使用,如果调试不通,请检查你是的配置是否恰当。
           有需要交流的请与我联系:http://blog.csdn.net/fenglibing
           文件列表示图如下:
    HelloWorldSession
    package test.ejb.session;
    import javax.ejb.Remote;
    /**
     * 远程接口
     */
    @Remote
    public interface HelloWorldSession {
        String sayHello(String name);
    }
    HelloWorldSessionBean
    /**
     * 示例BEAN
     */
    package test.ejb.session;
    import javax.ejb.Stateless;
    @Stateless(name = "HelloWorldSession")
    public class
    HelloWorldSessionBean implements HelloWorldSession, HelloWorldSessionLocal {
        public HelloWorldSessionBean() {
        }
        public String sayHello(String name) {
            return "Hello " + name;
        }
        public String sayHelloLocal(String name) {
            return "Hello " + name;
        }
    }
    HelloWorldSessionLocal
    package test.ejb.session;
    import javax.ejb.Local;
    /**
     * 本地接口
     */
    @Local
    public interface HelloWorldSessionLocal {
        String sayHelloLocal(String name);
    }
    HelloWorldSessionClient
    package test.ejb.client;
     
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import test.ejb.session.HelloWorldSession;
    public class HelloWorldSessionClient {
        public static void main(String [] args) {
            try {
                final Context context = getInitialContext();
                HelloWorldSession helloWorldSession = (HelloWorldSession)context.lookup("HelloWorldSession");
                // Call any of the Remote methods below to access the EJB
                // helloWorldSession.sayHello( name );
                System.out.println(helloWorldSession.sayHello("World"));
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
     
        private static Context getInitialContext() throws NamingException {
            // Get InitialContext for Embedded OC4J
            // The embedded server must be running for lookups to succeed.
            return new InitialContext();
        }
    }
    Test.jsp
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <%@ page contentType="text/html;charset=GBK"%>
    <%@ page import="javax.naming.*, java.util.Properties"%>
    <%@ page import="test.ejb.client.*"%>
    <%@ page import="test.ejb.session.*"%>
    <html>
     <head>
        <meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
        <title>TestHelloWorld</title>
     </head>
     <body>
     <%
    InitialContext ctx=new InitialContext();//取得环境
    //下面这个取得名字,我需要说明一下,有很多书上都是这样的说的:
    //如果是用的JSP的调用,因为多半是和被调用的EJB是处在同一个虚拟机上,所以用
    //”名字/local”的方式,如果是java客户端调用,就采用”名字/remote”的方式,我看的例//子也是这样的,所以我用了好久的时间来调试,因为现在我所采用的是EJB3,所以调
    //用就不加Local或者是remote,直接引用远程接口的名字就OK了
        HelloWorldSession helloWorld=(HelloWorldSession)ctx.lookup("HelloWorldSession");
        out.println(helloWorld.sayHello("World"));
        %>
     </body>
    </html>
    另外再补充一点:就是我这里不管是在JAVA客户端还是在JSP客户端,如果想调用LOCAL接口都会被报错,我现在正在找这方面的原因,希望分享。 

    再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

  • 相关阅读:
    LeetCode Find Duplicate File in System
    LeetCode 681. Next Closest Time
    LeetCode 678. Valid Parenthesis String
    LeetCode 616. Add Bold Tag in String
    LeetCode 639. Decode Ways II
    LeetCode 536. Construct Binary Tree from String
    LeetCode 539. Minimum Time Difference
    LeetCode 635. Design Log Storage System
    LeetCode Split Concatenated Strings
    LeetCode 696. Count Binary Substrings
  • 原文地址:https://www.cnblogs.com/skiwdhwhssh/p/10342238.html
Copyright © 2011-2022 走看看