欢迎来到天天文库
浏览记录
ID:45757336
大小:53.33 KB
页数:8页
时间:2019-11-17
《jsp基础学习资料》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、JSP是建立在JavaServlets模型之上的表达层技术,它使编写HTML变得更简单。像SSJS—•样,它也允许你将静态HTML内容与服务器端脚本混合起來生成动态输出。JSP把Java作为默认的脚本语言,然而,就像ASP可以使用其他语言(如javascript和VBScript)一样,JSP规范也允许使用其他语言。尽管JSP和Java比那些基丁•简单语言的脚本平台(如javascript和VBScript)具有更好的兼容性和坚固性,但同时Java的学习难度也比简单的脚本语言要大。为了兼顾两者的优点一一一个健壮的web应用平台和一种简单易用的语言工具一一JSP提供
2、了大量的服务器端标签(Tag),这使得开发者可以在不写Java代码的情况下完成大多数动态内容操作。那些只熟悉编写脚本的开发人员,複至仅仅是HTML设计者,就可以使用JSP标签牛成简单的输出而不必学习Java。高级的脚本编写者或Java程序员也可以使用这些标签,如果要在JSP页面屮完成更高级的操作,他们可以使用完整的Java语言。Page过时了,Component妙极了要理解JSP怎样联合无限的力量來轻而易举地实现魔术般的效杲,你必须首先了解“组件为中心的网页开发”和“页面为中心的网页开发”的区别。SSJS和ASP都是在儿年前推出的,那时网络还很年轻,没有人知道除了
3、把所有的商务、数据和表达逻辑统统堆进原始网页屮之外还有什么更好的解决方法。这种以页而为屮心的模型容易学习并口得到相当快速的发展。然而,随着时间的推移,人们认识到这种方法不适于构建大型的、可升级的web应用程序。在脚本环境中书写的农达逻辑被锁在页而内,只有通过剪切和粘贴才能被重用。表达逻辑通常和商务及数据逻辑混在一起,这使得当程序员试图改变一个应用程序的外观而不想破坏与Z紧密结合的商务逻辑时,应用程序的维护就像在蛋壳上走路一样困难。其实在企业中,可重川组件的应川早己经很成熟,没有人愿意为他们的应用程序重写那些逻辑。HTML和图形设计师把他们的设计的实施工作交给了we
4、b编写者,使他们不得不加倍工作一一常常是手工编写,因为没有合适的工具可以把服务器端脚本与HTML内容结合起来。简而言之,随着wob应用程序的复杂性不断提升,以贝而为中心的开发方式的局限性变得明显起来。与此同时,人们一直在寻找建立web应川程序的更好方法,组件在客户机一服务器领域风行起來。JavaBeans和ActiveX被“快速应用程序开发”(RAD)工具发行商推广给Java和Windows应用程序开发者用來快速开发复杂的程序。这些技术使某领域内的专家可以为本领域内的垂垃应用编写组件,而开发者可以立接拿來使用而不必掌握这一领域的专门技术。比如,编制旅鼠交配习性图表
5、的Java程序员不需要了解任何关于旅鼠的知识,他只要调用LemmingsTnLoveJavaBeans(JavaBeans是一种基TJava的组件)就町得到相应的领域专门信息,他只需关注如何使软件更易于使用。出现一种把组件为中心的程序设计方法带到服务器端web应用领域的技术只是时间的问题。作为一种以组件为屮心的开发平台,JSP出现了。它以JavaBeans和EnterpriseJavaBeans(EJB)组件包含商务和数据逻辑的模型为基础,提供人量标签和一个脚木平台用來在HTML页中显示由JavaBeans产生或回送的内容。由于JSP的以组件为中心的性质,他可以被
6、Java和非Java开发者同样使用。非Java开发者可以通过JSP的标签(Tags)来使用高级Java开发者创建的JavaBeansoJava开发者不仅可以创建和使用JavaBeans,还能在JSP页屮使川Java语言来更粘密地控制基于底层JavaBeans的表达逻辑。JSP请求模型现在我们來看看JSP是如何处理HTTP请求的。在基本请求模型中,一个请求直接被送到JSP页中。图1说明了这个模型中的信息流程。JSP代码控制着进行逻辑处理时与JavaBeans组件的交互,并在动态生成的、混合了静态HTML代码的HTML页中显示结杲。图1•基本JSP请求模型带有JSP引
7、華的Web服务器Beans可以是JavaBeans或EJB纟II.件。另外,更加复杂的请求模型可看作从被请求页呼叫其他JSP页或JavaServletSoJSP引擎技术内幕JSP引擎实际上要把JSP标签、JSP页中的Java代码甚至连同静态HTML内容都转换为大块的Java代码。这些代码块被JSP引擎组织到用户看不到的Javaservlet中去,然后Servlet自动把它们编译成Java字节码。这样,当网站的访问者请求一个JSP页时,在他不知道的情况下,一个已经生成的、预编译过的servlet实际上将完成所有的工作。非常隐蔽一而又高效。因为servlet是编译过的
8、,所以网页
此文档下载收益归作者所有