一个简单的EJB-Session Bean实例

EJB(企业级JavaBean)之Session Bean EJB是企业级JavaBean,是一种分布式的具体实现。EJB的企业Bean分为三种,分别是Session Bean(会话Bean)、其中有分为Stateless Session Bean(无状态会话Bean)、Statefule Session Bean(有状态会话Bean);Message Driven Bean(消息驱动Bean)、Persistence(持久化)的Entity Bean(实体Bean)。这篇主要讲解Session Bean 阅读详情
 一个简单的EJB-Session Bean实例
       从现在开始,我也要开始学习EJB了,原来虽然有所了解,一直还没有动手操作过,现在的项目时间不紧,可以好好学习一下。具体的概念什么的我这里就不多说,因为我想如果你需要知道的话,我说还说不全,你不如去网上搜搜,多得很。
       我用的开发IDE是Jdeveloper10.1.3,个人觉得这个东西非常的好使,并不比那些诸如MyEclipse之类的差,并且是Oracle公司发出来的,界面也美观,有很多的导航,以及示例演示,如果你需要可以去ORACLE的官方网站上下载。
       本人承诺,所发表的一切示例都是经过本人测试通过,才会拿出来的,你尽可以使用,如果调试不通,请检查你是的配置是否恰当。
       有需要交流的请与我联系:http://blog.youkuaiyun.com/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接口都会被报错,我现在正在找这方面的原因,希望分享。 
cuda2 but found one of them on device cuda 0 cuda2 but found one of them on device cuda 0 上面问题的重点是,不是cpu和gpu之间的常规问题,而是出现在不同gpu之间的数据。 出问题地方: model = nn.DataParallel(model, device_ids=[2,4]) 先说解决方法: 方案一: model = nn.DataParallel(model, device_ids=[0,2,4]) 前面一定要给一个0的序号,如果0被别人占了呢? 方案二: os.environ["CUDA_ 阅读详情

相关推荐

安防相机宽动态(WDR)技术解析:从原理到实战应用

本文深入解析安防相机宽动态(WDR)技术原理,对比多次曝光与DOL-WDR等实现方式,并区分硬件WDR与数字WDR(DWDR)的本质差异。文章重点阐述了WDR在逆光出入口、夜间道路监控等五大典型场景的实战应用与调参技巧,旨在帮助用户根据实际需求正确选择与配置,确保监控系统在复杂光线下清晰成像。

weixin_29191081的博客 427

【EJB】会话Bean(Session Bean)

会话bean封装了可以由客户端通过本地,远程或Web服务客户端视图以编程方式调用的业务逻辑。要访问部署在服务器上的应用程序,客户机将调用会话Bean的方法。会话bean为客户端执行工作,通过在服务器内执行业务任务来避免复杂性。

张姐姐聊编程 863

机器人运动不流畅?手把手教你用ACCSET调整ABB/FANUC点位加速度

本文针对ABB和FANUC工业机器人运动不流畅、拐角抖动、到位震颤等常见问题,提供了详细的解决方案。核心在于使用ACCSET指令(ABB)或ACC选项(FANUC)调整机器人的点位加速度与减速度参数。文章通过实战案例与系统化调试流程,手把手指导工程师优化运动性能,实现平稳、精准的机器人运动控制。

gpu4optimizer的博客 284

EJB系列(一)——Session Bean基础介绍

首先为EJB正言: 网上类似于EJB是不是过时了?EJB已经完全被Spring+hibernate轻量级框架取代的言论很多,在应用中一些大项目确实也有在使用EJB或者其他框架进行开发,在ITOO项目中既然选型使用了EJB,用就用好,所以不管以后有无相关EJB的开发机会,技术遇到一个,熟悉应用一个,这也是作为一个积极开发者需要具备的心态和自我积累的意识。 正文: J2EE企

Think In JAVA—Max 1350

【从零开始学产品经理】项目立项实战(1)——基本方案与可行性分析:基于微信小程序的记账本

主要阶段:立项-设计-开发-测试-上线-运营-总结。

Ckiyvo的博客 3210

双目视觉入门实战:用Matlab标定相机,再到Python OpenCV完成测距的完整链路

本文详细介绍了双目视觉技术的完整实现流程,从Matlab相机标定到Python OpenCV测距的全链路实践。重点解析了Matlab与OpenCV的参数转换技巧,以及立体校正、视差计算等关键步骤的代码实现,帮助开发者快速掌握双目测距系统的搭建方法。

weixin_29166013的博客 445

EJB--SessionBean

上一篇博客我们讲的是EJB中的javaBean的一些基本概念和一个EJB项目的创建,但是却没有能给大家好好的解释一些为什么我们的sessionBean要分为无状态的会话Bean和有状态的会话Bean。        我们说过这两个会话Bean的最大区别就在于EJB对他们的状态的管理,这里我们就看一下他们的区别。        在这之前我们先来创建一个客户端,来调用EJB项目新建客户端

ermuv5 1352

SAP(ERP)工艺路线(Routing)业务视角解析

工艺路线(Routing)也是PP模块,即生产制造模块中最重要核心主数据之一,也是ERP(SAP)顾问,必需从业务与系统深入掌握的重要主数据,它也是整个生产计划与生产流程的重要基础。因为执行步骤只是操作层面的认知,业务顾问需要从业务本质上去理解它,要真正从业务视角理解工艺路线的业务价值,而不仅仅是操作层面的认知。因此将工艺路线理解为“有以上业务本质的理解,然后进到SAP系统中,就容易理解工艺路线(Routing)的每一组成部分结构与功能了,本质就是理解制造企业如何将设计意图转化为物理现实的编码规则。

m0_45197968的博客 1500

EJB--Session Bean

会话Bean是运行在EJB容器中的java组件.是一个用户处理javaEE程序业务逻辑的EJB组件,主要用于编写业务逻辑.会话指的是在有限的时间周期内,客户端和服务器之间的连接.   会话持续的时间可能长也可能短.会话bean可能在调用之间维持其状态,这种情况下是有状态的.也可能是一次性调用,这种情况是无状态的.所以会话bean被分成了无状态会话bean和有状态的会话bean   会话be

厚积薄发 6510

Hermes Agent 常见报错排查与问题解决

Hermes Agent 常见报错排查指南 摘要 本文全面梳理了 Hermes Agent 使用过程中的10类常见报错,按阶段划分为安装期、运行期认证类、后端基础设施类和长任务执行类四大类,并提供了系统化的排查流程: 安装期问题:包括命令未找到和Python版本不兼容,主要检查PATH环境和Python版本是否符合要求 认证类问题:涉及API Key认证失败和速率限制,需要验证密钥配置和配额状态 基础设施问题:包含Docker报错、MCP连接失败和OAuth令牌过期,需检查相关服务状态 执行类问题:主要是上

简简单单Onlinezuozuo 1344

k8s 不同node之间pod ip不通

底层k8s使用calico网络,ipip网络模式,kubevirt启动了2台虚拟机;在这两台虚拟机上再搭建k8s,calico网络,ipip网络模式。说明:我是使用helm安装的calico,改这个模式要改crd资源ippools。其他方式安装的calico修改方法可能不一样。在虚拟机上的k8s上启动了2个pod,分布在不同的node上,这两个pod不能ping通对方的pod ip。修改虚拟机之上的k8s集群的calico网络的ipipMode为Never即可,之前使用的是Always。

weixin_40548182的博客 4056

ejb中sessionbean的见解

一。Enterprise Beans在EJB(Enterprise Java Beans)中定义了两种不同类别的Enterprise Bean :*会话 Bean (Session Bean)     *实体Bean (Entity Bean)     1. 会话 Bean (Session Bean)     会话 Bean 是调用它的客户端代码要完成的工作。当客户端与服务器建立联系,那么

zzy7075的专栏 2434

基于深度学习的目标检测在 Android 端的优化实现:YOLO Mobile × NPU 加速实战教程

随着国产手机芯片日益强大,终端侧的目标检测任务已经具备实用性基础。本文围绕实际工程场景,详细讲解如何在 Android 应用中部署轻量级目标检测模型(如 YOLO Mobile、EfficientDet Lite),并结合国产手机 NPU 能力,实现高性能、低延迟、实时目标检测系统。文章将涵盖从模型选择、结构优化、量化转换到 Android 上推理加速、UI 实时渲染的全链路工程路径,强调每一环节的真实可复现性与部署细节,适合 AI 工程师、移动开发者及企业级应用落地团队参考使用。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 1410

EJB3.0介绍系列——session bean

EJB3.0介绍系列——session bean 在前面的文章——《J2EE整个结构分析》中,我已经和大家简单的说了一下一个项目开发时的整体结构,不知道朋友们是怎么看待这个问题的,有兴趣的朋友可以和我交流。接下来我要说的是在页面逻辑层面上的EJB3.0,现在的EJB3.0和过去EJB2.0比有了一些不同,使用起来更加简单方面了,上手也没有EJB2.0那么麻烦。使用过EJB2...

weixin_33743248的博客 204

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

J2EE实践第二部分-创建一个简单的EJB Web程序(盗梦空间版)

昨天晚上和同学一起去电影院看了IMAX版的盗梦空间,晚上回家后做了个梦,竟然梦见自己做了个梦--早上醒来,才发现自己又做了一个梦中梦。这里之所以用了“又”,那是因为自己经常会做梦中梦,很有劲。呵呵,回到正题上,盗梦空间这部电影很精彩,今天仍然回味无穷,而且因为这部电影导致灵感大发,于是写了这个EJB的小例子,也就是EJB盗梦空间版。   准备: 搭建开发环境: JDK: 1.6.0 ec

Unplugged 4368

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ejb3.0学习笔记1----无状态bean开发

开发只存在Remote 接口的无状态Session Bean步骤如下:第一步:要定义一个会话Bean,首先需要定义一个包含他所有业务方法的接口。这个接口不需要任何注释,就像普通的java 接口那样定义。调用EJB的客户端通过使用这个接口引用从EJB容器得到的会话Bean对象stub。接口的定义如下:HelloWorld.javapackage com.foshanshop.ejb3;public

fogu77的专栏 1334

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Java EE状态会话Bean(EJB)示例

在本文中,我们将了解如何在简单的Web应用程序中使用状态会话Bean来跟踪客户端会话中的状态。 1.简介 有状态会话Bean通常保存有关特定客户端会话的信息,并在整个会话中保留该信息(与无状态会话Bean相对)。 有状态EJB实例仅与一个客户端耦合。 当然,一个客户端可以拥有许多EJB实例。 在此示例中,我们将创建一个简单的Shopping Cart应用程序。 会话bean将保存产品...

最佳 Java 编程 1049

EJB Session Bean

EJB Session Bean一.stateul和stateless的使用原则:1.stateul被设计用来维护代表客户机状态,表现非持久存储的对象。表现商业对象间的工作流。   一般用于以下例情况:        (1).维护特定的存储商业对象。   (2)表现非持久存储的对象。   (3)表现商业对象间的工作流。 2 stateless被设计用来提供服务器端的行为,不含特定用户资

Jimbo_King的专栏 1251

EJB3.0初步之Stateless session bean

上次我们完成了环境的搭建,最后实验了一下是否成功,估计在控制台你会看到成功的信息!哈!好了,从今天开始,我们开始进入ejb3.0的正式旅途。ejb分为三大类六小类,三大类分别是:entity bean(实体),负责和数据库的连接及ORM,也就是持久层的工作;session bean ,一般用来处理用户业务;message drive bean,用来处理异步消息。其中jboss的entity bea

Elpout的专栏: .Net or Java ? It's a problem! 2732

【EJB基础】session bean

EJB的session bean分为有状态会话Bean和无状态会话Bean,下面看看这两个有什么区别。   有状态会话Bean 能够区分不同的客户端,并分为为不同的客户端保持与其对应的状态信息。即从某个客户端角度来看,似乎EJB对象正被它独占了一样,不会因为有任何其它的客户端同时对同一个EJB访问而影响其它最终的计算结果。   举例:两个不同用户往购物车加入商品。 @Stateful

IT Girl 809

带你走进EJB--它都有哪些Bean

通过前面一系列EJB的博客,我们已经对EJB有了一个宏观的了解.为够更好的在企业项目中使用EJB,我们很有必要对EJB的一些基本内容进行深入,这次我们主要进行的主题是Enterprise Java Bean 中都有哪些Bean?          在EJB中主要有以下三种类型的Bean,分别是 Session Beans Message-Driven Beans Entities

潛龍,勿用 2789
上一篇: JBOSS,想说爱你真不容易
下一篇: 初识iBATIS
冯立彬
冯立彬 优质创作者: 编程框架技术领域 优质创作者: 编程框架技术领域
博客等级 码龄21年 5458粉丝 593原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值