1. 首页 > 文章分类 > 生活百态

什么是j2ee(j2ee是什么,包括哪些技术)

什么是J2EE

J2EE可以说指Java在数据库信息系统上实现,数据库信息系统从早期的dBase、到Delphi/VB等C/S结构,发展到B/S(Browser浏览器/Server服务器)结构,而J2EE主要是指B/S结构的实现。 J2EE又是一种框架和标准,框架类似API、库的概念,但是要超出它们。 J2EE是一个虚的大的概念,J2EE标准主要有三种子技术标准:WEB技术、EJB技术和JMS,谈到J2EE应该说最终要落实到这三个子概念上。这三种技术的每个技术在应用时都涉及两个部分:容器部分和应用部分,Web容器也是指Jsp/Servlet容器,你如果要开发一个Web应用,无论是编译或运行,都必须要有Jsp/Servlet库或API支持(除了JDK/J2SE以外)。 J2EE应用系统开发工具有很多:如JBuilder、Eclipse等,这姿培些IDE首先是Java开发工具,也就是说,它们首要基本功能是可以开发出JavaBeans或Java class,但是如果要开发出J2EE系统,就要落实到要么是Web技术或宴槐EJB技术,那么就有可能要一些专门模块功能,最重要的是,因为J2EE系统区分为容器和应用两个部分,所以,在任何开发工具中开发J2EE都需要指定J2EE容器。 J2EE容器分为WEB容器和EJB容器,Tomcat/Resin是Web容器;JBoss是EJB容器+Web容器等,其中Web容器直接使用Tomcat实现的。所以你开发的Web应用程序可以在上面两种容器运行,而你开发的Web+EJB应用则只可以在JBoss服务器上运行,商业产品Websphere/Weblogic等和JBoss属于同一种性质。 J2EE容器也称为J2EE服务器,大部分时它们概念是一致的。衡量J2EE应用系统设计开发水平高低的标准就是:解耦性;你的应用系统各个功能是否能够彻底脱离?是否不相互依赖,也只有这样,才能体现可维护性、可拓展性的软件设计目标。为了达到这个目的,诞生各种框架概念,J2EE框架标准将一个系统划分为WEB和EJB主要部分,当然我们有时不是以这个具体技术区分,而是从设计上抽象为表现层、服务层和持久层,这三个层次从一个高度将J2EE分离开来,实现解耦目的。因此,我们实际编程中,也要将自己的功能向这三个层次上靠,做到大方向清楚,迹祥唯泾渭分明,但是没有技术上约束限制要做到这点是很不容易的,因此我们还是必须借助J2EE具体技术来实现,这时,你可以使用EJB规范实现服务层和持久层,Web技术实现表现层; J2EE开发三件宝: Domain Model(域建模)、patterns(模式)和framework(框架)。从整体上讲,J2EE是使用Java技术开发企业级应用的一种事实上的工业标准(Sun公司出于其自身利益的考虑,至今没有将Java及其相关技术纳入标准化组织的体系),它是Java技术不断适应和促进企业级应用过程中的产物。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是什么意思啊

j2ee也叫 javaee是企业标准版主要用于网页后台一些逻辑判断数据传输。Java EE是 J2EE的一个新的名称,之所以改名,目的还是让大家清楚J2EE只是Java企业应用。

在2004年底中国软件技术大会Ioc微容器(也就是Jdon框架的实现原理)演讲中指出:

我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(帆宏嫌中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。

扩展资料:

核心优势:

J2EE容易让初学者误解是独立于一套Java的技术方案。

从更深层次来看,Java诞生十年,多年前的业务组件还可以使用,软件应用不再由于语言的更迭革命带来毁灭的打击了。

当然,Java EE 5重要改变还是:Java EE不再象以前那样只注重大型商业系统的开发,而是更关注小到中型系统的开发,简化这部分系统开发步骤。

落实这一简化行动的最大特征是在Java 5.0(Java 1.5)中加入Annotations,通过Annotations引入,降低Java EE开发时,既要写code,又要写XML配置文件之苦。

来回照顾,疲于奔命,Annotations既是得益于C++语言,也是从开源项目xDoclet实践中获得经验。

但是Annotations是态手一把双刃剑,初学者用得不好,将会使得原本在XML中的Hard code(硬编码)写绝贺进入代码Annotations,破坏代码的简洁和灵活性,

当然,Annotations的引入不只是解决XML配置,从大的概念说,是解决一个资源注射问题(XML属于其中一个资源),在原理J2EE中,容器管理的资源都是由JNDI向应用程序提供的,通过Annotations可以方便实现注射。

参考资料:

百度百科-JavaEE

什么是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下载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的()方法。例如:String paramValue= request.("paramName");

12我怎么返回结果?

答:你可以利用相关API打开一个输出流,并向流中直接写入一个HTML页面。

但是作者完全不赞成这样做。一方面这样做会很罗嗦。

另一方面从Model-View-Controller模式(在《J2EE核心模式》中被归为Front Controller模式)的观点来看,

你应当提供一些HTML或者JSP作为视图(view),而Servlet则根据请求参数决定转到哪一个视图。

你可以利用response.(...)方法或request.(...).forward()方法来实现。

13()和forward()有什么不同?

什么是j2ee(j2ee是什么,包括哪些技术)(图1)

答:()是向浏览器发送一个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,后者将一个相对于context-path的URL映射到一个servlet。

在Tomcat中你可以通过/context-path/servlet/package/servletname的形式访问servlet,

但是这只是Tomcat的便捷访问方式,并不是正式规范。

细节请看参考书。

21什么是JSP?它和Servlet有什么区别?

答:你可以将JSP当做一个可扩充的HTML来对待。

虽然在本质上JSP文件会被服务器自动翻译为相应的Servlet来执行。

可以说Servlet是面向Java程序员而JSP是面向HTML程序员的,除此之外两者功能完全等价。

什么是J2EE标准

简单介绍一下j2ee的13个规范,以下来自于网络。

1、JDBC(java Database Connectivity):

JDBC API为访问不同的数据库提供了一种统一的途径,就像ODBC一样,JDBC对开发者屏蔽了一些细节问题,同时,JDBC对数据库的访问也具有平台无关性。

2、JNDI(Java Name and Directory Interface):

JNDI API被用于执行名字和目录服务。它提供了一致的模型用来存取和操作企业级的资源如DNS和LDAP,本地文件系统,或应用服务器中的对象。

3、EJB(Enterprise JavaBean):

J2ee技术局世之所以赢得全体广泛重视的原因之一就是EJB,他们提供了一个框架开发和实施分布式商务逻辑,由此很显著简化了具有可伸缩性和高度复杂的企业级应用开发。EJB规范定义了EJB组件何时如何与他们的容器继续拧交互作用。容器负责提供公用的服务,例如目录服务、事务管理、安全性、资源缓冲池以及容错性。但是注意的是,EJB并不是J2EE的唯一途径。正是由于EJB的开放性,使得有的厂商能够以一种和EJB平行的方式来达到同样的目的。

4、RMI(RemoteMethod Invoke):remote(遥远的) invoke(调用):

正如其名字所表示的那样,RMI协议调用远程对象上方法。它使用了锋腊坦序列化方式在客户端和服务器端传递数据。RMI是一种被EJB使用的更底层的协议。

5、Java IDL(接口定义语言)/CORBA:公共对象请求代理结构(Common Object Request Breaker Architecture):

在java IDL的支持下,开发人员可以将Java和CORBA集成在一起。他们可以创建Java对象并使之可以在CORBA ORB中展开,或者他们还可以创建Java类并做为和其他ORB一起展开的CORBA对象客户。后一种方法提供了另外一种途径,通过它可以被用于你的新的应用和旧系统相集成。

6、JSP(Java Server Pages):

Jsp页面由html代码和嵌入其中的Java新代码所组成。服务器在页面被客户端所请求以后对这些java代码进行处理,然后将生成的html页面返回给客户端的浏览器。

7、Java Servlet:

servlet是一种小型的java程序,它扩展了web服务器的功能。作为一种服务器端的应用,当被请求时开始执行,这和CGI Perl脚本很相似。Servlet提供的功能大多和jsp类似,不过实现方式不同。JSP通过大多数的html代码中嵌入少量的java代码,而servlet全部由java写成并生成相应的html。

8、XML(Extensible Markup Language):

XML是一种可以用来定义其他标记语言的语言。它被用来在不同的商务过程中共享数据。XML的发展和Java是互相独立的,但是,它和java具有相同目标正是平**立。通过java和xml的组合,我们可以得到一个完美的具有平**立性的解决方案。

9、JMS(Java Message Service):

Ms是用于和面向消息的中间件相互通信的应用程序接口(API)。它既银桐支持点对点的域,有支持发布/订阅类型的域,并且提供对下列类型的支持:经认可的消息传递,事务性消息传递,一致性消息和具有持久性的订阅者的支持。JMS还提供了另一种方式对您的应用与旧的后台系统相集成。

10、JTA(Java Transaction Architecture):

JTA定义了一种标准API,应用系统由此可以访问各种事务监控。

11、JTS(Java Transaction Service):

JTS是CORBA OTS事务监控的基本实现。JTS规定了事务管理器的实现方式。该事务管理器是在高层支持Java Transaction API(JTA)规范,并且在较底层实现OMG OTS specification的java映像。JTS事务管理器为应用服务器、资源管理器、独立的应用以及通信资源管理器提供了事务服务。

12、JavaMail:

JavaMail是用于存取邮件服务的API,它提供了一套邮件服务器的抽象类。不仅支持*TP服务器,也支持IMAP服务器。

13、JAF(JavaBeans Activation Framework):

JavaMail利用JAF来处理MIME编码的邮件附件。MIME的字节流可以被转换成java对象,或者转换自Java对象。大多数应用都可以不需要直接使用JAF。

关于什么是j2ee和j2ee是什么,包括哪些技术的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

本文来源于互联网,不代表趣虎号立场,转载联系作者并注明出处:https://www.quhuhao.com/wzfl/62180.html

联系我们

在线咨询:点击这里给我发消息

微信号:

工作日:9:30-18:30,节假日休息