Web应用程序(精品).ppt
Web 应用程序 概述网络应用程序的发展qC/S应用程序(胖客户端)qB/S应用程序(瘦客户端)2Web应用程序的工作原理q把请求(请求就是一个网址)发送到服务器端响应的Web应用程序(静态网页和动态网页),Web程序接收请求后进行相关处理,并由Web程序把结果以文本或网页的形式,返回到浏览器。q因此当访问Web 站点时,我们所看到的所有内容都是在浏览器中显示的。q在HTTP协议和B/S结构的基础上实现Web 应用程序在 Web 服务器上运行 播放一首歌作为响应用户请求播放一首歌3HTTP 协议q 超文本传输协议q主要用于在WWW(world wide web)信息高速公路上传输信息的协议,目前版本是1.1qHTTP是应用层的协议。HTTP是一个基于请求/响应模式的,HTTP 的连接建立,就是利用传输层的TCP协议来完成的。一方等待,一方发起连接。q默认在80端口q无状态协议4URL统一资源定位符vUniform Resource LocationUniform Resource Location的格式:的格式:http:/host:port http:/host:port abs_pathabs_path 解析如下:解析如下:vhttphttp表示要通过表示要通过HTTPHTTP协议来定位网络资源。协议来定位网络资源。vhosthost表示合法的表示合法的InternetInternet主机域名或主机域名或IPIP地址地址(以点分十进制的格式以点分十进制的格式表示表示)vportport用于指定一个端口号,拥有被请求资源的服务器主机监听该用于指定一个端口号,拥有被请求资源的服务器主机监听该端口的端口的TCPTCP连接。如果连接。如果portport是空,或者没有给出,则使用默认的端是空,或者没有给出,则使用默认的端口号口号8080。vabs_pathabs_path指定请求资源的指定请求资源的URIURI,如果,如果URIURI中没有给出中没有给出abs_pathabs_path,那,那么当它作为请求么当它作为请求URIURI时,必须以时,必须以“/”/”的形式给出。通常,这个工的形式给出。通常,这个工作浏览器自动帮我们完成了。作浏览器自动帮我们完成了。5URL示例下面有下面有3 3种形式的种形式的URLURL:2.http:/www.haha.org/3.http:/192.168.0.104:8080/index.jsp它们之间的它们之间的关系关系是是:如果输入第一种如果输入第一种URLURL,浏览器会自动将其转换为第二,浏览器会自动将其转换为第二种(请注意种(请注意/),并使用默认的端口),并使用默认的端口8080。第三种。第三种URLURL使用使用IPIP地址和指定端口号访问资源,由于我们使用的服务器是地址和指定端口号访问资源,由于我们使用的服务器是TomcatTomcat,它的默认端口是,它的默认端口是80808080。6URIvUniform Resource IdentifierUniform Resource Identifier统一资源标识符统一资源标识符:URIURI纯粹纯粹是个符号结构,用于指定构成是个符号结构,用于指定构成WebWeb资源的字符串的资源的字符串的各个不同部分。各个不同部分。URLURL是一种特殊类型的是一种特殊类型的URIURI,它包,它包含了用于查找某个资源的足够信息。含了用于查找某个资源的足够信息。其他的其他的URIURI,如:如:不属于不属于URLURL,因为它里面,因为它里面不存在根据该标识符来查找的任何数据。不存在根据该标识符来查找的任何数据。7qHTTP 消息包括:q请求q响应HTTP 协议8HTTP请求v客户端客户端(浏览器浏览器)通过发送通过发送HTTPHTTP请求向服务器请求对资源的请求向服务器请求对资源的访问。访问。v客户端发往服务端的信息格式如下客户端发往服务端的信息格式如下:请求方法请求方法 URL HTTPURL HTTP协议的版本号协议的版本号提交的元信息提交的元信息*空行空行*实体实体v请求方法是对这次连接工作的说明,目前请求方法是对这次连接工作的说明,目前HTTPHTTP协议已经发协议已经发展到展到1.11.1版,它包括版,它包括GETGET、HEADHEAD、POSTPOST、DELETEDELETE、OPTIONSOPTIONS、TRACETRACE、PUTPUT七种。元信息是关于当前请求的信息。通过分七种。元信息是关于当前请求的信息。通过分析元信息,可以检查实体数据是否完整,接收过程是否出析元信息,可以检查实体数据是否完整,接收过程是否出错,类型是否匹配等。元信息的引入使错,类型是否匹配等。元信息的引入使HTTPHTTP协议通信更加协议通信更加稳妥可靠。实体是请求的具体内容。稳妥可靠。实体是请求的具体内容。9HTTP请求GET http:/ HTTP/1.0accept:www/source;text/html;image/gif;image/jpeg;*/*User_Agent:myAgent*空行空行*v这个报文是向这个报文是向主机请求一个缺省主机请求一个缺省HTMLHTML文文档。客户端档。客户端HTTPHTTP协议版本号是协议版本号是1.01.0版,元信息包括可接收版,元信息包括可接收的文件格式,用户代理,每一段之间用回车换行符分隔,的文件格式,用户代理,每一段之间用回车换行符分隔,最后以一个空行结束。最后以一个空行结束。10HTTP请求查询字符串(240255 个字符)vGETGET方法方法v用于获取由用于获取由Request-URIRequest-URI所标识的资源的信息。当我们通所标识的资源的信息。当我们通过在浏览器的地址栏中直接输入网址的方式去访问网页的过在浏览器的地址栏中直接输入网址的方式去访问网页的时候,浏览器采用的是时候,浏览器采用的是GETGET方法向服务器获取资源。检索方法向服务器获取资源。检索信息时使用信息时使用GETGET方法,要检索的信息称为查询字符串,如:方法,要检索的信息称为查询字符串,如:http:/www.google.co.uk/search?h1=http:/www.google.co.uk/search?h1=en&qen&q=java=java11HTTP请求vPOSTPOST方法方法vPOSTPOST方法用于向目的服务器发出请求,要求服务器接受附方法用于向目的服务器发出请求,要求服务器接受附在请求后面的数据在请求后面的数据,且对发送的数据的量没有限制。且对发送的数据的量没有限制。vPOSTPOST方法用于传输敏感数据,如用户密码,银行帐号等。方法用于传输敏感数据,如用户密码,银行帐号等。12HTTP响应v在接受和释放请求消息后,服务器会返回一个在接受和释放请求消息后,服务器会返回一个HTTPHTTP响应消息。与响应消息。与HTTPHTTP请求类似,请求类似,HTTPHTTP响应也由响应也由3 3部分组成,分别是:部分组成,分别是:HTTP协议的版本号协议的版本号 应答状态码应答状态码 应答状态码说明应答状态码说明接收的元信息接收的元信息*空行空行*实体实体13HTTP响应HTTP/1.1 200 OKDate:Tue,14 Sep 1999 02:19:57 GMTServer:Apache/1.2.6Connection:closeContent-Type:text/html*空行*htmlhead./headbody./body/htmlHTTP/1.1表示这个HTTP服务器是1.1版,200是服务器对客户请求的应答状态码,OK是对应答状态码的解释,之后是这个文档的元信息和文档正文。v状态代码由状态代码由3 3位数字组成,表示请求是否被理解或满足。第一个数字位数字组成,表示请求是否被理解或满足。第一个数字定义了响应的类别。定义了响应的类别。v1XX1XX:指示信息:指示信息表示请求已接受,继续处理。表示请求已接受,继续处理。v2XX2XX:成功:成功v3XX3XX:重定向:重定向-要完成请求必须进行更进一步的操作。要完成请求必须进行更进一步的操作。v4XX4XX:客户端错误:客户端错误-请求有语法错误或请求无法实现。请求有语法错误或请求无法实现。v5XX5XX:服务器端错误。:服务器端错误。14HTTP 协议 3-2请求消息请求消息请求行标题信息方法资源名称版本GET/POSTbar01.jpgHTTP/1.1浏览器类型内容类型User-Agent:Mozilla/4.0(compatible;MSIE 4.0:Windows 95 Accept:image/gif,image/jpeg,text/*,*/*响应消息响应消息 状态行标题信息版本状态代码说明HTTP/1.1200OK服务器软件修改日期大小(字节)内容类型Server:JavaWebServerLast modified:Tuesday,07-Sep-04 1:14:34 GMTContent-length:100Content-type:text/plain15WEB应用运行环境qJDKq应用程序服务器qTomcat:默认监听端口为808016Web 应用程序目录结构 Web 应用程序应用程序qHTML 文件q图像qServletqJSP 页面qJavaBeanqJar 文件qAppletq标签文件q标签库描述符文件q部署描述器.war 文件Web 应用程序目录结构index.html,login.jsp,contactus.jspViewBooks.jsp,logo.jpgbook1.jpgAddBook.class,DeleteBook.class sqljdbc.jar,DisplayBook.tag web.xml,books.tld 文档根目录文档根目录文档根目录文档根目录静态文件(html,images)WEB-INF JSP类库标签.tld,web.xml17WEB编程技术q静态编程技术q静态HTML网页q获取其它网站的静态资源(URL)q动态编程技术qServlet、JSP、JaveBean18总结q与桌面应用程序相比,Web 应用程序易于维护、升级和部署q使用 GET 方法请求的页面可以设置为书签或通过电子邮件发送q发送信用卡号、密码等敏感信息时使用 POST 方法qWEB应用目录的配置qWeb应用程序有其标准的目录结构和文件要求19