EJB初学日记(1)

 

今天终于还是下定决心看看EJB,看着SPRING看了两天,觉得一点头绪都没有,我不是一个讲究速成的人,但是总是感觉和它们的理念不太一样,唉,真可怜,都怪自己,初学JAVA的时候就把J2SE看得太重了.

在学习了J2SE一整年之后,发现JAVA的应用还远远没有掌握,我学习一年的结果就是刚刚对JAVA有所了解而已,回首这一年的路,挺艰难的,但是现在以一个过来人的姿态去看的时候,我又学得很庆幸.因为我没有放弃,在我学习条件最艰苦的时候,在我最无助的时候我都没有放弃.曾经记得为了想一个小小的程序,为了实现一个小小的功能,在那里苦思冥想,想得都想吐了,还记得半夜从梦中醒来的时候,脑子里满是程序代码,甚至做梦的时候也在编程序,想算法.就这样,一年,我磕磕碰碰的走过来了.

一年后的今天,我将重新站在一个全新的起点上:J2EE,面全企业的应用,希望以后心态能像一年前一样.踏踏实实地走过.一步一个脚印.记得一年前,我刚学JAVA时,喜欢写学习日记,喜欢把自己不懂的,以及当天收获的,还有对一些程序的理解和看法记下来,并且过一段时间就去看以前写的学习日记,那时候经常会发现自己有所进步.那种感觉,真的很好.

今天算我第一天,我下面把我今天所看到的,写下来,以及自己不太了解的地方写下来,做为一个初学者最真实的心理反应和想法,也为自己J2EE之路留下些纪念.

今天下载了黎活明的EJB3.0实例教程,学了如何装JBoss4.0,第一次我下载的是免安装版,直接解压缩就可以用了,但是一直都配置不好那个EJB的应用,后来,删掉重新按照书上的地址下载了一个安装版的,并按照介始的顺序和方法安装了一遍,一布署,呵,真的可以了.看到网页打开的一霎那,真的感觉很有成就感,虽然应用都是别人写的.

由于此书用的IDE是Eclipse,可是我用的IDE是NetBeans,所以有些地方就实践不了了,但是能实践的,我都尽量会去实践一下,哪怕是抄代码,我也会亲手抄一遍.我觉得这对我们初学者来说有很大的帮助.

今天学的是会话BEAN,有状态会话BEAN和无状态会话BEAN
声明接口的代码

 

/*   
 * HelloWorld.java   
 *   
 * Created on 2006年12月7日, 下午9:26   
 *   
 * To change this template, choose Tools | Template Manager   
 * and open the template in the editor.   
 
*/   
   
package lbf.demo;    
   
/**   
 *   
 * 
@author lbf   
 
*/   
public interface HelloWorld {    
        
    
/** Creates a new instance of HelloWorld */   
    
public String sayHello(String who);    
        
}   

实现接口的代码

/*   
 * HelloWorldBean.java   
 *   
 * Created on 2006年12月7日, 下午9:27   
 *   
 * To change this template, choose Tools | Template Manager   
 * and open the template in the editor.   
 
*/   
   
package lbf.demo.impl;    
   
/**   
 *   
 * 
@author lbf   
 
*/   
import lbf.demo.*;    
import javax.ejb.*;    
@Stateless   
@Remote({HelloWorld.
class})   //表示是远程调用 
public class HelloWorldBean implements HelloWorld {    
        
    
/** Creates a new instance of HelloWorldBean */   
    
public HelloWorldBean() {    
    }    
    
public String sayHello(String who){    
        
return who+"说:这是我的第一个EJB东东!!";    
    }    
}    

打包成JAR文件以后,放到JBOSS_HOME/server/all/deploy下面就可以了,JBOSS支持热布置,这一点和TOMCAT一样

只是两者的目录结构有一点不一样而已,并且它也支持WAR布署.同样也是复制到JBOSS_HOME/server/all/deploy下面

用ctx.lookup("HelloWorldBean/remote"); 来查找绑定的BEAN,一般命名规则是

在这里我要重点说明一下EJB JNDI名称默认的命名规则,命名规则如下:
1> 如果EJB应用打包成后缀为*.ear 的发布文件,默认的 JNDI 名称是
访问本地接口:EAR-FILE-BASE-NAME/EJB-CLASS-NAME/local
访问远程接口:EAR-FILE-BASE-NAME/EJB-CLASS-NAME/remote
例:如果HelloWorld应用打包成HelloWorld.ear 文件,访问她远程接口的 JNDI 名是:
HelloWorld/HelloWorldBean/remote 
 
2> 如果EJB应用打包成后缀为*.jar 的发布文件,  默认的 JNDI 名称是
访问本地接口:EJB-CLASS-NAME/local 
访问远程接口:EJB-CLASS-NAME/remote
例: HelloWorld应用打包成HelloWorld.jar 文件,访问她远程接口的 JNDI名称是:HelloWorldBean/remote
另外有一点要注意:EJB-CLASS-NAME 是不带包名的,如 com.foshanshop.ejb3.impl.HelloWorldBean只需取
HelloWorldBean。
目前网上很多教材获取JNDI名的方式都过时了,如:
HelloWorld helloworld = (HelloWorld) ctx.lookup(HelloWorld.class.getName());

stateless每次查找都会返回同一个BEAN,而stateful每次查找都会产生一个新的BEAN,用来保存特定的客户会话

那按照上面的命名规则,岂不是很容易生成相同的名字的BEAN?因为它的名字那么短,如何避免这种情况呢.EJB应该有解决的办法吧.看以后吧

希望以后的日记中能搞清楚这个问题

EJB完整项目-经典例子 EJB基本技术,内有详细代码和注解,教你如何玩转EJB。 立即下载

相关推荐

博科的SAN交换机基本操作

2、添加用户testuser赋予user权限可以访问1-128VF默认VF为128账号描述"Test user"密码为password123。1、创建zone别名(100是指当前设备Domain ID,1和2是指对应的index号)2,删除新接入设备的ZONE或保持ZONE配置一致。3、将zone添加到当前生效的CFG中。2、将zone添加到当前生效的CFG中。3、将zone添加到当前生效的CFG中。3,将添加的级联端口持续关闭。4、将当前zone生效。4、将当前zone生效。1、查看当前所有用户。

chenjunokok的博客 1837

J2EE快速入门之集合框架【03】

目录 一、Map集合 1、HashMap 1)特点 2)遍历方式 3)HashMap与Hashtable之间的区别 2、TreeMap 1)以键排序 2)以值排序

m0_67768699的博客 209

Solidworks曲面建模学习(二)——3D草图

本文主要是演示有一些零件在solidworks中通过3D草来绘制会更加方便。

东东不熬夜的博客 9503

Spring5学习笔记 — IOC

轻量级体现在哪里?对运行环境没有额外要求代码移植性高,不需要实现额外接口。JavaEE解决方案:1. 工厂模式2. 代理模式3. 模板模式4. 策略模式1.广义概念:面向对象设计中,解决特定问题的经典代码。

分享思想,留下痕迹。 776

【侯俊霞全网最全收集--PLC1200/200SMART(88+93课时) 第1章】

第1章:零基础快速入门西门子S7-1200

问就ycy的博客 2037

鼎捷T100二次开发实战:如何给开窗功能加上权限锁(附完整代码)

本文详细解析了鼎捷T100二次开发中开窗功能权限锁的实现方法,提供了两种技术方案:开窗程序重构法和动态WHERE条件注入法,并附上完整代码示例。通过真实案例,帮助开发者解决数据权限细粒度控制的难题,提升ERP系统的安全性和实用性。

weixin_28454475的博客 442

MySQL字段类型

1经典:https://www.cnblogs.com/jennyyin/p/7895010.html#undefined 2 https://baike.baidu.com/item/mySQL/471251?fr=aladdin 3与其他的大型数据库,例如Oracle、DB2、SQL Server等相比,MySQL[1]自有它的不足之处,但是这丝毫也没有减...

weixin_30408675的博客 338

SimSwap复现指引及代码分析【2023有更新】

我的环境!!!😚😚😚 之后会遇到:还会遇到至此环境配置完毕!下面是所需要的checkpoint。至此环境准备结束。先试试环境是否有问题,图片是代码包中给的。我用的是512的checkpoint,无水印,a是源脸,b是目标脸。输出到./output/result_whole_swapsingle.jpg 如图是可以成功换脸的:(为了方便查看将图像裁剪到了128x128) 表示图像预处理,相应的改为也是一样。不加就是对已经面部对齐的图像进行简单的面部交换。 加上就是无水印。 交换一张图片中的所有面孔。

zik的博客 2047

J2EE初学

今天终于还是下定决心看看EJB,看着SPRING看了两天,觉得一点头绪都没有,我不是一个讲究速成的人,但是总是感觉和它们的理念不太一样,唉,真可怜,都怪自己,初学JAVA的时候就把J2SE看得太重了. 在学习了J2SE一整年之后,发现JAVA的应用还远远没有掌握,我学习一年的结果就是刚刚对JAVA有所了解而已,回首这一年的路,挺艰难的,但是现在以一个过来人的姿态去看的时候,我又学得很庆幸.因为我没...

千里冰封 161

京东/淘宝商品评论情感分析:基于Python的大规模评论爬取与NLP情感分析实战

在当今电商蓬勃发展的时代,用户评论已成为影响消费者购买决策的关键因素。本文将详细介绍如何使用Python最新技术栈爬取京东和淘宝商品评论,并运用先进的自然语言处理技术对评论进行情感分析,识别用户的好评与差评倾向。通过完整的代码实现和深入的技术解析,帮助读者掌握从数据采集到情感分析的全流程。本文详细介绍了如何使用Python最新技术栈实现京东和淘宝商品评论的爬取与情感分析。通过结合异步爬虫、反爬策略、BERT情感分析等先进技术,我们构建了一个完整的评论分析系统。高效爬取。

2201_76125261的博客 1402

基于simulink的自动紧急制动系统(AEB)的功能验证

本文手把手指导使用Simulink构建自动紧急制动系统(AEB)模型,通过五个关键步骤完成功能验证:1)搭建车辆动力学模型;2)设计雷达传感器模型;3)开发基于碰撞时间(TTC)的决策逻辑;4)设计标准化测试场景;5)进行仿真分析。重点讲解了AEB的多级触发机制(预警、辅助制动、自动制动)和核心指标验证方法,包括制动时机判断、减速度性能等。通过典型场景仿真,展示了AEB如何在2.5秒TTC触发预警,1.2秒TTC启动自动制动,有效避免碰撞。文章还展望了行人AEB、传感器融合等进阶研究方向,为自动驾驶安全系统

amy_mhd的博客 267

EJB初学日记(3)

2007年10月10日 07:10:00 今天主要是看了一下拦截器的实现,在EJB3.0里面,实现拦截非常简单.加一个注释就可以了,这样就可以随时监视某个方法的调用了,拦截器可以是拦截某一个方法也可以是拦截一个类的所有方法的.具体如下 首先写一个拦截器方法,拦截器方法并不需要实现什么接口,只要符合一定的规范就可以了,规范是: Object xxxxx(InvocationContext

秦梦瑶的专栏 339

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

EJB初学日记(2)

其实在学习EJB之前,就听说过EJB,有人说他很复杂,也有人说一般般而已,但是几乎所有的人都说EJB3.0确实是简单了许多. 一般讲起JAVA EE,一般人都认为是应用在网页里面的,甚至有人把JAVA EE和JSP等同起来,要知道,JAVA EE是一个很庞大的结构,而JSP只是里面一部份中的一部份而已. 今天我就把JAVA EE的EJB应用到JAVA SE中看一看,在JBOSS里面布署好EJB,...

千里冰封 145

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

EJB初学日记(4)

2007年10月10日 07:09:00 关于session bean的一些问题 EJB里面,session bean是占了挺重要的地位的,一些重要的事情都是交给session bean来处理的session BEAN一般用于操作一些对外的方法,供客户调用.会话BEAN分两种,一种 是有状态的会话BEAN,一种 是无状态的会话BEAN,它们有什么不同呢?有状态的会话BEAN,会记录每一个调

秦梦瑶的专栏 469

EJB初学日记(6)

2007年10月10日 07:08:00 实体BEAN的关联 今天自己写了一个例子,有关实体BEAN的关联问题,我写的这个例子是一对多的情况,一是人,多是狗,一个人可以养多条狗,每条狗都必须有一个主 人,在删除主人的时候,狗就没有存在的必要了,所以狗也要跟着删除,可是删除狗的时候,主人却可以在.一开始我实现的时候,删除狗的操作是错误的,我以为 直接把Person里面的Dog删掉,然后更新

秦梦瑶的专栏 406

EJB初学日记(5)

以前看到一本书上写的,有关定义实体BEAN的一些细节,直到今天才知道其中的差别 代码1: /*     * Test.java     *     * Created on 2006年12月15日, 上午12:06     *     * To change this template, choose Tools | Template Manager     * and open the te...

千里冰封 139

Java日记(1) 一. 认识Java

Java日记(1)Date:2004-2-25标题:初涉Java注:出水奇芭问有源,E网情深觅仙踪。一.     认识JavaJava的由来和发展历程这里不再累述,顺便找本Java方面的书籍都会有介绍。Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标

brightsome的专栏 932

@Id字段映射和方法映射

http://www.blogjava.net/hadeslee/archive/2007/09/11/144275.html EJB初学日记(5) 以前看到一本书上写的,有关定义实体BEAN的一些细节,直到今天才知道其中的差别 代码1: /* * Test.java * * Created on 2006年12月15日, 上午12:06 * ...

weixin_30455661的博客 462
上一篇: 作一个真正合格的程序员
下一篇: EJB初学日记(2)
hadeslbf
博客等级 码龄20年 1粉丝 0原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值