当前位置:首页 » 网站资讯 » dsml是什么网站
扩展阅读
电脑无忧网络锁怎么卸载 2025-10-01 06:38:50
手机网络为啥突然用不到 2025-10-01 06:15:35

dsml是什么网站

发布时间: 2023-01-25 00:33:27

㈠ j2ee是做什么用的

  1. J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。

  2. J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的窘境。

  3. J2EE组件和“标准的” Java类的不同点在于:它被装配在一个J2EE应用中,具有固定的格式并遵守J2EE规范,由J2EE服务器对其进行管理。J2EE规范是这样定义J2EE组件的:客户端应用程序和applet是运行在客户端的组件;Java Servlet和Java Server Pages (JSP) 是运行在服务器端的Web组件;Enterprise Java Bean (EJB )组件是运行在服务器端的业务组件。

  4. j2ee包括
    1)、企业系统:系统结构
    2)、企业数据支持:XML、XML DTD、XSL、SAX、DOM、JAXP等等内容
    3)、企业通信支持:分布式对象通信、CORBA、GIOP/IIOP、IDL、JAVA IDL、 RML、 WEB服务通信等等内容
    4)、常见的企业服务:命名服务、目录服务、交易服务、web服务查找、JDNI 、CORBA名称、LDAP、 DSML、JINI、JTA 、JTS、 JMS、 JAXM 太多了。太多了。
    5)、企业web支持:web组件与服务器,通过web提供的与应用程序的交互。
    java 小服务、java服务器页面、web service等等。
    6)、企业应用程序支持:EJB
    7)、java EE 的管理、部署等等内容。

㈡ 苏轼的个人资料

苏轼(1037-1101)
字子瞻,号东坡居士,眉山 (今四川眉山县) 人。是北宋时诗坛成就卓越的大家,他既反对王安石比较急进的改革措施,也不同意司马光尽废新法,因而在新旧两党间均受排斥,仕途生涯十分坎坷。他是宋仁宗景佑三年生,嘉佑二年进士,累官至端明殿学士兼翰林侍读学士,礼部尚书。因讥讽朝政被贬任杭州通判;历徙湖州、黄州、常州。哲宗嗣位,召至京师,任中枢舍人。后又与司马光面争新法“不可尽改”而出知杭州。后又因晰宗亲政启用新党,苏轼又被一贬再贬,之贬到海南,宋徽宗登基大赦天下,苏轼北返时在常州逝世。当时为徽宗建中靖国元年,享年六十六岁。高宗朝,赐太师,谥文忠。

他的思想出入儒道,杂染佛禅,既能关注朝政民生,保持独立的见解,又能随缘自适,达观处世。宏博通达的学识才华和饱经忧患的人生体验,也玉成了苏轼诗歌体裁多样,内容广博,立意新奇,呈现出“吞五湖三江”的气象。他的一生政治讽谕诗有深刻的现实意义。

苏轼诗中数量最多,对后人影响也最大的是抒发人生感慨和歌咏自然景物的诗篇。如“大江东去,浪淘尽,千古风流人物。故垒西边,人道是:三国周郎赤壁。乱石穿空,惊涛拍岸,卷起千堆雪。江山如画,一时多少豪杰。 ----《念奴娇 赤壁怀古》”他写的绝句《题西林壁》也以富与理趣着称:“横看成岭侧成峰,远近高低各不同。 不识庐山真面目,只缘身在此山中”。总之,苏轼的诗今存 2700 多首,有着丰富多彩的风格,或雄奇奔放,或富于理趣,或简淡自然。他岁善于运用新奇形象的比喻来描绘景物,阐发哲理。尤其是长篇古诗大多博用比喻,联想无穷,语言流畅,气势奔放。他还善于幽默旷达的笔调,随时生发奇警新鲜的人生意趣,令人耳目一新。这都表现出宋诗重理趣,好议论的特征。他的诗词冲破了晚唐,五代以来词为“艳科”的旧框框。他和南宋的辛弃疾行成词坛的“苏辛”豪放词派。他的散文,书,画等成就都很高。为唐宋八大家之一。

他资禀忠爱,议论英发,历典州郡,所至皆有去思。其文章政事为天下所宗仰,盖过欧阳修为文坛领袖。轼喜交游,推奖后进不遗余力,一时知名之士皆归之如黄庭坚、秦观、晁补之、张耒,号称苏门四学士。有东坡集行世。其词集名东坡乐府,传本甚多,王鹏运四印斋覆刻景元延佑本,朱氏强村丛书编年本俱佳。

㈢ j2ee都包括什么

什么是J2EE呢?从整体上讲,J2EE是使用Java技术开发企业级应用的一种事实上的工业标准(Sun公司出于其自身利益的考虑,至今没有将Java及其相关技术纳入标准化组织的体系),它是Java技术不断适应和促进企业级应用过程中的产物。目前,Java平台有三个版本:适用于小型设备和智能卡的J2ME(Java 2 Platform Micro Edition)、适用于桌面系统的J2SE和适用于企业级应用的J2EE。Sun推出J2EE的目的是为了克服传统Client/Server模式的弊病,迎合Browser/Server架构的潮流,为应用Java技术开发服务器端应用提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。J2EE是一个标准,而不是一个现成的产品。各个平台开发商按照J2EE规范分别开发了不同的J2EE应用服务器,J2EE应用服务器是J2EE企业级应用的部署平台。由于它们都遵循了J2EE规范,因此,使用J2EE技术开发的企业级应用可以部署在各种J2EE应用服务器上。
为了推广并规范化使用J2EE架构企业级应用的体系架构,Sun同时给出了一个建议性的J2EE应用设计模型:J2EE Blueprints。J2EE Blueprints提供了实施J2EE企业级应用的体系架构、设计模式和相关的代码,通过应用J2EE Blueprints所描述的体系模型,能够部分简化架构企业级应用这项复杂的工作。J2EE Blueprints是开发人员设计和优化J2EE组件的基本原则,同时为围绕开发工作进行职能分工给出了指导性策略,以帮助应用开发设计人员合理地分配技术资源。
下面我们参照J2EE Blueprints,结合最新版的J2EE规范(J2EE 1.4),从整体上阐述如何使用J2EE架构企业级应用。
图2给出了使用J2EE架构企业级应用的体系架构。J2EE将组成一个完整企业级应用的不同部分纳入不同的容器(Container),每个容器中都包含若干组件(这些组件是需要部署在相应容器中的),同时各种组件都能使用各种J2EE Service/API。J2EE容器包括:
◆ Web容器服务器端容器,包括两种组件JSP和Servlet,JSP和Servlet都是Web服务器的功能扩展,接受Web请求,返回动态的Web页面。Web容器中的组件可使用EJB容器中的组件完成复杂的商务逻辑。
◆ EJB容器 服务器端容器,包含的组件为EJB(Enterprise JavaBeans),它是J2EE的核心之一,主要用于服务器端的商业逻辑的实现。EJB规范定义了一个开发和部署分布式商业逻辑的框架,以简化企业级应用的开发,使其较容易地具备可伸缩性、可移植性、分布式事务处理、多用户和安全性等。
◆ Applet容器客户端容器,包含的组件为Applet。Applet是嵌在浏览器中的一种轻量级客户端,一般而言,仅当使用Web页面无法充分地表现数据或应用界面的时候,才使用它。Applet是一种替代Web页面的手段,我们仅能够使用J2SE开发Applet,Applet无法使用J2EE的各种Service和API,这是为了安全性的考虑。
◆ Application Client容器 客户端容器,包含的组件为Application Client。Application Client相对Applet而言是一种较重量级的客户端,它能够使用J2EE的大多数Service和API。
通过这四个容器,J2EE能够灵活地实现前面描述的企业级应用的架构。
在View部分,J2EE提供了三种手段:Web容器中的JSP(或Servlet)、Applet和Application Client,分别能够实现面向浏览器的数据表现和面向桌面应用的数据表现。Web容器中的Servlet是实现Controller部分业务流程控制的主要手段;而EJB则主要针对Model部分的业务逻辑实现。至于与各种企业资源和企业级应用相连接,则是依靠J2EE的各种服务和API。
在J2EE的各种服务和API中,JDBC和JCA用于企业资源(各种企业信息系统和数据库等)的连接,JAX-RPC、JAXR和SAAJ则是实现Web Services和Web Services连接的基本支持。
J2EE的各种组件
我们就J2EE的各种组件、服务和API,进行更加详细的阐述,看看在开发不同类型的企业级应用时,根据各自需求和目标的不同,应当如何灵活使用并组合不同的组件和服务。
· Servlet
Servlet是Java平台上的CGI技术。Servlet在服务器端运行,动态地生成Web页面。与传统的CGI和许多其它类似CGI的技术相比,Java Servlet具有更高的效率并更容易使用。对于Servlet,重复的请求不会导致同一程序的多次转载,它是依靠线程的方式来支持并发访问的。
· JSP
JSP(Java Server Page)是一种实现普通静态HTML和动态页面输出混合编码的技术。从这一点来看,非常类似Microsoft ASP、PHP等技术。借助形式上的内容和外观表现的分离,Web页面制作的任务可以比较方便地划分给页面设计人员和程序员,并方便地通过JSP来合成。在运行时态,JSP将会被首先转换成Servlet,并以Servlet的形态编译运行,因此它的效率和功能与Servlet相比没有差别,一样具有很高的效率。
· EJB
EJB定义了一组可重用的组件:Enterprise Beans。开发人员可以利用这些组件,像搭积木一样建立分布式应用。在装配组件时,所有的Enterprise Beans都需要配置到EJB服务器(一般的Weblogic、WebSphere等J2EE应用服务器都是EJB服务器)中。EJB服务器作为容器和低层平台的桥梁管理着EJB容器,并向该容器提供访问系统服务的能力。所有的EJB实例都运行在EJB容器中。EJB容器提供了系统级的服务,控制了EJB的生命周期。EJB容器为它的开发人员代管了诸如安全性、远程连接、生命周期管理及事务管理等技术环节,简化了商业逻辑的开发。EJB中定义了三种Enterprise Beans:
◆ Session Beans
◆ Entity Beans
◆ Message-driven Beans
· JDBC
JDBC(Java Database Connectivity,Java数据库连接)API是一个标准SQL(Structured Query Language,结构化查询语言)数据库访问接口,它使数据库开发人员能够用标准Java API编写数据库应用程序。JDBC API主要用来连接数据库和直接调用SQL命令执行各种SQL语句。利用JDBC API可以执行一般的SQL语句、动态SQL语句及带IN和OUT参数的存储过程。Java中的JDBC相当与Microsoft平台中的ODBC(Open Database Connectivity)。
· JMS
JMS(Java Message Service,Java消息服务)是一组Java应用接口,它提供创建、发送、接收、读取消息的服务。JMS API定义了一组公共的应用程序接口和相应语法,使得Java应用能够和各种消息中间件进行通信,这些消息中间件包括IBM MQ-Series、Microsoft MSMQ及纯Java的SonicMQ。通过使用JMS API,开发人员无需掌握不同消息产品的使用方法,也可以使用统一的JMS API来操纵各种消息中间件。通过使用JMS,能够最大限度地提升消息应用的可移植性。 JMS既支持点对点的消息通信,也支持发布/订阅式的消息通信。
· JNDI
由于J2EE应用程序组件一般分布在不同的机器上,所以需要一种机制以便于组件客户使用者查找和引用组件及资源。在J2EE体系中,使用JNDI(Java Naming and Directory Interface)定位各种对象,这些对象包括EJB、数据库驱动、JDBC数据源及消息连接等。JNDI API为应用程序提供了一个统一的接口来完成标准的目录操作,如通过对象属性来查找和定位该对象。由于JNDI是独立于目录协议的,应用还可以使用JNDI访问各种特定的目录服务,如LDAP、NDS和DNS等。
· JTA
JTA(Java Transaction API)提供了J2EE中处理事务的标准接口,它支持事务的开始、回滚和提交。同时在一般的J2EE平台上,总提供一个JTS(Java Transaction Service)作为标准的事务处理服务,开发人员可以使用JTA来使用JTS。
· JCA
JCA(J2EE Connector Architecture)是J2EE体系架构的一部分,为开发人员提供了一套连接各种企业信息系统(EIS,包括ERP、SCM、CRM等)的体系架构,对于EIS开发商而言,它们只需要开发一套基于JCA的EIS连接适配器,开发人员就能够在任何的J2EE应用服务器中连接并使用它。基于JCA的连接适配器的实现,需要涉及J2EE中的事务管理、安全管理及连接管理等服务组件。
· JMX
JMX(Java Management Extensions)的前身是JMAPI。JMX致力于解决分布式系统管理的问题。JMX是一种应用编程接口、可扩展对象和方法的集合体,可以跨越各种异构操作系统平台、系统体系结构和网络传输协议,开发无缝集成的面向系统、网络和服务的管理应用。JMX是一个完整的网络管理应用程序开发环境,它同时提供了厂商需要收集的完整的特性清单、可生成资源清单表格、图形化的用户接口;访问SNMP的网络API;主机间远程过程调用;数据库访问方法等。
· JAAS
JAAS(Java Authentication and Authorization Service)实现了一个Java版本的标准Pluggable Authentication Mole(PAM)的框架。JAAS可用来进行用户身份的鉴定,从而能够可靠并安全地确定谁在执行Java代码。同时JAAS还能通过对用户进行授权,实现基于用户的访问控制。
· JACC
JACC(Java Authorization Service Provider Contract for Containers)在J2EE应用服务器和特定的授权认证服务器之间定义了一个连接的协约,以便将各种授权认证服务器插入到J2EE产品中去。
· JAX-RPC
通过使用JAX-RPC(Java API for XML-based RPC),已有的Java类或Java应用都能够被重新包装,并以Web Services的形式发布。JAX-RPC提供了将RPC参数(in/out)编码和解码的API,使开发人员可以方便地使用SOAP消息来完成RPC调用。同样,对于那些使用EJB(Enterprise JavaBeans)的商业应用而言,同样可以使用JAX-RPC来包装成Web服务,而这个Web Servoce的WSDL界面是与原先的EJB的方法是对应一致的。JAX-RPC为用户包装了Web服务的部署和实现,对Web服务的开发人员而言,SOAP/WSDL变得透明,这有利于加速Web服务的开发周期。
· JAXR
JAXR(Java API for XML Registries)提供了与多种类型注册服务进行交互的API。JAXR运行客户端访问与JAXR规范相兼容的Web Servcices,这里的Web Services即为注册服务。一般来说,注册服务总是以Web Services的形式运行的。JAXR支持三种注册服务类型:JAXR Pluggable Provider、Registry-specific JAXR Provider、JAXR Bridge Provider(支持UDDI Registry和ebXML Registry/Repository等)。
· SAAJ
SAAJ(SOAP with Attachemnts API for Java)是JAX-RPC的一个增强,为进行低层次的SOAP消息操纵提供了支持。
下面我们通过假设一个企业应用的J2EE实现,来了解各种组件和服务的应用。假设应用对象是计算机产品的生产商/零售商的销售系统,这个销售系统能够通过自己的网站发布产品信息,同时也能将产品目录传送给计算机产品交易市场。销售系统能够在线接受订单(来自自己的Web网站或者来自计算机产品交易市场),并随后转入内部企业管理系统进行相关的后续处理。
参见图3,这个企业应用可以这种方式架构。该企业应用的核心是产品目录管理和产品定购管理这两个业务逻辑,使用EJB加以实现,并部署在EJB容器中。由于产品目录和定购信息都需要持久化,因此使用JDBC连接数据库,并使用JTA来完成数据库存取事务。
然后使用JSP/Servlet来实现应用的Web表现:在线产品目录浏览和在线定购。为了将产品目录发送给特定的交易市场,使用JMS实现异步的基于消息的产品目录传输。为了使得更多的其它外部交易市场能够集成产品目录和定购业务,需要使用Web Services技术包装商业逻辑的实现。由于产品定购管理需要由公司内部雇员进行处理,因此需要集成公司内部的用户系统和访问控制服务以方便雇员的使用,使用JACC集成内部的访问控制服务,使用JNDI集成内部的用户目录,并使用JAAS进行访问控制。由于产品订购事务会触发后续的企业ERP系统的相关操作(包括仓储、财务、生产等),需要使用JCA连接企业ERP。
最后为了将这个应用纳入到企业整体的系统管理体系中去,使用Application Client架构了一个管理客户端(与其它企业应用管理应用部署在一台机器上),并通过JMX管理这个企业应用。

㈣ j2ee具体包括哪些东西

一、准备篇

1 什么是J2EE?它和普通的Java有什么不同?
答:J2EE全称为Java2 Platform, Enterprise Edition。
“J2EE平台本质上是一个分布式的服务器应用程序设计环境——一个Java环境,它提供了:
·宿主应用的一个运行基础框架环境。
·一套用来创建应用的Java扩展API。”(引自《J2EE服务器端高级编程》)

2 J2EE好学吗?
答:J2EE是很多技术的集合体,并且还在成长中。
你会遇到很多专有名词:比如(X)HTML,Servlet/JSP,JDBC,JMS,JNDI,EJB,XML,Web Service……。
尤其是XML和Web Service正在快速成长。幸运的是,你不需要等到学会所有技术后再开始编程。
大体上J2EE可以分成3个主要应用:Servlet/JSP,EJB,XML/Web Service 和一些支撑技术例如JDBC和JNDI。
你可以一个一个的学。

3 J2EE有什么用?
答:用来建设大型的分布式企业级应用程序。或者用更时髦的名词说就是“电子商务”应用程序。
这些企业可能大到拥有中心数据库服务器,Web服务器集群和遍布全国的办公终端,也可能小到只不过想做一个网站。

4 学J2EE有前途吗?
答:在这一市场目前只有一种技术可以和J2EE竞争,那就是Microsoft的.NET。
相对来说.NET要“新”一些而J2EE要“老”一些。
但是.NET只能用于Windows平台(Microsoft声称要开发C#在Linux上的虚拟机但是尚未兑现该诺言),
考虑到Linux的发展势头,你可以相信.NET不会一统天下。

5 据说J2EE的性能不如.NET好,是真的吗?
答:在Sun公司提供的样例程序Pet Store上,Microsoft声称不如相同的.NET程序好。
而Sun公司反驳说这一程序不能真正体现J2EE的性能,并且指责Microsoft在数据库上做了优化。
作者没有学习过.NET因而不能妄下断言。
无论如何,大型分布式程序中的性能瓶颈通常首先来自于错误的设计。

6 听你说了这么多,我想学着玩玩。
答:除非你想靠它当饭吃或者作为技术储备,否则请不要浪费你的时间。
Flash要好玩得多。计算机游戏就更加好玩了。

7 学习J2EE该怎么开始?
答:首先,下载一个J2EE服务器。其次,去java.sun.com下载J2EE的API。第三,找一本好的参考书。最后,找一个顺手的IDE。
J2EE服务器。你可以用Sun的J2EE SDK(免费),或者Weblogic(性能最好,但是太大,而且作者不推荐盗版行为),或者JBoss(免费,就是文档太少),或者JRun(开发版免费,作者用这个)。参考书作者感觉Wrox的《J2EE服务器端高级编程》不错,但是太老(作者手头的是2001年中文版)。你还需要去下载一些最新的技术资料(当然肯定是英文的)。
IDE如果你的机器配置够好(内存至少512M以上,256M或以下请勿考虑),可以用IBM的WSAD,不然就继续用Eclipse或者其他。
你也可以经常去水木清华的Java版逛逛,但是在发贴前先看看精华区里有没有你要的答案。

8 我下了一个J2EE服务器但是不会配置。
答:请认真阅读随机指导文档,不同的服务器的配置都不一样,作者爱莫能助。

9 我发现你没有提到Tomcat。
答:Tomcat只是一个Web服务器,更准确地说主要只是一个Web Container。
如果你想要学习EJB的话,Tomcat无法满足你的需要。

二、 Servlet/JSP篇

10 什么是Servlet?
答:一个Servlet是一个Java类。它处理Http(s)请求并作出响应,包括返回一个HTML页面或转交给其他URL处理。
Servlet必须运行在一个Web Container例如Tomcat中。
Servlet必须是javax.servlet.http.Http Servlet的子类,
你可以继承doGet()或者doPost()方法,两者分别对应于Http(s)中的Get请求和Post请求。

11 我怎么获得Http请求里的参数?
答:HttpRequest的getParameter()方法。例如:String paramValue = request.getParameter("paramName");

12 我怎么返回结果?
答:你可以利用相关API打开一个输出流,并向流中直接写入一个HTML页面。
但是作者完全不赞成这样做。一方面这样做会很罗嗦。
另一方面从Model-View-Controller模式(在《J2EE核心模式》中被归为Front Controller模式)的观点来看,
你应当提供一些HTML或者JSP作为视图(view),而Servlet则根据请求参数决定转到哪一个视图。
你可以利用response.sendRedirect(...)方法或request.getDispatcher(...).forward()方法来实现。

13 sendRedirect()和forward()有什么不同?
答:sendRedirect()是向浏览器发送一个redirect通知,浏览器重定向到新的URL。
而forward是在服务器端直接转到新的URL,对于浏览器是透明的。
前者浏览器的地址栏显示的是新的URL,后者浏览器的地址栏显示的是Servlet的URL。
因而当目标URL会自动刷新时,两者会造成一些差别。

14 我写了一个Servlet程序,怎么运行它?
答:开发J2EE程序有一个部署(deploy)的概念,实际上是开发——部署——运行的三部曲。
大多数服务器支持Hot deploy。你只需要在相应的Application目录(具体路径依赖于服务器)下面
建立一个符合WAR或EAR格式(参见16,17)的目录,启动服务器,就可以通过浏览器访问了。
特别的,你的Servlet的class文件应当放在/WEB-INF/classes目录中。
注意J2EE SDK不支持Hot deploy,你需要通过它的deploy tool来部署。
Tomcat只支持WAR格式。

15 EAR和WAR有什么不同?
答:EAR是一个完整的J2EE应用程序,包括Web部分和EJB部分。
WAR只是其中的Web部分。

16 EAR格式是怎样的?
答:一个EAR可以包含任意多个WAR或EJB JAR,并且包含一个META-INF的目录。
在/META-INF中包含了一个application.xml,其中描述了这个EAR包含哪些模块,以及安全性配置。
细节请看参考书。

17 WAR格式是怎样的?
答:一个WAR包含一个WEB-INF的目录,这个目录下包含classes目录,lib目录和web.xml。
/WEB-INF/classes存放按package组织的class文件,/WEB-INF/lib目录存放jar文件,
web.xml描述了很多东西,请读参考书。

18 我的普通HTML文件应当放在哪里
答:放在除了/WEB-INF以外的其他地方。

19 我访问不到servlet,甚至连HTML文件都访问不到!
答:第一你没启动服务器。第二你敲错了端口。第三你没有正确配置context-path。
第四你的服务器不支持auto reload或者你关闭了这一选项,你得重启服务器。
第五确认你没有把HTML放在/WEB-INF目录下,那是访问不到的。

20 我能访问HTML但是访问不到servlet。
答:请检查你的web.xml文件。确保你正确定义了<servlet>和<servlet-mapping>元素。
前者标识了一个servlet,后者将一个相对于context-path的URL映射到一个servlet。
在Tomcat中你可以通过/context-path/servlet/package/servletname的形式访问servlet,
但是这只是Tomcat的便捷访问方式,并不是正式规范。
细节请看参考书。

21 什么是JSP?它和Servlet有什么区别?
答:你可以将JSP当做一个可扩充的HTML来对待。
虽然在本质上JSP文件会被服务器自动翻译为相应的Servlet来执行。
可以说Servlet是面向Java程序员而JSP是面向HTML程序员的,除此之外两者功能完全等价。

㈤ 这是什么意思

好好学习虽然我也很想吃卷饼但是还有一个月了你该知道什么了进一步看好你
`(*∩_∩*)′应该是这个吧~

㈥ 什么是命名和目录服务

JNDI:命名和目录服务

主要内容
-JNDI介绍
-JNDI架构
-包结构
-JNDI上下文
-JNDI的使用
-JNDI实例
2.1 JNDI介绍
——Java命名和目录接口(Java Naming and Directory Interface,JNDI)是一组在Java应用中访问命名和
目录服务的API。命名服务将名称和对象联系起来,使得我们可以用名称访问对象。目录服务是一种命名服务,在
这种服务里,对象不但有名称,还有属性。
——命名和目录服务用于在分布式计算环境中共享资源,用户在不清楚资源具体位置的情况下,依靠这种服务机制
可以获取和使用资源。
——JNDI允许服务器按照指定的名字处置对象,远程客户机可以检索JNDI服务,获得一个对指定对象的引用。JNDI
最简单的形式就是用来查找通过Java EE 5服务器注册的资源。
命名服务
——命名服务作为一种基础设施出现在众多的计算机系统,其意义在于提供根据名称关联对象和通过对象匹配相应
名称的服务。命名服务允许你通过名称找到一个与之对应的对象。
——一个命名服务的主要功能就是把一个人类容易理解的名字映射到相应的对象。举例来说,Internet域名系统(
DNS)把机器名字(例如www.sun.com)映射到IP地址(192.9.48.5)。一个文件系统把一个文件名(例如c:/
bin/autoexec.bat)映射到一个文件句柄以便程序能够存取文件的内容。
目录服务
——目录服务是命名服务的自然扩展。两者之间的主要差别是目录服务中对象可以有属性(例如,用户有email地址),
而命名服务中对象没有属性。因此,在目录服务中,你可以根据属性搜索对象。JNDI允许你访问文件系统中的文件,
定位远程RMI注册的对象,访问象LDAP这样的目录服务,定位网络上的EJB组件。
2.2 JNDI架构
JNDI架构提供了一组标准的独立于命名系统的API,这些API构件在于命名系统有关的驱动之上。这一层有助于将应用
与实际数据源分离,而不用理会应用访问的是LDAP,RMI,DNS,还是其他的目录服务。换句话说,JNDI独立于目录服务
的具体实现,只要你有目录的服务提供接口(或驱动),你就可以使用目录服务。

Java应用程序
---------------
JNDI应用编程接口
------------------
命名和目录管理器
----------------------
服务提供者接口(SPI)
--------------------------

Weblogic JNDI树|LDAP|RMI|DNS|......

2.2 JNDI架构
JNDI提供了应用编程接口(application programming interface,API)和服务提供者接口(service provider
interface,SPI).这一点的真正含义是,要让你的应用与命名服务或目录服务交互,必须有这个服务的JNDI服务提供者,
这正是JNDI SPI发挥作用的地方。服务提供者,这正是JNDI SPI发挥作用的地方。服务提供者基本上是一组类,这些
类为各种具体的命名和目录服务实现了JNDI接口-很像JDBC驱动为各种具体的数据库系统实现了JDBC接口一样。作为

一个应用开发者,你不必操心JNDI SPI。你只需要确认你要使用的每一个命名或目录服务都有服务提供者。
2.3 包结构
——JNDI包含在Java SE平台中。要使用JNDI,您必须有JNDI的类和至少一个服务提供者。JDK 1.3及以上的版本包
含了JNDI,支持以下服务:
1.LDAP(Lightweight Directory Access Protocol)服务提供者
2.CORBA COS(Common Object Request Broker Architecture Common Object Services)命名服务提供

3.RMI(Java Remote Method Invocation)注册服务提供者
4.DNS(Domain Name System)服务提供者
2.3 包结构
更多的服务提供者可以在如下网址找到可以下载的服务提供者列表:
http://java.sun.com/procts/jndi/serviceproviders.html 特别有意思的或许是如下网址提供的Windows 注册表JNDI服务提供者:
http://cogentlogic.com/cocoon/CogentLogicCorporation/JNDI.xml 这个服务提供者使你可以访问Windows XP/2000/NT/Me/9x的windows注册表。也可以在如下网址下载JNDI/LDAP Booster Pack:
http://java.sun.com/procts/jndi/ 这个Booster Pack包含了对流行的LDAP控制的支持和扩展。它代替了与LDAP 1.2.1服务提供者捆绑在一起的booster pack。
关于控制和扩展的更多信息可以在如下网站看到: http://java.sun.com/procts/jndi/tutorial/ldap/ext/index.html
另一个有趣的服务提供者是Sun的支持DSML v2.0(Directory Service Markup Language,目录服务标记语言)的服务提供者。DSML的目的是在目录服务和XML之间架起一座桥梁。
2.3 包结构
JNDI API由5个包组成:
1、Javax.naming:包含了访问命名服务的类和接口。例如,它定义了Context接口,这是命名服务执行查询的入口。
2、Javax.naming.directory:对命名包的扩充,提供了访问目录服务的类和接口。例如,它为属性增加了新的类,提供了表示目录上下文的DirContext接口,定义了检查和更新目录对象的属性的方法。
3、Javax.naming.event:提供了对访问命名和目录服务时的时间通知的支持。例如,定义了NamingEvent类,这个类用来表示命名/目录服务产生的事件,定义了侦听NamingEvents的NamingListener接口。
4、Javax.naming.ldap:这个包提供了对LDAP 版本3扩充的操作和控制的支持,通用包javax.naming.directory没有包含这些操作和控制。
5、Javax.naming.spi:这个包提供了一个方法,通过javax.naming和有关包动态增加对访问命名和目录服务的支持。这个包是为有兴趣创建服务提供者的开发者提供的。
2.4 JNDI上下文
java.naming包中定义了Context接口,这是查询、binding/unbinding、重命名对象,以及创建和删除子上下文的核心接口。
命名服务将名称和对象联系起来。这种联系称之为绑定(binding)。一组这样的绑定称之为上下文(context),上下文提供了解析(即返回对象的查找操作)。其他操作包括:名称的绑定和取消绑定,列出绑定的名称。

lookup
最常用的操作是look()。您为lookup()提供想要查找的对象名,它返回绑定到这个名称的对象。
bindings
listBindings()返回名-对象绑定的枚举。一个绑定是一个三元组,包含绑定对象的名称、对象的类名以及对象本身。
List
list()和listBindings()类似,但它返回的名称枚举包含对象名和对象的类名。list()对于想要浏览上下文中绑定对象的信息,但不想得到实际的对象这类应用程序很有用。即使listBindings()提供所有相同的信息,但这是一个很昂贵的操作。
Name
Name是一个代表一般名称的接口,零个或多个组件的有序列表。命名系统使用这个接口定义名称,这些名称遵循名称和目录概念一节中的约定。
References
使用不同的方式保存在命名和目录服务中的对象。引用是对象的十分简单的代表。
JNDI定义了表示引用的引用类。引用包含了如何创建对象副本的信息。JNDI尝试将目录中查找到的对象应用转化成它所代表的Java对象,所以JNDI客户端有保存在目录中的是实际的Java对象这种假象。

2.5 JNDI的使用
-创建初始上下文环境
Context ctx=new InitialContext();
-JNDI对象绑定
String s=“Test String”;
ctx.bind(“Chapter2”,s);
-JNDI对象的重新绑定
ctx.rebind(“Chapter2”,s);
-删除JNDI对象
ctx.unbind(“Chapter2”);
-查找名字服务中某个对象的引用
String s=(String)ctx.lookup(“Chapter2”);

2.6 JNDI 实例
简单实例:
-将一个String对象绑定到名字“name”上,并给其赋值为JNDI Test example,然后将其输出。
-给name重新赋值为welcome to you,再将其输出。

public class JNDIDemo
{
public static void main(String[] args)
{
Context ctx=null;
Properties p=new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
p.put(Context.PROVIDER_URL,"t3://localhost:7001");
try{
ctx=new InitialContext(p);
String test="JNDI Test example";
ctx.bind("name",test);
String s=(String)ctx.lookup("name");
System.out.println(s);
String str="welcome to you ";
ctx.rebind("name",str);
s=(String)ctx.lookup("name");
System.out.println(s);
}
catch(NamingException e)
{
System.out.println(e.toString());
}
}
}

附加安全验证的实例
客户机在创建InitialContext时,通过在属性值中加入两个属性来设置用户名和密码。
Properties p=new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
p.put(Context.PROVIDER_URL,"t3://localhost:7001");
//下面的内容是为了验证用户身份而设置的
p.put(Context.SECURITY_PRINCIPAL,"maly");//用户名maly
p.put(Context.SECURITY_CREDENTIALS,"12345678");//密码12345678

END

㈦ dsml是什么专业

dsml是数据科学与机器学习专业。

DSML(Directory Services Markup Language)是LDAP目录和XML相结合的标记语言,它利用XML来定义数据内容和目录结构并将它保存在分布式目录上。

DSML的主要思想是允许XML程序员能访问LDAP目录而不必写LDAP接口或使用某些目录访问API如微软的活动目录服务接口(ADSI)。

㈧ 《万古风流苏东坡》全集 请问在什么网站阅读

http://www.guoxue.com/sushiyjiu/ds/dsml.htm
这个如何?