J2EE是什么?学要学习哪些东西?

J2EE是什么?学要学习哪些东西?,第1张

J2EE有13种核心技术:JDBC, JNDI, EJBS, RMI, JSP, JAVA SERVLETS, XML, JMS, JAVA IDL, JTS, JTA, JAVAMAIL

学习顺序:

1jsp/servlet/ejb,以ejb为重心,jsp/servlet作为表述逻辑层,可以作为测试ejb的辅助

2j2ee应用部署,j2ee服务器的管理

3j2ee的其他组成,如jaas,jni,jca,jms

4j2ee应用框架,如structs SSH轻量级开发

java基础-》jsp、servlet-》tomcat,然后就可以学hernate、ejb、spring、struts等框架,还有weblogic、jboss等容器

补充一点:

SSH是最重要的也就是说的J2EE轻量级框架

struts spring hibernate 针对的对象各不相同

struts 是一个用来解决表示层的相关框架,主要用于写web页面的

spring 是为了解决企业应用程序开发复杂性而创建的

hibernate 是一个持久层的框架,主要用于与数据库打交道的东东

三个框架解决问题的点不同,又相辅相承,同时学习对j2ee的认识更深刻一些

一、准备篇

1什么是J2EE?它和普通的Java有什么不同

答:J2EE全称为Java2Platform,EnterpriseEdition。

“J2EE平台本质上是一个分布式的服务器应用程序设计环境——一个Java环境,它提供了:

宿主应用的一个运行基础框架环境。

一套用来创建应用的Java扩展API。”(引自《J2EE服务器端高级编程》)

2J2EE好学吗

答:J2EE是很多技术的集合体,并且还在成长中。

你会遇到很多专有名词:比如(X)HTML,Servlet/JSP,JDBC,JMS,JNDI,EJB,XML,WebService。

尤其是XML和WebService正在快速成长。幸运的是,你不需要等到学会所有技术后再开始编程。

大体上J2EE可以分成3个主要应用:Servlet/JSP,EJB,XML/WebService和一些支撑技术例如JDBC和JNDI。

你可以一个一个的学。

3J2EE有什么用

答:用来建设大型的分布式企业级应用程序。或者用更时髦的名词说就是“电子商务”应用程序。

这些企业可能大到拥有中心数据库服务器,Web服务器集群和遍布全国的办公终端,也可能小到只不过想做一个网站。

4学J2EE有前途吗

答:在这一市场目前只有一种技术可以和J2EE竞争,那就是Microsoft的NET。

相对来说NET要“新”一些而J2EE要“老”一些。

但是NET只能用于Windows平台(Microsoft声称要开发C#在Linux上的虚拟机但是尚未兑现该诺言),

考虑到Linux的发展势头,你可以相信NET不会一统天下。

5据说J2EE的性能不如NET好,是真的吗

答:在Sun公司提供的样例程序PetStore上,Microsoft声称不如相同的NET程序好。

而Sun公司反驳说这一程序不能真正体现J2EE的性能,并且指责Microsoft在数据库上做了优化。

作者没有学习过NET因而不能妄下断言。

无论如何,大型分布式程序中的性能瓶颈通常首先来自于错误的设计。

6听你说了这么多,我想学着玩玩。

答:除非你想靠它当饭吃或者作为技术储备,否则请不要浪费你的时间。

Flash要好玩得多。计算机游戏就更加好玩了。

7学习J2EE该怎么开始

答:首先,下载一个J2EE服务器。其次,去javasun下载J2EE的API。第三,找一本好的参考书。最后,找一个顺手的IDE。

J2EE服务器。你可以用Sun的J2EESDK(免费),或者Weblogic(性能最好,但是太大,而且作者不推荐盗版行为),或者JBoss(免费,就是文档太少),或者JRun(开发版免费,作者用这个)。参考书作者感觉Wrox的《J2EE服务器端高级编程》不错,但是太老(作者手头的是2001年中文版)。你还需要去下载一些最新的技术资料(当然肯定是英文的)。

IDE如果你的机器配置够好(内存至少512M以上,256M或以下请勿考虑),可以用IBM的WSAD,不然就继续用Eclipse或者其他。

你也可以经常去水木清华的Java版逛逛,但是在发贴前先看看精华区里有没有你要的答案。

8我下了一个J2EE服务器但是不会配置。

答:请认真阅读随机指导文档,不同的服务器的配置都不一样,作者爱莫能助。

9我发现你没有提到Tomcat。

答:Tomcat只是一个Web服务器,更准确地说主要只是一个WebContainer。

如果你想要学习EJB的话,Tomcat无法满足你的需要。

二、Servlet/JSP篇

10什么是Servlet

答:一个Servlet是一个Java类。它处理Http(s)请求并作出响应,包括返回一个HTML页面或转交给其他URL处理。

Servlet必须运行在一个WebContainer例如Tomcat中。

Servlet必须是javaxservlethttpHttpServlet的子类,

你可以继承doGet()或者doPost()方法,两者分别对应于Http(s)中的Get请求和Post请求。

11我怎么获得Http请求里的参数

答:HttpRequest的()方法。例如:StringparamValue=request("paramName");

12我怎么返回结果

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

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

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

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

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

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

答:()是向浏览器发送一个redirect通知,浏览器重定向到新的URL。

而forward是在服务器端直接转到新的URL,对于浏览器是透明的。

前者浏览器的地址栏显示的是新的URL,后者浏览器的地址栏显示的是Servlet的URL。

因而当目标URL会自动刷新时,两者会造成一些差别。

14我写了一个Servlet程序,怎么运行它

答:开发J2EE程序有一个部署(deploy)的概念,实际上是开发——部署——运行的三部曲。

大多数服务器支持Hotdeploy。你只需要在相应的Application目录(具体路径依赖于服务器)下面

建立一个符合WAR或EAR格式(参见16,17)的目录,启动服务器,就可以通过浏览器访问了。

特别的,你的Servlet的class文件应当放在/WEB-INF/classes目录中。

注意J2EESDK不支持Hotdeploy,你需要通过它的deploytool来部署。

Tomcat只支持WAR格式。

15EAR和WAR有什么不同

答:EAR是一个完整的J2EE应用程序,包括Web部分和EJB部分。

WAR只是其中的Web部分。

16EAR格式是怎样的

答:一个EAR可以包含任意多个WAR或EJBJAR,并且包含一个META-INF的目录。

在/META-INF中包含了一个applicationxml,其中描述了这个EAR包含哪些模块,以及安全性配置。

细节请看参考书。

17WAR格式是怎样的

答:一个WAR包含一个WEB-INF的目录,这个目录下包含classes目录,lib目录和webxml。

/WEB-INF/classes存放按package组织的class文件,/WEB-INF/lib目录存放jar文件,

webxml描述了很多东西,请读参考书。

18我的普通HTML文件应当放在哪里

答:放在除了/WEB-INF以外的其他地方。

19我访问不到servlet,甚至连HTML文件都访问不到!

答:第一你没启动服务器。第二你敲错了端口。第三你没有正确配置context-path。

第四你的服务器不支持autoreload或者你关闭了这一选项,你得重启服务器。

第五确认你没有把HTML放在/WEB-INF目录下,那是访问不到的。

20我能访问HTML但是访问不到servlet。

答:请检查你的webxml文件。确保你正确定义了和元素。

前者标识了一个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核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的窘境。那么J2EE包含哪些技术呢下面跟我一起来看看!

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

 J2EE主要包括以下这些技术:

 1) Servlet

 Servlet是Java平台上的CGI技术。Servlet在服务器端运行,动态地生成Web页面。与传统的CGI和许多其它类似CGI的技术相比,Java Servlet具有更高的效率并更容易使用。对于Servlet,重复的请求不会导致同一程序的多次转载,它是依靠线程的方式来支持并发访问的。

 2)JSP

 JSP(Java Server Page)是一种实现普通静态HTML和动态页面输出混合编码的技术。从这一点来看,非常类似Microsoft ASP、PHP等技术。借助形式上的内容和外观表现的分离,Web页面制作的任务可以比较方便地划分给页面设计人员和程序员,并方便地通过JSP来合成。在运行时态,JSP将会被首先转换成Servlet,并以Servlet的形态编译运行,因此它的效率和功能与Servlet相比没有差别,一样具有很高的效率。

 3) EJB

 EJB定义了一组可重用的组件:Enterprise Beans。开发人员可以利用这些组件,像搭积木一样建立分布式应用。

 4)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)。

 组件优势

 J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:

 1 保留现存的IT资产:

 由于企业必须适应新的商业需求,利用已有的企业信息系统方面的投资,而不是重新制定全盘方案就变得很重要。这样,一个以渐进的(而不是激进的,全盘否定的)方式建立在已有系统之上的服务器端平台机制是公司所需求的。J2EE架构可以充分利用用户原有的投资,如一些公司使用的'BEATuxedo、IBM CICS,IBM Encina,、Inprise VisiBroker 以及Netscape Application Server。这之所以成为可能是因为J2EE拥有广泛的业界支持和一些重要的'企业计算'领域供应商的参与。每一个供应商都对现有的客户提供了不用废弃已有投资,进入可移植的J2EE领域的升级途径。由于基于J2EE平台的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。

 2 高效的开发:

 J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。高级中间件供应商提供以下这些复杂的中间件服务:

 o 状态管理服务 -- 让开发人员写更少的代码,不用关心如何管理状态,这样能够更快地完成程序开发。

 o 持续性服务 -- 让开发人员不用对数据访问逻辑进行编码就能编写应用程序,能生成更轻巧,与数据库无关的应用程序,这种应用程序更易于开发与维护。

 o 分布式共享数据对象CACHE服务 -- 让开发人员编制高性能的系统,极大提高整体部署的伸缩性。

 3 支持异构环境:

 J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。J2EE标准也允许客户订购与J2EE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。

 4 可伸缩性:

 J2EE编程指南企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于J2EE平台的应用程序可被部署到各种操作系统上。例如可被部署到高端UNIX与大型机系统,这种系统单机可支持64至256个处理器。(这是NT服务器所望尘莫及的)J2EE领域的供应商提供了更为广泛的负载平衡策略。能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。

 5稳定的可用性:

 一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。因为INTERNET是全球化的、无处不在的,即使在夜间按计划停机也可能造成严重损失。若是意外停机,那会有灾难性后果。J2EE部署到可靠的操作环境中,他们支持长期的可用性。一些J2EE部署在WINDOWS环境中,客户也可选择鲁棒性(稳定性)更好的操作系统如Sun Solaris、IBM OS/390。鲁棒性最好的操作系统可达到99999%的可用性或每年只需5分钟停机时间。这是实时性很强商业系统理想的选择。

;

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组件的基本原则,同时为围绕开发工作进行职能分工给出了指导性策略,以帮助应用开发设计人员合理地分配技术资源。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » J2EE是什么?学要学习哪些东西?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情