第5讲-构建Web应用技术(服务器端技术)要点课件.ppt
《第5讲-构建Web应用技术(服务器端技术)要点课件.ppt》由会员分享,可在线阅读,更多相关《第5讲-构建Web应用技术(服务器端技术)要点课件.ppt(128页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、构建构建Web应用技术应用技术服务器端技术服务器端技术服务器端逻辑体系结构服务器端逻辑体系结构B/S交交互互动动作作:浏浏览览器器的的每每一一个个动动作作都都产产生生一一个个对对服服务务器器的的请请求求,服服务务器器处处理理这这个个请请求求计计算算结结果果,生生成成一一个个新新的的页页面面发发送到客户端送到客户端。优优点点:客客户户端端初初次次启启动动快快、对对客客户户端端资资源源要求低。要求低。支支持持的的技技术术:服服务务器器端端技技术术,如如JSPJavaServlet、ASP等。等。服务器端技术发展服务器端技术发展静态 -动态 SSI(Server Side Includes)1993
2、年,CGI 1.0 发布。1994年,发明PHP1996年,ASP技术引入 1997年,Servlet技术问世 1998年,JSP技术诞生 服务器端技术概况服务器端技术概况目前在服务器端生成动态页面的技术有:目前在服务器端生成动态页面的技术有:公共网关接口公共网关接口服务器端脚本技术服务器端脚本技术服务器端插件技术服务器端插件技术(API)Servlet技术技术JSP技术技术中间件技术中间件技术最早的最早的服务器端服务器端网页生成网页生成技术技术-SSI SSI通常称为服务器端嵌入,是一种基于服通常称为服务器端嵌入,是一种基于服务器的网页制作技术;务器的网页制作技术;在以在以.shtml为扩展
3、名的为扩展名的SSI文件中,包含标文件中,包含标准的准的HTML编码和编码和SSI指令;指令;标准的标准的HTML编码会被直接送到浏览器上,编码会被直接送到浏览器上,而内嵌的而内嵌的SSI命令则先被网络服务器解释执行,命令则先被网络服务器解释执行,输出信息也将作为标准的输出信息也将作为标准的HTML而被送至浏览而被送至浏览器。器。最早的最早的服务器端服务器端网页生成网页生成技术技术-SSI SSI example 新闻 新闻更新日期:*功能非常有限 CGI概述概述 CGI(CommonGatewayInterface):通用网关接口是通用网关接口是第一种真正使服务器能根第一种真正使服务器能根据
4、运行时的具体情况,动态生成据运行时的具体情况,动态生成HTML页面的页面的技术技术。通过通过CGI接口,接口,Web服务器能够执行服务器能够执行CGI应用程序,应用程序,接收用户的输入,接收用户的输入,并将应并将应用程序的输出,如文字、图形、声音等传用程序的输出,如文字、图形、声音等传递给一个递给一个Web浏览器。浏览器。CGI程序语言程序语言:C、Shell、Perl和和VisualBasic等。等。CGI概述概述 CGI程序在程序在UNIX系统系统中中放在放在cgi-bin子目录子目录下下,在在Windows系统系统中放在中放在cgi-win子目录子目录下。下。CGI程序两种调用方式程序两
5、种调用方式:(1)URL调用:调用:http:/gjy.sic.o.ml.org/cgi-win/cgi.exe(2)HTML里的里的Form调用,调用,处理表单。处理表单。CGI工作流程:获取工作流程:获取HTTP请求信息;执行请求信息;执行CGI程序;生成程序;生成HTML文件返回浏览器。文件返回浏览器。CGI工作原理工作原理Unix平台下,平台下,Web服务器与服务器与CGI程序通过输入流程序通过输入流scanf获得获得用户输入、输出流用户输入、输出流printf生成输出结果;生成输出结果;Windows平台下通过文件系统来实现平台下通过文件系统来实现Web服务器与服务器与CGI程序程序
6、的信息交流。浏览器的当前文件使用的信息交流。浏览器的当前文件使用get,post等方法调用等方法调用CGI程序,并将要传送的信息送到服务器端程序,并将要传送的信息送到服务器端。CGI通过标准输入通过标准输入(STDIN)获取用户输入信息,通过标准输出()获取用户输入信息,通过标准输出(STDOUT)向用户传递结果。向用户传递结果。WebServerCGIProgramhttp:/server/form-proc.exeHTMLCGI工作原理工作原理(Windows平台平台)CGI程序执行程序执行CGI是是运运行行在在服服务务器器上上的的程程序序。它它可可以以用用任任何语言编写何语言编写-只要能
7、够在你的服务器上运行。只要能够在你的服务器上运行。CGI脚脚本本可可能能是是一一个个编编译译好好的的程程序序或或者者批批命命令文件或者其他可执行的程序。令文件或者其他可执行的程序。服务器端对每个服务器端对每个CGI请求产生一个新的进程。请求产生一个新的进程。CGI程序执行程序执行编程语言编程语言:C/C+Perl是Practical Extraction and Report Language的缩写TCL即Tool Command Language,它是高级的跨平台的 Script语言VB缺点:缺点:每次对CGI的请求产生新进程,会限制服务器处理多请求的能力。服务器端脚本技术服务器端脚本技术页
8、面中嵌入脚本,页面被请求时脚本由服务器页面中嵌入脚本,页面被请求时脚本由服务器解释执行,产生动态内容解释执行,产生动态内容。可采用的技术:可采用的技术:IBM Net.data MicroSoft:ASP Allaire:ColdFusion PHP 缺点缺点:局限于特定web服务器产品和OS CGI与与PHP、ASP1994年,Rasmus Lerdorf发明了专用于Web服务端编程的PHP(Personal Home Page Tools)语言;PHP语言将HTML代码和PHP指令合成为完整的服务端动态PHP页面文件、具有PHP文件处理功能的WEB服务器生成HTML文档;1996年,Mic
9、rosoft借鉴PHP的思想,在其Web服务器IIS 3.0中引入了ASP技术。ASP使用的脚本语言是我们熟悉的VBScript和javascript。CGI与与PHP、ASP?php$db=mysql_connect(“localhost”,“root”);mysql_select_db(“mydb”,$db);$result=mysql_query(“SELECT*FROM employees”,$db);printf(“First Name:%sn”,mysql_result($result,0,“first”);printf(“Last Name:%sn”,mysql_result($
10、result,0,“last”);?服务端插件技术服务端插件技术插插件件即即英英文文的的Plug-In,它它也也是是程程序序,它它是是用用遵遵循循一一定定规规范范的的API编编写写出出来来的的。Web浏浏览览器器和和服服务务器器都都能能够够直直接接调调用用插插件件代代码码。插插件件(Plug-In)软软件件安安装装之之后后,就就成成为为他他们们的的一一部部分分,处处理理特特定定类类型型的的请请求求。最最著著名名的的API是是Netscape公公司司的的NSAPI和和Microsoft公公司司的的ISAPI.缺缺点点:由由于于NSAPI或或ISAPI是是动动态态链链接接的的方方式式,因因此此在在
11、执执行行时时若若出出现现问问题题,会会导导致致Web服服务务器器瘫瘫痪痪;对对平平台台的的依依赖赖性性太太高高;只只能能使使用用C语语言开发。言开发。服务端服务端APIAPI(ApplicationProgramInterface):):应用程序接口应用程序接口API解决解决多线程问题,而多线程问题,而CGI无法实现多线无法实现多线程程API使用动态链接库使用动态链接库只能用只能用C语言编写语言编写两种两种API:Netscape公司的公司的NSAPI和和Microsoft的的ISAPI服务端服务端API Netscape和和MicroSoft公司分别提供了基于本身公司分别提供了基于本身的的W
12、eb服务器服务器的的API调用调用:NetscapeNSAPI、MicroSoftISAPI基本思路基本思路是由是由HTTP守护进程守护进程加载可独立执行的加载可独立执行的CGI程序改为加载动态链接库,取消了启动与释放程序改为加载动态链接库,取消了启动与释放进程的开销进程的开销。服务端服务端APIISAPI示例网页示例网页输入注册信息输入注册信息:姓名姓名:地址地址:信箱信箱:服务端服务端API优点:优点:1)执行速度快;)执行速度快;2)多线程处理多用户访问。)多线程处理多用户访问。缺点:缺点:1)NSAPI及及ISAPI对网站平台的依赖型太对网站平台的依赖型太高;高;2)NSAPI及及IS
13、API只提供只提供C程序语言的界程序语言的界面;面;3)影响)影响Web服务器的稳定性。服务器的稳定性。Java Servlet 技术技术Servlet 是什么?是什么?Servlet是一种用是一种用Java写的写的Web组件,组件,是是Java的扩展类,它的目的是产生动态内容;的扩展类,它的目的是产生动态内容;Servlet组件使用组件使用JavaServletAPI提供的类提供的类和方法;和方法;Servlet组件在组件在Web容器中执行,容器中执行,Web容器提容器提供运行时的服务;供运行时的服务;启动启动Web服务器或客户机第一次请求服务时,服务器或客户机第一次请求服务时,可以自动装入
14、可以自动装入Servlet。装入后,装入后,Servlet和和采用轻量级线程响应多个客户机发出的请求采用轻量级线程响应多个客户机发出的请求;Servlet技术技术JavaServlet是一种在服务器端运行的小型是一种在服务器端运行的小型Java程程序。它可以作为一种插件嵌入序。它可以作为一种插件嵌入到到Web服务器中,提服务器中,提供诸如供诸如HTTP,FTP等协议服务或用户订制的协议等协议服务或用户订制的协议服务服务。Servlet可以可以从从HTML表单中获取数据,进行表单中获取数据,进行网站数据库的更新。网站数据库的更新。Servlet技术技术ServletServlet就是就是Java
15、 Java ServletServlet ,是一个是一个JavaJava类类,是一,是一个基于个基于JavaJava技术的运行在服务器端的程序;技术的运行在服务器端的程序;ServletsServlets是是JAVAJAVA2.02.0中新增的一个全新功能中新增的一个全新功能,是是一种采用一种采用JAVAJAVA技术来实现技术来实现CGICGI功能的一种技术;功能的一种技术;ServletServlet运行于由运行于由ServletServlet引擎所管理的引擎所管理的JavaJava虚拟机虚拟机中,被来自中,被来自WebWeb客户机的请求所唤醒并用来处理请客户机的请求所唤醒并用来处理请求;求
16、;主要主要依赖依赖两个软件包(两个软件包(APIAPI):):Javax.servletJavax.servlet包和包和Javax.servlet.httpJavax.servlet.http包;包;ServletServlet的开发工具:的开发工具:J2SDKJ2SDK开发工具箱、开发工具箱、JbuilderJbuilder 等集成开发工具。等集成开发工具。Servlet技术技术-特性特性持久性和性能持久性和性能:JAVAServlet来说,在来说,在JAVA虚拟机上,每虚拟机上,每一个请求由一个一个请求由一个小小JAVA线程线程(thread)响响应,而不是一个应,而不是一个大大操作系统
17、进程。操作系统进程。基于基于Java,具有具有Java的的优势优势。JAVAServletAPI定义定义了了JAVAServlet和和Web服务器软件之间的接口。服务器软件之间的接口。JSP(Java Server Pages)JSP网页就是在网页就是在HTML网页中包含了能够生网页中包含了能够生成动态内容的可执行应用程序代码成动态内容的可执行应用程序代码(JSP标记标记);JSP用于创建可支持跨平台及跨用于创建可支持跨平台及跨Web服务服务器的动态网页器的动态网页;可以调用用可以调用用Java类访问外部应用和数据资源;类访问外部应用和数据资源;JSP将应用程序逻辑和页面显示分离将应用程序逻辑
18、和页面显示分离。JSP例例WelcomeToday is Day:Year:JSP例例 Good Morning Good AfternoonJSP与与Java ServletJSP技术的特点技术的特点内容表达与数据生成分离内容表达与数据生成分离更好的更好的M/V/C易用性易用性移植与跨平台移植与跨平台基于基于Java支持协作开发支持协作开发JSP与其它动态网页技术比较与其它动态网页技术比较 与传统的与传统的CGI方式相比方式相比JSP和和ASP相比相比JSP和纯和纯Servlet相比相比JSP和和JavaScript相比相比几种服务器端技术的比较几种服务器端技术的比较本节结束Servlet&
19、JSP开发技术开发技术JavaServlet开发技开发技术术采用采用Servlet的原因的原因性能性能比比CGI高效高效Servlet可轻松地处理多个并发请求可轻松地处理多个并发请求 Servlet 是什么?是什么?Servlet是一种用Java写的Web组件,是Java的扩展类,它的目的是产生动态内容;Servlet组件使用Java Servlet API 提供的类和方法;Servlet组件在Web容器中执行,Web容器提供运行时的服务;启动 Web 服务器或客户机第一次请求服务时,可以自动装入 Servlet。装入后,Servlet 和采用轻量级线程响应多个客户机发出的请求;Java Se
20、rvlet运行运行Java Servlet是一种在服务器端运行的Java程序。它可以提供诸如HTTP,FTP等协议服务或用户订制的协议服务。Servlet可以从HTML表单中获取数据,并可进行数据处理和更新。Servlet的功能的功能?创建并返回一个包含基于客户请求性质的动态且创建并返回一个包含基于客户请求性质的动态且内容完整的内容完整的HTML页面页面;创建可嵌入到现有创建可嵌入到现有HTML页面中的一部分页面中的一部分HTML页面页面;与其它服务器资源(包括数据库和基于与其它服务器资源(包括数据库和基于Java的的应用程序)进行通信;应用程序)进行通信;处理与多个客户机处理连接,接收多个客
21、户机的处理与多个客户机处理连接,接收多个客户机的输入,并将结果广播到多个客户机上(网络游戏输入,并将结果广播到多个客户机上(网络游戏服务)服务);作为数据过滤器(作为数据过滤器(Filter),),在调用在调用Servlet之前之前或之后调用或之后调用;作为服务器的标准公用服务例行程序,被其它作为服务器的标准公用服务例行程序,被其它Servlet调用。调用。Servlet的功能的功能?Servlet经常用于处理如下任务:经常用于处理如下任务:检查和处理用户输入检查和处理用户输入处理重要的业务逻辑处理重要的业务逻辑数据库查询、更新数据库查询、更新处理复杂的处理复杂的Web事务事务处理处理Web页
22、面的转发操作页面的转发操作JavaServlet生命周期生命周期Servlet生命期周期生命期周期-初始化初始化装入时刻:装入时刻:启动服务器时自动装入启动服务器时自动装入;首次向首次向Servlet发出请求时发出请求时;重新装入重新装入Servlet时。时。装入装入Servlet后:后:创建一个创建一个Servlet实例实例(而不是多个而不是多个);调用调用Servlet的的init()方法;方法;Servlet初始化参数被传递初始化参数被传递给给Servlet配置对象;配置对象;特定特定Servlet如需要初始化特有的资源,需要重载如需要初始化特有的资源,需要重载init()方法,并在方法
23、最后呼叫方法,并在方法最后呼叫super.init()。Servlet生命期周期生命期周期-请求处理请求处理服服务务器器将将每每个个客客户户请请求求包包装装成成Servlet接接受受的的“请求请求”对象和对象和“响应响应”对象;对象;调调用用Servlet的的service()方方法法用用于于传传递递“请求请求”和和“响应响应”对象;对象;service()方方法法从从“请请求求”对对象象获获得得请请求求信信息息、处处理理该该请请求求并并用用“响响应应”对对象象的的方方法法以将响应传回客户机;以将响应传回客户机;HttpServlet类类有有自自己己的的service()方方法法,该该方方法法
24、可可以以调调用用其其它它子子方方法法来来处处理理请请求求,通通常是常是doGet()、doPost()或其它的方法。或其它的方法。Servlet生命期周期生命期周期-终止终止当当服服务务器器卸卸载载Servlet(实实例例)时时,调调用用该该Servlet的的destroy()方方法法终终止止当当前前Servlet实实例的运行,释放资源。例的运行,释放资源。特特定定Servlet如如需需要要特特有有的的资资源源关关闭闭,需需要要重重 载载 destroy()方方 法法,并并 在在 方方 法法 最最 后后 呼呼 叫叫 super.destrory()。Servlet生命期周期生命期周期基于基于S
25、ervlet的的Web交互交互JavaServletAPIJavaServlet开开发发工工具具(J2SDK)提提供供了了多多个个软软件件包,在编写包,在编写Servlet时需要用到这些软件包;时需要用到这些软件包;J2SDK包括两个用于所有包括两个用于所有Servlet的基本软件包:的基本软件包:javax.servlet(7个接口个接口5个类)个类)javax.servlet.http(HTTP Servlet 5个接口个接口4个类个类)JavaServletAPI包含在上述两个包中;包含在上述两个包中;The Servlet API is a set of Java classes wh
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 构建 Web 应用技术 服务器端 技术 要点 课件
限制150内