Java Web应用开发技术第一章 Java Web工作原理.pptVIP

Java Web应用开发技术第一章 Java Web工作原理.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
状态行 每个HTTP响应以一个状态行开头。状态行由HTTP协议版本、响应状态码和响应描述组成,三者之间用空格分隔。 响应状态码是一个三位的数字,它分为如下几个组: 1xx:信息,请求收到,继续处理。 2xx:成功,行为被成功地接收、理解和采纳。 3xx:重定向,为了完成请求,必须进一步执行的动作。 4xx:客户端错误,请求包含语法错误或者请求无法实现。 5xx:服务器错误,服务器不能实现一种明显无效的请求。 响应头 响应头与请求头一样,也是一个用冒号分隔的名称/值对,冒号前面是HTTP头的名称,后面是HTTP头的值。典型的响应头包括内容类型描述、内容长度、时间邮戳、服务器信息、内容最后更改的时间。这些信息帮助客户端得到发送过来的内容是什么、内容的大小、数据是否比前一次响应更新。 空白行 最后一个响应头之后是一个空行,发送回车符和退行,表明以下不再有响应头。 消息体 要发送会客户端的HTML文档或其他要显示的内容等。Web服务器把要发送给客户端的文档信息放在消息体中。 1.1.4关闭连接 HTTP响应到达客户端后,浏览器先解析HTTP响应中的状态行,查看请求是否成功的状态代码。然后解析每一个响应头,读取响应消息体,将消息体显示在浏览器页面上。 一个HTML文档可能包含其它的需要被载入的资源,浏览器会识别,并对这些资源再进行额外的请求,这个过程可以一直循环到所有的数据都按照响应头标中规定的格式显示到页面中。数据传送完毕,服务器端关闭连接,随着连接的关闭与连接关联在一起的状态也就消失了。如果不采用特定的状态保持技术,Web无法判断前后两次请求是否来自同一个浏览器,因为采用TCP/IP协议通信判断是否是同一个客户端的方法就是看是否是同一个连接,每次请求应答后就立即关闭连接,将无法进行这样的判断。 1.2 Web服务器的缺点 1.3 服务器端网页编程 在Web服务器创建动态服务器端内容的过程,我们称为服务器端网页编程。服务器端网页编程的技术有多种,包括最早的CGI技术、微软的ASP和ASP.NET技术、开源的PHP、基于Java的Servlet/JSP技术等。 1.3.1 最早的解决方案CGI CGI,即通用网关接口(Common Gateway Interface) CGI处理一个请求 CGI处理多个请求 1.3.2 Java的解决方案 一个简单的Servlet代码示例 import java.io.*; import javax.servlet.*; import javax.servlet.http.* public class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest request. HttpServletResponse response) throws IOException,ServletException { response.setContentType(“text/html”); PrintWriter out = response.getWriter(); out.println(“html”); out.println(“head”); out.println(“titleHello World!/title”); out.println(“/head”); out.println(“body”); out.println(“h1Hello World!/h1”); out.println(“/body”); out.println(“/html”); } } Servlet是常规的Java代码。代码中用了一些新的API,但是不涉及新的语法。 Servlet代码中有我们不熟悉的重要语句。Servlet不属于J2SE,它属于Java EE规范。 Servlet对标准类(HttpServlet)进行了扩展。 Servlet没有main()方法。 Servlet受控于另一个Java应用程序,这个Java应用程序称为Web容器(Container)。Web容器负责管理和运行Servlet 容器对Servlet的支持包括: 通信支持。利用容器提供的方法,我们能轻松地让Servlet与Web服务器对话。不用我们自己建立ServletSocket、监听某个端口、创建流等。容器知道自己与Web服务器之间的协议,所以我们的Servlet不用担心Web服务器和我们自己的Web代码之间的API。我们要考虑的只是如何在Servlet中实现业务逻辑。 生命周期管理。容器控制着Servle

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档