【Jsp精品源码栏目提醒】:网学会员为需要Jsp精品源码的朋友们搜集整理了J2EE报告 - 宣传企划相关资料,希望对各位网友有所帮助!
J2EE 读书
报告 (
计算机科学与工程学院)摘要:通过本学期课堂教学与相关的实验教学对本课程的学习,介绍了 J2EE 架构、MVC 设计模式、Struts 框架和 Hibernet 框架等,并分析了其各自的概念及其优缺点,并说明了我学习本课程的相应的心得体会。
关键字:J2EE MVC 模式 Struts Hibernet, Servlet J2EE Book Report Computer Science And TechnologyAbstract: Through classroom teaching this semester with therelevant experimental teaching of this course of study,Arepresented J2EE Structure、MVC Design Pattern、Struts Structureand Hibernet Structure.And analyzed the concept of theirrespective advantages and disadvantages , As well as adescription of this course I am learning experiencesappropriate.Key
word: J2EE MVC Structure Struts Hibernet, Servlet 通过这学期十几周的 J2EE 的理论课程及相应的实践
课程,使我对 J2EE 有了一个初步的了解。
特别是给我们上课的张老师更是用别具一格和教学方法,丰富了我们上课的内容,更是让我们知道认真学好,掌握 J2EE 对我们将来是一比很大的财富。
但是说实在的,短短的这么十几周的课就想学通这门课程是不可能。
当我拿到这门课的教科书时更是不敢相信,一本那么厚的书怎么学得完啊?由于我们原本对 J2EE 根本没有上点的认识,当初的 JAVA 学得也不是太好,更是对此十分地担心,但是老师用实例来给我们阐释对我们来说是如此深奥的理论知识,让我们更容易去接受,作为一名师范生,更是从张老师身上学到了另一种教学方式。
在此我谈谈对这门课程的理解:一、J2EE 的概念 J2EE 是 JavaTM 2 Platform,Enterprise Edition 的缩写,它是 Sun Microsystems 公司提出的一种利用 Java 2 平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。
它的核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循 J2EE 架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,导致企业内部或外部难以互通的窘境。
J2EE 是一种利用 Java 2 平台来简化企业解决
方案的开发、部署和管理相关的复杂
问题的体系结构。
J2EE 技术的基础就是核心 Java 平台或 Java 2 平台的标准版,J2EE 不仅巩固了标准版中的许多优点,例如编写一次、随处运行的特性、方便存取数据库的 JDBC API、CORBA 技术以及能够在 Internet 应用中保护数据的安全模式等等, (Enterprise JavaBeans) 同时还提供了对 EJB 、Java Servlets API、
JSP(Java Server Pages)以及 XML 技术的全面支持。
其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。
J2EE 使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。
典型的是 J2EE四层结构:1、运行在客户端机器上的客户层组件 ;客户层组件:J2EE 客户端可以是 Web 客户端或者是 Java 应用程序。
J2EE 平台的主干是 Enterprise JavaBeans(EJB)体系结构,它规范了如何用 Java 程序设计语言开发与部署服务器端应用业务逻辑组件EJB 技术属于业务逻辑层组件。
2、运行在 J2EE 服务器上的 Web 层组件 ; 按Web 层组件 J2EE Web 层组件可以是
JSP 页面或 Servlets, 照 J2EE规范,静态的 HTML 页面和 Applets 不算是 Web 层组件。
3、运行在 J2EE 服务器上的业务逻辑层组件 ;4、运行在 EIS 服务器上的企业信息系统Enterprise informationsystem层软件;企业信息系统层处理企业信息系统
软件包括企业基础建设系统,大型机事务处理,数据库
系统,和其他的遗留信息系统。
二、 MVC 模式 MVC 即 Model-View-Controller,是三个单词的缩写分别为:模型Model视图View和控制 Controller 是一种常用的设计模式。
MVC 模式的目的就是实现 Web 系统的职能分工。
Model 层实现系统中的业务逻辑,可以用
JavaBean 或 EJB 来实现。
View 层用于与用户的交互,通
常用 JSP 来实现。
Controller 层是Model 与 View 之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。
Controller 实际上就是我们熟悉的 Default.aspx.cs 文件,继承自 System.Web.UI.Page 类的文件. MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。
它不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性。
尽管 MVC 设计模式很早就提出,但在 Web 项目的开发中引入 M
VC 却是很少。
一是因为在早期的 Web 项目的开发中,程序语言和 HTML 的分离一直难以实现。
CGI 程序以字符串输出的形式动态地生成 HTML 内容。
后来随着脚本语言的出现,将脚本语言书写的程序嵌入在 HTML内容中。
这两种方式有一个相同的不足之处即它们总是无法将程序语言和
HTML 分离。
二是因为脚本语言的功能相对较弱,缺乏支持 MVC
设计模式的一些必要的技术基础。
目前用 Servlet 技术实现控制器的功能,用 EJB 技术实现模型的功能。
这是对
JSP Model 2 的 MVC 设计思想的拓展和实现。
三、 Struts 概述 Struts 是 MVC 的一种实现,它将 Servlet 和
JSP 标记(属于J2EE 规范)用作实现的一部分,它继承了 MVC 的各项特性,并根据J2EE 的特点,做了相应的变化与扩展。
随着
JSP 与 Servlet 技术大量应用于以 Web 为基础之应用程序,Java 开发人员群体认为应以较佳之模式以提升 Web 应用
程序之可维护性与重复使用性。
早期
JSP 规格书中曾列举两种可行之
JSP 应用架构,分别为 Model1 与 Model 2。
在 Model 1 架构中,
JSP 直接处理 Web 浏览器送来之请求 Request ,并辅以 JavaBean 处理应用相关逻辑。
Model 1 架构单纯编写比较容易,但在 Model 1 中
JSP 可能同时肩负 View与 Controller 角色,两类程序代码有可能混杂而不易维护。
而Model 2 中将 Servlet 纳入架构中扮演前端 Controller 角色,将 Web 浏览器送出之请求集中送至 Servlet ,Servlet 可集中管理使用者登入、权限控制、多国语言转换等前置处理,再视需求转向给对应之
JSP 处理。
Model 2 中采用了较佳之 MVC 模式,但增加了编写复杂度。
Struts 是 Apache 基金会 Jakarta 项目组的一个 OpenSource 项目,它采用 MVC 模式,能够很好地帮助 java 开发者利用 J2EE 开发 Web 应用。
和其他的 JAVA 架构一样,Struts 也是面向对象设计,将 MVC 模式分离显示逻辑和业务逻辑的能力发挥得淋漓尽致。
Structs 框架的核心是一个弹性的控制层,基于如Java Servlets,JavaBeans,ResourceBundles 与 XML 等标准技术,以及 Jakarta Commons 的一些类库。
Struts 有一组相互协作的类(组件)、Serlvet 以及
jsp tag lib 组成。
基于 struts构架的
web 应用程序基本上符合
JSP Model2 的设计标准,可以说是一个传统 MVC 设计模式的一种变化类型。
Struts 的体系结构图如下所示:四、Hibernate 概述 Hibernate 是一个开放
源代码的对象关系映射框架,它对JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate 可以应用在任何使用 JDBC 的场合,既可以在 Java 的客户端程序使用,也可以在 Servlet/
JSP 的 Web 应用中使用,最具意义的是 Hibernate可以在应用 EJB 的 J2EE 架构中取代 CMP,完成数据持久化的重任。
五、Servlet 概述 Servlet 是一种小型的 Java 程序,它扩展了 Web 服务器的功能。
作为一种服务器端的应用,当被请求时开始执行,这和 CGIPerl 脚本很相似。
Servlet 提供的功能大多与
JSP 类似,不过实现的方式不同。
JSP 通常是大多数 HTML 代码中嵌入少量的 Java代码,而 servlets 全部由 Java 写成并且生成 HTML。
SERVLET 提供的功能大多与
JSP 类似,不过实现的方式不同。
而
JSP 通常是大多数 HTML 代码中嵌入少量的 JAVA 代码, SERVLETS全部由 JAVA 写成并且生成 HTML。
SERVLET 是一种小型的 JAVA 程序,它扩展了 WEB 服务器的功能。
作为一种服务器端的应用,当被请求时开始执行,这和 CGIPERL 脚本很相似。
SERVLETS 和 CGI 脚本的一个很大的区别是:每一个 CGI 在开始的时候都要求开始一个新的进程 -- 而 SERVLETS是在 SERVLET 引擎中以分离的线程来运行的。
因此 SERVLETS 在可伸缩性上提供了很好的改进。
在开发 SERVLETS 的时候,您常常需要扩展 JAVA X.SERVLET.HTTP.HTTPSERVLET 类,并且 OVERRIDE一些它的方法,其中包括: SERVICE: 作为 DISPATCHER 来实现命令-定义方法 DOGET: 处理客户端的 HTTP GET 请求。
DOPOST: 进行 HTTP POST 操作 其它的方法还包括处理不同类型的 HTTP 请求 -- 可以参考HTTPSERVLET API
文档。
以上描述的是标准 J2EE SERVLET API 的各种方法。
WEBLOGIC服务器提供了一个该 API 完整的实现途径。
一旦你开发了一个SERVLET,你就可以在 WEBLOGIC.PROPERTIES 中加以
注册并由此可以在 WEBLOGIC 服务器中对它进行配置。
通过 JAVA SERVLETS我们已经到达了 J2EE 主要技术的末尾了。
但 J2EE 所提供的并不止于这些。
下面通过一个小的例子来加深对各层框架结构的相关概念。
假定已经在 CLOUDSCAPE 中建立了一个 PHONEBOOK 数据库,并且包含一个表,名为 CONTACT_TABLE,它带有 2 个字段:NAME 和 PHONE。
开始的时候先装载 CLOUDSCAPE JDBC DRIVER,并请求 DRIVERMANAGER 得到一个对 PHONEBOOK CLOUDSCAPE 数据库的连接。
通过这一连接,我们可以构造一个 STATEMENT 对象并用它来执行一个简单的 SQL
查询。
最后,用循环来遍历结果集的所有数据,并用标准输出将 NAME 和 PHONE 字段的内容进行输出。
IMPORT JAVA.SQL. PUBLIC CLASS JDBCEXAMPLE PUBLIC STATIC VOID MAIN STRING ARGS TRY CLASS.FORNAMECOM.CLOUDSCAPE.CORE.JDBCDRIVER CONNECTION CONN DRIVERMANAGER.GETCONNECTIONJDBC:CLOUDSCAPE:PHONEBOOK STATEMENT STMT CONN.CREATESTATEMENT STRING SQL SELECT NAME PHONE FROM CONTACT_TABLEORDER BY NAME RESULTSET RESULTSET STMT.EXECUTEQUERY SQL STRING NAME STRING PHONE WHILE RESULTSET.NEXT NAME RESULTSET.GETSTRING1.TRIM PHONE RESULTSET.GETSTRING2.TRIM SYSTEM.OUT.PRINTLN NAME PHONE CATCH EXCEPTION E // HANDLE EXCEPTION HERE E.PRINTSTACKTRACE 六、结束语 综上所述,J2EE 带动了 Java 在企业级的发展,但随着一些轻量级组件的出现,J2EE 的臃肿和开发难度高的缺点越来越引起了 许 多 人 的 注 意 , EJB2.0 也 被 许 多 人 称 为 累 赘 。
随 着SpringHibernate 的不断完善和发展EJB3.0 出现了,成为了未来 Java 企业级开发的新的方向。
我介绍了建立在 J2EE 上的分布式应用结构,并且描述了其各自对 J2EE 的相应支持。
然而,我所了解的和我所说的仅仅是冰山之一角而已,还有待进一步的学习与提高。
参考文献:1.《J2EE 应用与实践技巧》(美)Darren Broemmer 著 于洁李稳韩国栋译2.《J2EE 经典实例详解》美谢小乐Henry Xie编著 朱福喜,余振坤译3. 陈威,白伟明,李楠等著.
JSP 工程应用与项目实践.机械工业出版社,2005.1 714.《深入浅出 Hibernate》 孙卫琴著 中文开发参考手册电子书已经翻译成了中文电子版