了解下JAVA的EJB数据考证呈现在甚么中央最符合
主要缺点就是:速度比较慢,没有C和C++快我们将会商数据考证逻辑应当呈现在EJB使用程序代码的甚么地位,而不是专注于考证历程(Java手艺专区的别的中央对此举行了很好的会商)。我们懂得了良多构成基于EJB手艺的使用程序的组件:底层会话bean及其营业接口;在实体bean及其客户机之间传送数据的值对象和担当Web层和营业层之间的回护层的各类委派类。考证逻辑非常合适这些组件中的任何一个。实践上,您能够在多个组件中安排考证逻辑,在全部使用程序平分条理地安排它(只管如许做是不成取的)。因而,我们在此处提出的成绩是:在EJB使用程序的甚么地位安排考证代码最有益?
数据考证的范例
要断定将考证代码安排在甚么地位,第一步是懂得您正在处置甚么范例的考证。数据格局考证确保一切数据范例(整数、浮点数、字符串等)都是准确的。它还要确认变量都在同意值的局限以内和实践的形式按预期的婚配。实质上,数据格局考证处置考证的任何方面,这些考证不必要使用特定营业划定规矩
特定于营业的考证基于一组营业划定规矩(比方,确保所供应的ISBN号与您数据库中的实践书本相婚配)。它几近老是必要对EJB层和使用程序中的别的营业逻辑组件具有会见权。
数据格局考证
断定了正在处置的考证范例以后,下一步是断定安排代码的地位。在您的EJB使用程序中,数据格局考证逻辑能够以下举行安排:
将赋值(setter)办法安排在营业委派上。
将赋值(setter)办法安排在bean的远程接口上。
将赋值(setter)办法安排在bean的动静对象或值对象上。
关于本示例,我们将假定您正在处置一个包含营业委派的EJB使用程序。假如是如许,那末您应当接纳某些步骤,确保一切的使用程序客户机(处于Web层)都在利用委派举行bean会见,而不是间接会见bean。假如的确是如许,那末您能够将一切数据考证代码都平安地安排在营业委派办法中,如清单1所示。
清单1.营业委派中的数据格局考证packagecom.ibm.library;
importjava.rmi.RemoteException;
importjava.util.Iterator;
importjava.util.List;
importjavax.ejb.CreateException;
importjavax.naming.NamingException;
publicclassLibraryDelegateimplementsILibrary{
privateILibrarylibrary;
publicLibraryDelegate(){
init();
}
publicvoidinit(){
//Lookupandobtainoursessionbean
try{
LibraryHomelibraryHome=(LibraryHome)EJBHomeFactory.getInstance().lookup(
"java:comp/env/ejb/LibraryHome",LibraryHome.class);
library=libraryHome.create();
}catch(NamingExceptione){
thrownewRuntimeException(e);
}catch(CreateExceptione){
thrownewRuntimeException(e);
}catch(RemoteExceptione){
thrownewRuntimeException(e);
}
}
//Novalidationrequiredforaccessor(getter)methods
publicbooleancheckout(Bookbook)throwsApplicationException{
//Novalidationrequiredhere;theobjecttype
//takescareofit
try{
returnlibrary.checkout(book);
}catch(RemoteExceptione){
thrownewApplicationException(e);
}
}
publicbooleancheckout(Listbooks)throwsApplicationException{
//Validatelist
for(Iteratori=books.iterator();i.hasNext();){
Objectobj=i.next();
if!(objinstanceofBook){
thrownewApplicationException(
ApplicationException.VALIDATION_ERROR,"OnlyBooksareallowedintheinputlist");
}
}
try{
returnlibrary.checkout(books);
}catch(RemoteExceptione){
thrownewApplicationException(e);
}
}
//Andsoon...
publicvoiddestroy(){
//Inthiscase,donothing
}
}
<p>
Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。Oracle收购Sun后Java前途未卜。 一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。 你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。 一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从 你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 Java是一种计算机编程语言,拥有跨平台、面向对java 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。
页:
[1]