﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Daily Record-随笔分类-专业-Java</title><link>http://www.blogjava.net/lizzie0510/category/16024.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 17:56:30 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 17:56:30 GMT</pubDate><ttl>60</ttl><item><title>初学J2EE</title><link>http://www.blogjava.net/lizzie0510/archive/2006/10/18/75829.html</link><dc:creator>Lizzie</dc:creator><author>Lizzie</author><pubDate>Wed, 18 Oct 2006 02:05:00 GMT</pubDate><guid>http://www.blogjava.net/lizzie0510/archive/2006/10/18/75829.html</guid><wfw:comment>http://www.blogjava.net/lizzie0510/comments/75829.html</wfw:comment><comments>http://www.blogjava.net/lizzie0510/archive/2006/10/18/75829.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lizzie0510/comments/commentRss/75829.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lizzie0510/services/trackbacks/75829.html</trackback:ping><description><![CDATA[
		<a href="http://www.jdon.com/idea/j2eebasic.htm">http://www.jdon.com/idea/j2eebasic.htm</a>
		<br />
		<br />J2EE容器分为WEB容器和EJB容器，Tomcat/Resin是Web容器；JBoss是EJB容器+Web容器等，其中Web容器直接使用Tomcat实现的。所以你开发的Web应用程序可以在上面两种容器运行，而你开发的Web+EJB应用则只可以在JBoss服务器上运行，商业产品Websphere/Weblogic等和JBoss属于同一种性质。
<p>J2EE容器也称为J2EE服务器，大部分时它们概念是一致的。<br /><br /><a href="http://www.douzhe.com/jerry/archive/archive1_cn.htm">http://www.douzhe.com/jerry/archive/archive1_cn.htm</a><br /><br /><u>容器</u>：充当中间件的角色<br /><br /><font color="#008000"><u>WEB</u></font><font color="#008000"><u>容器</u></font>：给处于其中的应用程序组件（JSP，SERVLET）提供一个环境，使JSP,SERVLET直接更容器中的环境变量接口交互，不必关注其它系统问题。主要有WEB服务器来实现。例如：TOMCAT,WEBLOGIC,WEBSPHERE等。该容器提供的接口严格遵守J2EE规范中的WEB APPLICATION 标准。我们把遵守以上标准的WEB服务器就叫做J2EE中的WEB容器。<br /><br /><font color="#008000"><u>EJB</u></font><font color="#008000"><u>容器</u></font>：Enterprise Java bean 容器。更具有行业领域特色。他提供给运行在其中的组件EJB各种管理功能。只要满足J2EE规范的EJB放入该容器，马上就会被容器进行高效率的管理。并且可以通过现成的接口来获得系统级别的服务。例如邮件服务、事务管理。<br /><br />WEB容器和EJB容器在原理上是大体相同的，更多的区别是被隔离的外界环境。WEB容器更多的是跟基于HTTP的请求打交道。而EJB容器不是。它是更多的跟数据库、其它服务打交道。但他们都是把与外界的交互实现从而减轻应用程序的负担。例如SERVLET不用关心HTTP的细节，直接引用环境变量session,request,response就行、EJB不用关心数据库连接速度、各种事务控制，直接由容器来完成。<br /><br /><u><font color="#008000">RMI/IIOP</font></u>：远程方法调用/internet对象请求中介协议，他们主要用于通过远程调用服务。例如，远程有一台计算机上运行一个程序，它提供股票分析服务，我们可以在本地计算机上实现对其直接调用。当然这是要通过一定的规范才能在异构的系统之间进行通信。RMI是Java特有的。<br /><br /><u><font color="#008000">JNDI</font></u>：Java命名目录服务。主要提供的功能是：提供一个目录系统，让其它各地的应用程序在其上面留下自己的索引，从而满足快速查找和定位分布式应用程序的功能。<br /><br /><u><font color="#008000">JMS</font></u>：Java消息服务。主要实现各个应用程序之间的通讯。包括点对点和广播。<br /><br /><u><font color="#008000">JavaMAIL</font></u>：Java邮件服务。提供邮件的存储、传输功能。他是Java编程中实现邮件功能的核心。相当MS中的EXCHANGE开发包。<br /><br /><u><font color="#008000">JTA</font></u>：Java事务服务。提供各种分布式事务服务。应用程序只需调用其提供的接口即可。<br /><br /><u><font color="#008000">JAF</font></u>：Java安全认证框架。提供一些安全控制方面的框架。让开发者通过各种部署和自定义实现自己的个性安全控制策略。<br /><br /><u><font color="#008000">EAI</font></u>：企业应用集成。是一种概念，从而牵涉到好多技术。J2EE技术是一种很好的集成实现。<br /><br /><br /><font color="#333333">EJB容器 <br />　　EJB容器用来容纳业务逻辑，并为业务逻辑截取请求。EJB容器支持EJB访问JMS、JAAS、JTA、JavaMail、JAXP、JDBC和连接器（Connector）。 <br /><br />Web容器 <br />　　Web容器截取通过HTTP、FTP、SMTP或其他协议发送的请求。Web应用容器为Servlet和JSP页面提供的资源与EJB容器提供的资源相同。 <br /><br />应用客户端容器 <br />　　客户端应用是独立的Java应用，它们在远程的独立JVM上运行（与Web容器和EJB容器所运行的JVM不同）。应用客户端容器为这些应用截取请求。 <br />　　运行在应用客户端容器上的程序非常类似于带有main()方法的Java程序，不过，程序不再由JVM控制，而是由一个容器（也就是应用客户端容器）控制。 <br />　　在应用客户端容器内运行的程序能够访问远程应用服务器上的JAXP、JDBC、JMS和JAAS资源。 <br /><br />Applet容器 <br />　　Applet容器是一个特殊的容器，它为在浏览器内运行的Java程序截取请求。Applet容器不提供任何对其他资源（比如JDBC或JMS）的访问。在Applet容器内运行的Applet必须自己直接向应用服务器请求资源（而不是把请求发送给容器，然后由容器发送请求给应用服务器）。 <br />　　对于Applet如何与EJB容器进行通信，EJB规范没有作出任何规定，但J2EE规范有这方面的规定。对于那些想要直接使用EJB的Applet，J2EE规范要求它们使用HTTP隧道。许多应用服务器提供某种形式的HTTP隧道，支持Applet直接使用EJB。</font></p><img src ="http://www.blogjava.net/lizzie0510/aggbug/75829.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lizzie0510/" target="_blank">Lizzie</a> 2006-10-18 10:05 <a href="http://www.blogjava.net/lizzie0510/archive/2006/10/18/75829.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>