大家好,今天来为大家解答j*a服务器高级编程这个问题的一些问题点,包括基于JNDI的应用开发也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
一、J*a软件工程师一般要上哪些课程
J*a软件工程师应学习课程大致如下:
1、软件技bai术基础、j*a基础编程、j*a语法,SQL Server 2005基础编程、C#基础编程;
2、SQL server高级编程、网页设计与制作、j*ascrit编程、j*a高级编程、j*a web开发商务网站;
3、数据库:MySql、Oracle、DB2;
4、JDBC J*a数据库连接。使用J*a程序操作数据库。这部分非常重要。几乎所有的企业项目都会用到;
5、HTML、CSS、J*a scrit。 HTML-(Hyer Text Mark-u Language)超文本标记语言。CSS-(Cascading Style Sheets)层叠样式表。 J*aScrit-是一种由Netsce的Live Scrit发展而来的脚本语言;
6、学习如何使用及管理WEB服务器,例如tomcat,并且知道如何在其基础上扩展和维护WEB程序,如何使用它的附加服务,如连接池;
7、JS、Servlet,这两个是初级J*a程序员必须掌握的基本技能,是所有B/S结构框架的基础;
8、企业流行框架:Struts、Sring、Hibernate、XML应用与开发、MVC应用与开发、Linux平台与应用;
9、UML与J*a设计模式;
10、了解在J*a项目中使用的新技术。如Ajax、j*a ee等。
二、j*a高级编程***基于JNDI的应用开发
基于JNDI的应用开发
JNDI(The J*a Naming and Directory Interface J*a命名和目录接口)是一组在J*a应用中访问命名和目录服务的API命名服务将名称和对象联系起来使得我们可以用名称访问对象目录服务是一种命名服务在这种服务里对象不但有名称还有属*
命名或目录服务使你可以集中存储共有信息这一点在网络应用中是重要的因为这使得这样的应用更协调更容易管理例如可以将打印机设置存储在目录服务中以便被与打印机有关的应用使用
本文用代码示例的方式给出了一个快速教程使你可以开始使用JNDI它
l提供了JNDI概述 l描述了JNDI的特点 l体验了一下用JNDI开发应用 l表明了如何利用JNDI访问LDAP服务器例如 Sun ONE目录服务器 l表明了如何利用JNDI访问J EE服务 l提供了示例代码你可以将其改编为自己的应用
JNDI概述
我们大家每天都不知不觉地使用了命名服务例如当你在web浏览器输入URL时 DNS(Domain Name System域名系统)将这个符号URL名转换成通讯标识(IP)命名系统中的对象可以是DNS记录中的名称应用服务器中的EJB组件(Enterprise J*aBeans Component) LDAP(Ligheight Directory Aess Protocol)中的用户Profile
目录服务是命名服务的自然扩展两者之间的关键差别是目录服务中对象可以有属*(例如用户有email)而命名服务中对象没有属*因此在目录服务中你可以根据属*搜索对象 JNDI允许你访问文件系统中的文件定位远程RMI注册的对象访问象LDAP这样的目录服务定位网络上的EJB组件
对于象LDAP客户端应用launcher类浏览器网络管理实用程序甚至薄这样的应用来说 JNDI是一个很好的选择
JNDI架构
JNDI架构提供了一组标准的独立于命名系统的API这些API构建在与命名系统有关的驱动之上这一层有助于将应用与实际数据源分离因此不管应用访问的是LDAP RMI DNS还是其他的目录服务换句话说 JNDI独立于目录服务的具体实现只要你有目录的服务提供接口(或驱动)你就可以使用目录如图所示图 JNDI架构
关于JNDI要注意的重要一点是它提供了应用编程接口(lication programming interface API)和服务提供者接口(service provider interface SPI)这一点的真正含义是要让你的应用与命名服务或目录服务交互必须有这个服务的JNDI服务提供者这正是JNDI SPI发挥作用的地方服务提供者基本上是一组类这些类为各种具体的命名和目录服务实现了JNDI接口?很象JDBC驱动为各种具体的数据库系统实现了JDBC接口一样作为一个应用开发者你不必操心JNDI SPI你只需要确认你要使用的每一个命名或目录服务都有服务提供者
J SE和JNDI
J*a SDK及以上的版本包含了JNDI对于JDK和也有一个标准的扩展 J*a SDK x的最新版本包括了几个增强和下面的命名/目录服务提供者
l LDAP(Ligheight Directory Aess Protocol)服务提供者 l CORBA COS(Common Object Request Broker Architecture Common Object Services)命名服务提供者 l RMI(J*a Remote Method Invocation)注册服务提供者 l DNS(Domain Name System)服务提供者
更多的服务提供者
可以在如下网址找到可以的服务提供者列表
特别有意思的或许是如下网址提供的Windows注册表JNDI服务提供者这个服务提供者使你可以访问Windows XP//NT/Me/ x的windows注册表
也可以在如下网址JNDI/LDAP Booster Pack这个Booster Pack包含了对流行的LDAP控制的支持和扩展它代替了与LDAP服务提供者捆绑在一起的booster pack关于控制和扩展的更多信息可以在如下网站看到另一个有趣的服务提供者是Sun的支持DSML v(Directory Service Markup Language目录服务标记语言)的服务提供者 DSML的目的是在目录服务和XML之间架起一座桥梁
JNDI API
JNDI API由个包组成
l J*ax naming包含了访问命名服务的类和接口例如它定义了Context接口这是命名服务执行查询的入口 l J*ax naming directory对命名包的扩充提供了访问目录服务的类和接口例如它为属*增加了新的类提供了表示目录上下文的DirContext接口定义了检查和更新目录对象的属*的方法 l J*ax naming event提供了对访问命名和目录服务时的时间通知的支持例如定义了NamingEvent类这个类用来表示命名/目录服务产生的事件定义了侦听NamingEvents的NamingListener接口 l J*ax naming ldap这个包提供了对LDAP版本扩充的操作和控制的支持通用包j*ax naming directory没有包含这些操作和控制 l J*ax naming spi这个包提供了一个方法通过j*ax naming和有关包动态增加对访问命名和目录服务的支持这个包是为有兴趣创建服务提供者的开发者提供的
JNDI上下文
正如在前面提到的命名服务将名称和对象联系起来这种联系称之为绑定(binding)一组这样的绑定称之为上下文(context)上下文提供了解析(即返回对象的查找操作)其他操作包括名称的绑定和取消绑定列出绑定的名称注意到一个上下文对象的名称可以绑定到有同样的命名约定的另一个上下文对象这称之为子上下文例如如果UNIX中目录/home是一个上下文那么相对于这个目录的子目录就是子上下文?例如/home/guests中guests就是home的子上下文在JNDI中上下文用接口j*ax naming Context表示这个接口是与命名服务交互的关键接口在Context(或稍后讨论的
DirContext)接口中的每一个命名方法都有两种重载形式
l Lookup(String name)接受串名 l Lookup(j*ax naming Name)接受结构名例如 CompositeName(跨越了多个命名系统的名称)或CompondName(单个命名系统中的名称)它们都实现了Name接口 Compound name的一个例子是 =mydir =Q Mahmoud ou=People posite name的一个例子是 =mydir =Q Mahmoud ou=People/myfiles/max txt(这里 myfiles/max txt是表示第二部分的文件名) J*ax naming InitialContext是实现了Context接口的类用这个类作为命名服务的入口为了创建InitialContext对象构造器以j*a util Hashtable或者是其子类(例如 Properties)的形式设置一组属*下面给出了一个例子
Hashtable env= new Hashtable()// select a service provider factory env put(Context INITIAL_CONTEXT_FACTORY sun jndi fscontext RefFSContext)// create the initial context Context contxt= new InitialContext(env)
INITIAL_CONTEXT_FACTORY指定了JNDI服务提供者中工厂类(factory class)的名称 Factory负责为其服务创建适当的InitialContext对象在上面的代码片断中为文件系统服务提供者指定了工厂类表给出了所支持的服务提供者的工厂类要注意的是文件系统服务提供者的工厂类需要从Sun公司单独 J SE x没有包含这些类
表上下文INITIAL_CONTEXT_FACTORY的值 Name Service Provider Factory File System sun jndi fscontext RefFSContextFactory LDAP sun jndi ldap LdapCtxFactory RMI sun jndi rmi registry RegistryContextFactory CORBA snaming CNCtxFactory DNS sun jndi dns DnsContextFactory
lishixinzhi/Article/program/J*a/hx/201311/26774
三、J*a高级编程有哪些知识呀
昆明的花信致远j*a重点:
*第一阶段:J*a基础,包括j*a语法,面向对象特征,常见API,集合框架;
*第二阶段:j*a界面编程,包括AWT,事件机制,SWING,这个部分也可以跳过,用的时候再看都能来及;
*第三阶段:j*a API:输入输出,多线程,网络编程,反射注解等,j*a的精华部分;
*第四阶段:数据库SQL基础,包括增删改查操作以及多表查询;
*第五阶段:JDBC编程:包括JDBC原理,JDBC连接库,JDBC API,虽然现在Hibernate比JDBC要方便许多,但是JDBC技术仍然在使用,JDBC思想尤为重要;
*第六阶段:JDBC深入理解高级特*:包括数据库连接池,存储过程,触发器,CRM思想;
*第七阶段:HTML语言学习,包括HTML标签,表单标签以及CSS,这是Web应用开发的基础;
*第八阶段:J*aScript脚本语言,包括j*aScript语法和对象,就这两个方面的内容;
*第九阶段:DOM编程,包括DOM原理,常用的DOM元素以及比较重要的DOM编程思想;
*第十阶段:Servlet开发,从此开始踏入j*a开发的重要一步,包括XML,Tomcat服务器的安装使用操作,HTTP协议简单理解,Servlet API等,这个是j*a web开发的基础。
*第十一阶段:JSP开发:JSP语法和标签,自定义标签,EL,JSTL库了解以及MVC三层架构的设计模式理念;
*第十二阶段:AJAX开发:AJAX原理,请求响应处理,AJAX开发库;
*第十三阶段:轻量级框架,三大框架之一Struts框架的学习,自此踏入j*a web开发的精华部分,包括Struts体系架构,各种组件,标签库和扩展*的学习;
*第十四阶段:Hibernate框架学习,三大框架之一,包括检索映射技术,多表查询技术,缓存技术以及*能方面的优化;
*第十五阶段:Spring框架的学习,三大框架之一,包括了IOC,AOP,DataSource,事务,SSH集成以及JPA集成;