配色: 字号:
JSP程序设计教程
2015-01-05 | 阅:  转:  |  分享 
  
课件制作人:王国辉1.3JSP的处理过程从前面的介绍中,可以知道JSP文件被JSP引擎进行转换后,又被编译成了Class
文件,最终由服务器通过执行这个Class文件来对客户端的请求进行响应。但并不是每次请求都需要重复进行这样的处理。当
服务器第一次接收到对某个页面的请求时,JSP引擎就开始进行上述的处理过程,将被请求的JSP文件编译成Class文件。在后续对该页面
再次进行请求时,若页面没有进行任何改动,服务器只需直接调用Class文件执行即可。所以当某个JSP页面第一次被请求时,会有一些延迟
,而再次访问时会感觉快了很多。如果被请求的页面经过修改,服务器将会重新编译这个文件,然后执行。课件制作人:王国辉CGI
CGI(CommonGatewayInterface)即通用网关接口。是最早用来创建动态网页的一种技术,它可以使浏览
器与服务器之间产生互动关系。它允许使用不同的语言来编写适合的CGI程序,该程序被放在Web服务器上运行。当客户端发出请求给服务器时
,服务器根据客户请求建立一个新的进程来执行指定的CGI程序,并将执行结果以网页的类型传输到客户端的浏览器上进行显示。CGI可以说是
当前应用程序的基础技术,但这种技术编制方式比较困难而且效率低下,因为每次页面被请求的时候,都要求服务器重新将CGI程序编译成可执行
的代码。在CGI中使用最为常见的语言为C/C++、Java和Perl(PracticalExtractionandRepor
tLanguage,文件分析报告语言)。课件制作人:王国辉ASPASP(ActiveServerPage)
是一种使用很广泛的开发动态网站的技术。它通过在页面代码中嵌入VBScript或JavaScript脚本语言来生成动态的内容,在服务
器端必须安装了适当的解释器后,才可以通过调用此解释器来执行脚本程序,然后将执行结果与静态内容部分结合并传送到客户端浏览器上。对于一
些复杂的操作,ASP可以调用存在于后台的COM组件来完成,所以说COM组件无限地扩充了ASP的能力;正因如此依赖本地的COM组件,
使得ASP主要用于Windows平台中。ASP存在很多优点,简单易学,并且ASP是与微软的IIS捆绑在一起,在安装Windows
2000、WindowsXP的同时安装上IIS,就可以运行ASP应用程序了。课件制作人:王国辉PHPPHP来自
于PersonalHomePage一词,但现在的PHP已经不再表示名词的缩写,而是一种开发动态网页技术的名称。PHP语法类似于
C,并且混合了Perl、C++和Java的一些特性。它是一种开源的Web服务器脚本语言,与ASP和JSP一样可以在页面中加入脚本代
码来生成动态内容。对于一些复杂的操作可以封装到函数或类中,在PHP中提供了许多已经定义好的函数,例如提供的标准的数据库接口,使得数
据库连接方便,扩展性强。PHP可以被多个平台支持,主要被广泛应用于UNIX/Linux平台。由于PHP本身的代码对外开放,经过许多
软件工程师的检测,因此到目前为止该技术具有公认的安全性能。课件制作人:王国辉ASP.NETASP.NET也是一种
建立动态Web应用程序的技术,它是.NET框架的一部分,可以使用任何.NET兼容的语言,如VisualBasic.NET,C#,
J#等来编写ASP.NET应用程序。这种ASP.NET页面(WebForms)编译后可以提供比脚本语言更出色的性能表现。Web
Forms允许在网页基础上建立强大的窗体。当建立页面时,可以使用ASP.NET服务端控件来建立常用的UI元素,并对它们编程来完成一
般的任务。这些控件允许开发者使用内建可重用的组件和自定义组件来快速建立WebForm,使代码简单化。课件制作人:王国辉Jav
a语言Java语言是由Sun公司于1995年推出的编程语言,一经推出,就赢得了业界的一致好评,并受到了广泛关注。J
ava语言适用于Internet环境,目前已成为开发Internet应用的主要语言之一。它具有简单、面向对象、可移植性、分布性、解
释器通用性、稳健、多线程、安全和高性能等优点。其中最重要的就是实现了跨平台运行,这使得应用Java开发的程序可以方便地移植到不同的
操作系统中运行。课件制作人:王国辉Java语言Java是完全面向对象的编程语言,它的语法规则和C++类似,但J
ava语言对C++进行了简化和提高。例如,C语言中的指针和多重继承通常会使程序变得复杂,而Java通过接口取代了多重继承,并取消了
指针、内存的申请和释放等影响系统安全的部分。课件制作人:王国辉Java语言在Java语言中,最小的单位是类,不
允许在类外面定义变量和方法,所以就不存在所谓的“全局变量”这一概念。在Java类中定义的变量和方法分别称为成员变量和成员方法,其中
成员变量也叫做类的属性。在定义这些类的成员时,需要通过权限修饰符来声明它们的使用范围。Java语言编写的程序应被保
存为后缀名为.java的文件,然后编译成后缀名为.class的字节码文件,最终通过执行该字节码文件执行Java程序。《JSP程序
设计教程》课件人民邮电出版社2008年课件制作人:王国辉课件制作人声明本课件共9个Powerpoint文件(每
章一个)。教师可根据教学要求自由修改此课件(增加或删减内容),但不能自行出版销售。对于课件中出现的缺点和错误,欢迎读者提出宝贵
意见,以便及时修订。课件制作人XXX2008年6月JSP程序设计教程第1章JSP概述第2章JSP开发基
础第3章JSP语法第4章JSP内置对象第5章JavaBean技术第6章Servlet技术第7章JSP
实用组件第8章JSP数据库应用开发第9章JSP高级程序设计第1章JSP概述1.1JSP技术概述1.
2JSP技术特征1.3JSP的处理过程1.4JSP与其他服务器端脚本语言的比较1.5JSP开发环境搭建1.
6JSP开发工具1.7JSP程序开发模式1.8第一个JSP应用√√√√√√√√1.1JSP技
术概述在了解JSP技术之前,首先需要了解与JSP技术相关的一些概念,这样有助于学习后面的内容。Java语言S
ervlet技术JavaBean技术JSP技术√√√√1.2JSP技术特征跨平台分离静态内容和动态内容可重
复使用的组件沿用了JavaServlet的所有功能预编译√√√√√1.4JSP与其他服务器端脚本语言的比较
CGIASPPHPASP.NET√√√√1.5JSP开发环境搭建JSP的运行环境JDK的安装与配置T
omcat的安装与启动√√√1.6JSP开发工具Eclipse是一个基于Java的、开放源码的、可扩展
的应用开发平台,它为编程人员提供了一流的Java集成开发环境(IntegratedDevelopmentEnvironment
,IDE)。它是一个可以用于构建集成Web和应用程序开发工具的平台,其本身并不会提供大量的功能,而是通过插件来实现程序的快速开发功
能。Eclipse是一个成熟的可扩展的体系结构,它的价值体现在为创建可扩展的开发环境提供了一个开放源代码的平台。这
个平台允许任何人构建与环境或其他工具无缝集成的工具,而工具与Eclipse无缝集成的关键是插件。1.6JSP开发工具
Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),PDE主要针对
那些希望扩展Eclipse的编程人员而设定的。这也正是Eclipse最具魅力的地方。通过不断地集成各种插件,Eclipse的功能也
在不断地扩展,以便支持各种不同的应用。虽然Eclipse是针对Java语言而设计开发的,但是它的用途并不局限于Ja
va语言,通过安装不同的插件,Eclipse还可以支持诸如C/C++、PHP、COBOL等编程语言。1.6JSP开发工具E
clipse的安装与启动安装MyEclipse插件Eclipse3.2快捷键应用Eclipse开发简单的JSP程序√√
√√1.7JSP程序开发模式单纯的JSP页面编程JSP+JavaBean编程JSP+Servlet+JavaBean
编程MVC模式√√√√单纯的JSP编程在单纯的JSP编程模式下,通过应用JSP中的脚本标志,可直接在J
SP页面中实现各种功能。虽然这种模式很容易实现,但是其缺点也非常明显。因为将大部分的Java代码与HTML代码混淆在一起,会给程序
的维护和调试带来很多的困难,而且对于整个程序的结构更是无从谈起。这就好比规划管理一个大的企业,如果将负责不同任务的所有员工都安排在
一起工作,势必会造成公司秩序混乱、不易管理等许多的隐患。所以说,单纯的JSP页面编程模式是无法应用到大型、中型甚至小型的JSPW
eb应用程序开发中。JSP+JavaBean编程该模式是JSP程序开发经典设计模式之一,适合小型或中型网站的开发
。利用JavaBean技术,可以很容易地完成一些业务逻辑上的操作,例如数据库的连接、用户登录与注销等。JavaBean是一个遵循了
一定规则的Java类,在程序的开发中,将要进行的业务逻辑封装到这个类中,在JSP页面中通过动作标签来调用这个类,从而执行这个业务逻
辑。此时的JSP除了负责部分流程的控制外,大部分用来显示页面,而JavaBean则负责业务逻辑的处理。可以看出,该模式具有一个比较
清晰的程序结构,在JSP技术的起步阶段,JSP+JavaBean设计模式曾被广泛应用。下面将通过一个流程图说明该模式对客户端的请求
进行处理的过程。JSP+JavaBean编程客户端带有JSP引擎的Web服务器用户通过客户端浏览器请求服务器服务器将
最终的结果返回给客户端浏览器进行显示JSP页面JavaBean业务逻辑数据库在JavaBean中连接及操作数据库,或实
现其他业务逻辑在JSP页面中调用JavaBean服务器接收用户请求后调用JSP页JavaBean将执行的结果返回JSP页面
服务器读取JSP页面中的内容(将页面中的静态与动态内容相结合)JSP+Servlet+JavaBean编程JSP
+JavaBean设计模式虽然已经将网站的业务逻辑和显示页面进行分离,但这种模式下的JSP不但要进行程序中大部分的流程控制,而且还
要负责页面的显示,所以仍然不是一种理想的设计模式。在JSP+JavaBean设计模式的基础上加入Servlet来实现
程序中的控制层,是一个很好的选择。在这种模式中,由Servlet来执行业务逻辑并负责程序的流程控制,JavaBean组件实现业务逻
辑,充当着模型的角色,JSP用于页面的显示。可以看出这种模式使得程序中的层次关系更明显,各组件的分工也非常明确。下面将通过一个流程
图说明该模式对客户端的请求进行处理的过程。JSP+Servlet+JavaBean编程客户端带有JSP引擎的Web服务器
用户通过客户端浏览器请求服务器服务器将最终的结果返回给客户端浏览器进行显示JSP页面JavaBean业务逻辑数据库
在JavaBean中连接及操作数据库,或实现其他业务逻辑服务器接收用户请求后调用ServletServlet根据用户请求调用J
avaBean处理业务服务器读取JSP页面中的内容(将页面中的静态与动态的内容相结合)请求响应Servlet调用转发
由Servlet转发请求到JSP页面JavaBean将结果返回Servlet,在Servlet中将结果保存到请求对象中JSP+
Servlet+JavaBean编程但JSP+Servlet+JavaBean模式同样也存在缺点。该模式遵循了MVC
设计模式,MVC只是一个抽象的设计概念,它将待开发的应用程序分解为三个独立的部分:模型(Model)、视图(View)和控制器(C
ontroller)。虽然用来实现MVC设计模式的技术可能都是相同的,但各公司都有自己的MVC架构。也就是说,这些公司用来实现自己
的MVC架构所应用的技术可能都是JSP、Servlet与JavaBean,但他们的流程及设计却是不同的,所以工程师需要花更多的时间
去了解。从项目的开发观点上来说,因为需要设计MVC各对象之间的数据交换格式与方法,所以会需要花费更多的时间在系统的设计上。JSP
+Servlet+JavaBean编程使用JSP+Servlet+JavaBean模式进行项目开发时,可以选择一个实
现了MVC模式的现成的框架,在此下进行开发,大大节省了开发时间,会取得事半功倍的效果。目前已有很多可以使用的现成的MVC框架,例如
Struts框架。JSP+JavaBean编程与JSP+Servlet+JavaBean编程,是JSP开发中的两种经
典设计模式。MVC模式MVC(Model-View-Controller,模型—视图—控制器)是一种程序设计概念
,它同时适用于简单的和复杂的程序。使用该模式可将待开发的应用程序分解为3个独立的部分:模型、视图和控制器。提出这种设计模式主要是因
为应用程序中用来完成任务的代码——模型(也称为“业务逻辑”)通常是程序中相对稳定的部分,并且会被重复使用,而程序与用户进行交互的页
面——视图,却是经常改变的。如果因需要更新页面而不得不对业务逻辑代码进行改动,或者要在不同的模块中应用到相同的功能而重复地编写业务
逻辑代码,不仅降低了整体程序开发的进程,而且会使程序变得难以维护。因此,将业务逻辑代码与外观呈现分离,将会更容易地根据需求的改变来
改进程序。MVC模式MVC模式中的Model(模型)指的是业务逻辑的代码,是应用程序中真正用来完成任务的部分。
View(视图),实际上就是程序与用户进行交互的界面,用户可以看到它的存在。视图可以具备一定的功能并应遵守对其的约束,在
视图中不应包含对数据处理的代码,即业务逻辑代码。Controller(控制器),主要控制用户请求并作出响应。它根据用
户的请求选择模型或修改模型,并决定返回怎样的视图。Eclipse3.2开发工具中常用快捷键名称功能名称功
能F3跳转到类或变量的声明Ctrl+D删除光标所在行的代码Alt+上下方向键将选中的一行或多行向上或向下移动A
lt+/代码提示Ctrl+K将光标停留在变量上,按Ctrl+K键可查找下一个同样的变量Ctrl+O打开视图的小窗
口Alt+左右方向键跳到前一次或/后一次的编辑位置,在代码跟踪时用的比较多Ctrl+W关闭单个窗口Ctrl+/
注释或取消注释Ctrl+鼠标单击可以跟踪方法和类的源码Ctrl+鼠标停留可以显示方法和类的源码Ctrl+Shi
ft+K和Ctrl+K键查找的方向相反Ctrl+M将当前视图最大化Ctrl+Shift+O快速地导入类的
路径Ctrl+l光标停留在某变量,按Ctrl+l键,可提供快速实现的重构方法。选中若干行,按Ctrl+l键可将此段代码放
入for,while,if,do或try等代码块中Ctrl+Shift+F代码格式化。如果将代码进行部分选择,仅对
所选代码进行格式化Ctrl+Q回到最后编辑的位置Ctrl+Shift+X将所选字符转为大写Ctrl+F6
切换窗口Ctrl+Shift+Y将所选字符转为小写Ctrl+Shift+/注释代码块Ctrl+Sh
ift+D在debug模式里显示变量值Ctrl+Shift+\取消注释代码块Ctrl+Shift+T
查找工程中的类Ctrl+Shift+M导入未引用的包Ctrl+Alt+Down复制光标所在行至其下一行双
击左括号(小括号,中括号,大括号)将选择括号内的所有内容JSP的运行环境使用JSP进行开发,需要具备以下对应
的运行环境:Web浏览器、Web服务器、JDK开发工具包以及数据库。下面分别介绍这些环境。1.Web浏览器浏览器主要用于客户端
用户访问Web应用的工具,与开发JSP应用不存在很大的关系,所以开发JSP对浏览器的要求并不是很高,任何支持HTML的浏览器都可以
。JSP的运行环境2.Web服务器Web服务器是运行及发布Web应用的大容器,只有将开发的Web项目放置到该容器中,才能使网
络中的所有用户通过浏览器进行访问。开发JSP应用所采用的服务器主要是Servlet兼容的Web服务器,比较常用的有BEAWebL
ogic、IBMWebSphere和ApacheTomcat等。JSP的运行环境Weblogic是BEA公司
的产品,它又分为WebLogicServer、WebLogicEnterprise和WebLogicPortal系列,其中W
ebLogicServer的功能特别强大,它支持企业级的、多层次的和完全分布式的Web应用,并且服务器的配置简单、界面友好,对于
那些正在寻求能够提供Java平台所拥有的一切的应用服务器的用户来说,WebLogic是一个十分理想的选择。JSP的运行环境
Tomcat服务器最为流行,它是Apache-Jarkarta开源项目中的一个子项目,是一个小型的、轻量级的、支持JSP
和Servlet技术的Web服务器,它已经成为学习开发JSP应用的首选。目前Tomcat的最新版本为apache-tomcat-6
.0.16。JSP的运行环境3.JDKJDK(JavaDevelopKit,Java开发工具包)包括运行Java程序所必
须的JRE环境及开发过程中常用的库文件。在使用JSP开发网站之前,首先必须安装JDK,目前JDK的最新版本为jdk1.6.0_03
。课件制作人:王国辉4.数据库任何项目的开发几乎都需要使用数据库,数据库用来存储项目中需要的信息。根据项目的规模,应采用合适
的数据库。如大型项目可采用Oracle数据库,中型项目可采用MicosoftSQLServer或MySQL数据库,小型项目可采用MicrosoftAccess数据库。MicrosoftAccess数据库的功能远比不上MicrosoftSQLServer和MySQL强大,但它具有方便、灵活的特点,对于一些小型项目来说是比较理想的选择。JSP的运行环境课件制作人:王国辉1.3JSP的处理过程当客户端浏览器向服务器发出请求访问一个JSP页面时,服务器根据该请求加载相应的JSP页面,并对该页面进行编译,然后执行。JSP的具体处理过程如下图所示。课件制作人:王国辉1.3JSP的处理过程客户端带有JSP引擎的Web服务器JSP文件Servlet代码Class文件客户端通过浏览器向服务器发出请求,在该请求中包含了请求的资源的路径,这样当服务器接收到该请求后就可以知道被请求的资源请求响应服务器根据接收到的客户端的请求来加载被请求的JSP文件加载转化Web服务器中的JSP引擎会将被加载的JSP文件转化为Servlet编译执行注:虚线箭头代表服务器的操作JSP引擎将生成的Servlet代码编译成Class文件服务器执行这个Class文件服务器将执行结果发送给浏览器进行显示
献花(0)
+1
(本文系YongBlueJea...首藏)