来自:http://www.matrix.org.cn/blog/liu2liu2jdo的优点:●jdo的生命周期状态机(lifecycle state machine)是正确的用法。任何其它的o/r映射工具都应该使用jdo的生命周期或者它的子集(例如:如果不支持事务)。记住,jdo生命周期是为jdo实现服务的。大部分用户不需要了解其中很复杂的内幕。网页amber生命周期中有些图示。●persistentmanager api对如何管理jdo对象的状态有一定的优势和价值。jdo的缺点:●查询(query)支持不完全。它应该使用类似hibernate的hsql查询语言,并使用java.sql.resultset作为查询结果。●用于重载方法的字段扩展让人觉得比较混乱。最好使用类似hibernate或者ejb/cmp的方法,并重载它们。hibernate的优点:●有着正确的数据模型。以pojo为...
主题:使用java读取oracle blob字段实现上传下载作者:debu panda翻译:蔡毅(willpower,caiyi0903@hotmail.com)时间:2005-6-23在oracle这样的关系数据库中,clob和blob类型被用来存放大对象。bolb表示二进制大对象,这种数据类型通过用来保存图片,图象,视频等。clob表示字符大对象,能够存放大量基于字符的数据。jdbc定义java类型java.sql.clob 和java.sql.blob 对应数据库中的clob和blob类型。然而这两种类型并不能在实体bean中使用,因为这两个类没有被序列化(serializable)。因此我们不能在cmp实体bean中定义java.sql.clob或java.sql.blob这两种数据类型。 如果我们要使用数据库的blob字段,我们必须在实体bean中声明cmp字段为 byte[] ...
j2ee体系结构简单介绍一、j2ee提出的背景1、企业级应用框架的需求在许多企业级应用中,例如数据库连接、邮件服务、事务处理等都是一些通用企业需求模块,这些模块如果每次再开发中都由开发人员来完成的话,将会造成开发周期长和代码可靠性差等问题。于是许多大公司开发了自己的通用模块服务。这些服务性的软件系列同陈为中间件。2、为了通用必须要提出规范,不然无法达到通用在上面的需求基础之上,许多公司都开发了自己的中间件,但其与用户的沟通都各有不同,从而导致用户无法将各个公司不同的中间件组装在一块为自己服务。从而产生瓶颈。于是提出标准的概念。其实j2ee就是基于java技术的一系列标准。注:中间件的解释 中间件处在操作系统和更高一级应用程序之间。他充当的功能是:将应用程序运行环境与操作系统隔离,从而实现应用程序开发者不必为更多系统问题忧虑,而直接关注该应用程序在解决问题上的能力 。我们后面说到的容器的概念...
web tier当使用者输入http://localhost:8080/petstore/customer.do,mainservlet接收到request,转到doprocess()函数:private void doprocess(httpservletrequest request, httpservletresponse response) throws ioexception, servletexception {// set the locale of the user to default if not setif (request.getsession().getattribute(webkeys.locale) == null) { request.getsession().setattribute(webkeys.locale, defaultlocale);}try ...
图10 编译成功画面重新部署如:build deploy图11 部署成功画面现在我们可开启浏览器,依上述流程重新执行一次,当进入http://localhost:8080/petstore/index.jsp,观察ri console秀出登入页、登入失败页之url:图12 登入页、登入失败页之url从首页点选使用者帐号浏览页,ri console秀出目的页url及找出customer.do为保护页:图13 目的页url及找出customer.do为保护页第二阶段登入画面(signon.screen)可从screendefinitions_en_us.xml找出内容对应档案为signon.jsp,它源码位置在petstore_homesrcappspetstoresrcdocroot,开启它请看约53列:<waf:formname="existingcustomer...
消息驱动bean(续)使用哪个消息模型?这两种模型背后的基本原理在jms规范中。jms是用于访问现存消息系统,而提供公共api的方式出现的。在现如今的概念阶段,一些消息厂商提供了点对点模型支持,而另一些提供对发布-订阅模型支持。所以,jms需要提供支持两种模型的api才能赢得业界的广泛支持。jms 1.0.2规范部要求jms供应者支持两种模型。然而,ejb 2.0厂商需要提供对两种消息模型的支持。几乎任何事情都可用pub/sub模型完成,或用点对点完成。反之亦然。以此类推,类似于开发者的编程语言选择。理论上,能够用pascal写的应用也可以用c完成。用c++能完成的任何事情,也能用java做。在某些情形下,都有一定的选择,或者取决于对那种模型的熟悉程度罢了。在大部分情况下,模型的选择取决于模型各自不同的优点。对于发布-订阅而言,任何数目的订阅者都能监听某个topic,并都能够收到相同消息的...
消息驱动bean(续) jms是异步的jms消息的一个主要优势在于它是异步的。换句话说,jms客户能发送消息,而无需等待回复。我们来比较一下它和java rmi同步发送消息的灵活性。rmi是一种用于组装事务组件的极好选择,但在使用上很受限。每次客户调用ejb的方法时,都会因等待方法执行结果而诸塞当前线程。这种“lock-step”处理使得客户依赖于ejb服务器的可用性,从而导致了客户和ejb的紧耦合。在jms中,客户异步发送消息到目的地(topic或queue),同时其他的jms客户也能从该目的地地址接收消息。当jms客户发送消息时,它不用等待回复。因为消息发送到路由器,路由器负责将消息分发给其他的jms客户。发送消息的客户和接收消息的客户形成了松耦合,因为发送者不再依赖于接受者的可用性。rmi的这种限制使得jms成为了,用于和其他应用通讯,极为诱人的替代品。使用标...
消息驱动bean(续) jms 应用客户程序to get a better idea of how jms is used, we can create a java application whose sole purpose is receiving and processing reservation messages. we will develop a very simple jms client that simply prints a description of each ticket as it receives the messages. we'll assume that the travelagent ejb is using the textmessage to send a description of the ticket to the jms clien...
消息驱动bean(续) topicconnectionfactory 和 topic为发送jms消息,需要一个到jms供应者的连接和用于消息的目的地地址。使用jms连接工厂可以建立到jms供应者的连接。同时,使用topic对象来标识消息的目的地地址。这两者都可通过travelagent ejb的jndi enc服务获得:topicconnectionfactory factory = (topicconnectionfactory)jndicontext.lookup("java:comp/env/jms/topicfactory");topic topic = (topic)jndicontext.lookup("java:comp/env/jms/tickettopic"); 其中,jms中的topicconnectionfactory在功能上类...
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器