`
java程序员
  • 浏览: 5351 次
  • 性别: Icon_minigender_1
  • 来自: 广东
最近访客 更多访客>>
社区版块
存档分类
最新评论

一些关于J2EE的理解

    博客分类:
  • java
阅读更多
一、准备篇

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程序员的,除此之外两者功能完全等价。
参考资料:http://www.osdn.cn/bbs/msg.php?id=59
分享到:
评论
1 楼 minma_2009 2009-09-25  
感觉很实用,平时还没有注意到这些,谢谢LZ 分享。

相关推荐

    j2ee一些例子j2ee一些例子j2ee一些例子

    **J2EE基础概念** J2EE(Java 2 Platform, Enterprise Edition)是Java平台的企业版,用于构建和部署分布式企业级应用程序。...通过学习和实践这些例子,开发者可以深入理解J2EE体系,提升构建企业级应用的能力。

    J2EE理解Web应用程序

    J2EE理解Web应用程序 PPT格式 上课课件 欢迎下载

    关于J2EE的翻译Overview of J2EE Features and Service

    **J2EE(Java 2 Platform, Enterprise Edition)概述** J2EE,即Java 2企业版,是Oracle公司(前身...通过深入学习和理解J2EE,开发人员可以更好地利用这个平台来解决实际业务问题,创造出稳定、高效的软件解决方案。

    j2ee实例 j2ee实例j2ee实例

    本实例集合将深入探讨J2EE的核心概念和技术,帮助开发者更好地理解和应用J2EE。 首先,J2EE的核心组件包括Servlet、JavaServer Pages (JSP)、JavaBean、EJB(Enterprise JavaBeans)、JMS(Java Message Service)...

    J2EE初学者要理解的几个问题

    J2EE(Java 2 Platform, Enterprise Edition)是一个由SUN公司推出的用于构建企业级应用的Java...理解这些核心概念是J2EE初学者的基础,随着学习的深入,还需要掌握如何使用这些工具和技术来构建实际的企业级应用程序。

    J2EE JAR包(J2EE1.3 J2EE1.4 J2EE5.0 )

    例如,`javax.*`包下的类和接口,以及一些特定版本的实现类,如`sun.*`下的私有类。在实际开发中,开发者通常会根据项目需求选择合适的J2EE版本,并引用相应的JAR包以确保兼容性。 总的来说,J2EE JAR包见证了Java...

    J2EE整体框架的理解修正版

    上传的word文档有问题,改成压缩的试一下

    J2EE的一些用例

    通过学习J2EE,你可以理解如何设计和实现复杂的后台逻辑,以及如何与前端技术如Ajax、jQuery等配合,创建出响应式、高性能的网页应用。 在实践中,你可能会使用到诸如Tomcat、Glassfish、WildFly等J2EE应用服务器,...

    一些J2EE代码(jdbc XML)

    在Java世界中,J2EE(Java 2 Platform, Enterprise Edition)是一个标准的、全面的...这些代码示例对于学习和理解J2EE中的数据库操作和XML配置是很有价值的,它们可以帮助开发者更好地掌握企业级Java应用的开发技巧。

    J2EE课件+j2ee课件

    **J2EE技术详解** J2EE(Java 2 Platform, Enterprise Edition)是Java平台的企业版,主要用于构建分布式、多层的企业级应用系统。...对于想要深入理解J2EE的开发者来说,这个课件提供了丰富的学习资源。

    J2EE架构师手册(j2ee高级进阶,j2ee深层次必备)

    《J2EE架构师手册》是一本专门为有志于深入理解并掌握J2EE技术的高级开发者和架构师量身定制的指南。本书的核心目的是帮助读者从高层次、全面的角度理解和应用J2EE技术,揭示其背后的"道",即技术的本质和原则。书中...

    J2EE完全参考手册

    在**J2EE完全参考手册-J2EE概述-pdf** 这个文件中,读者可以期待获取到关于J2EE的全面介绍,包括其架构、组件的工作原理、最佳实践以及案例分析。这将帮助开发者更好地理解和掌握J2EE平台,从而在实际项目中更加...

    一些J2ee的课件绝对好用

    【J2EE技术详解】 J2EE,全称为Java 2 Platform, Enterprise Edition,是Java平台上...课件中的实例和讲解将帮助你理解和掌握如何在实际项目中运用这些技术,对于立志成为程序员的你来说,是一份不可多得的学习资料。

    J2EE,EJB,J2EE,EJB,

    2. **J2EE应用设计**:涵盖了开发流程,帮助开发者理解如何设计符合J2EE规范的应用程序。 3. **J2EE应用运维**:指导如何部署和管理J2EE应用,包括安装、配置和日常维护。 4. **Java Naming and Directory Interface...

    关于J2EE的基本知识

    对于初学者,建议从基础开始,学习Java语言,然后深入理解JSP和Servlet,再逐步接触EJB、JPA、JDBC等技术。同时,熟悉Maven或Gradle等构建工具,以及Git版本控制,有助于项目管理和协作。 总之,J2EE是一个强大的...

    j2ee试题j2ee试题

    J2EE 试题主要考察的是开发者对于这个平台的理解、掌握和应用能力,包括但不限于以下几个核心知识点: 1. **Servlet**:Servlet 是 Java 编写的服务器端程序,用于扩展 Web 服务器的功能。在 J2EE 试题中,可能涉及...

    j2ee规范j2ee规范j2ee规范

    ### J2EE规范详解 #### 一、J2EE规范概览 J2EE(Java 2 Platform, Enterprise Edition)...总之,J2EE规范是Java企业级开发的重要基石,深入理解和掌握这一规范及其相关技术,对于成为一名优秀的J2EE开发者至关重要。

Global site tag (gtag.js) - Google Analytics