javaweb清华大学出版社.ppt_第1页
javaweb清华大学出版社.ppt_第2页
javaweb清华大学出版社.ppt_第3页
javaweb清华大学出版社.ppt_第4页
javaweb清华大学出版社.ppt_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

主讲教师:王春梅 Java Web 开发技术 课课 程程 概概 述述 v 课程目的 了解Web应用开发的基础知识; 掌握使用Java技术开发Web应用程序的方法; 为继续学习Java EE高级技术奠定基础。 v 课程要求 掌握Java Web应用开发的主要技术; Servlet技术 JSP技术 能够开发一个简单Web应用程序。 预预 备备 知知 识识 v HTTP、HTML知识、JavaScript、CSS、DOM、XML等 v Java语言知识 v 数据库知识 使用教材使用教材 Java Web 编程技术 沈泽刚 秦玉平 主编 清华大学出版社 2010.3 主主 要要 内内 容容 v 第1章 Web应用概述 v 第2章 Servlet模型 v 第3章 Servlet容器模型 v 第4章 会话管理 v 第5章 JSP技术模型 v 第6章 Web组件与JavaBeans v 第7章 JDBC数据库访问 v 第8章 使用表达式语言(EL) v 第 9章 使用自定义标签 v 第10章 JSTL与标签文件 v 第11章 Web事件模型与过滤器 v 第12章 Web应用程序的安全性 v 第13章 Struts框架基础 v 第14章 Ajax技术基础 主要参考文献 Web 技术 Jeffrey C. Jackson 陈宗斌 等译 清华大学出版社 2007.6 Servlet与JSP核心编程(第2版 第1卷) Volume 1 Marty Hall 赵学良 译 清华大学出版社 2004.6 Servlet与JSP核心编程(第2版 第2卷) Marty Hall,Larry Brown 胡书敏 译 清华大学出版社 2009.6 JSP完全学习手册 张银鹤 等著 清华大学出版社 2008.6 Head First Servlet out.println(“Hello World!“); % v 1. HTML HTML是英文HyperText Markup Language的缩写,含义 为超文本标记语言 它是一种用来制作超文本文档的简单标记语言。 它不是一种编程语言,是一种标记语言。 HTML概述 v 1. URL Uniform Resource Locator 叫做统一资源定位符 命名Web页面和其他资源 。 v 2.URL的示例: /index.html http:/localhost:8080/bookstore/ URL v 3. URL的组成: 协议名称 http, ftp, news,mailto,file 主机的DNS名 或IP地址 可选的端口号 80, 8080, 1521 资源的名称 /index.html v 1.2.1 理解HTTP协议 v 1.2.2 HTTP请求结构 v 1.2.3 HTTP响应结构 1.2 HTTP基础 v 1. HTTP协议 HTTP(Hypertext Transfer Protocol)协议 是一个基于请求-响应的无状态的协议。 v 2. 运行机制 客户向服务器发送一个对某种资源的 HTTP 请求 服务器返回对所需要的资源的 HTTP 响应 图1.1说明了其运行机制 理解HTTP协议 图1.1 HTTP请求响应示意图 客户 (浏览器) Web 服务器 1. 打开连接 2. HTTP请求 3. HTTP响应 4. 关闭连接 理解HTTP协议 v 3. Internet中Web资源 资源包括HTML文件、图像文件和servlet等。 每个资源都通过唯一的统一资源标识符URI(Uniform Resource Identifier)标识。 v 4. URI、URL、URN比较 URI: 标识任何资源的字符串 URI是URL与URN的超集。 例如:files/sales/report.html是一个URI v URL: 指定了如http、ftp及mailto等Internet协议的URI称为 URL URL是非正式的术语,因此不在技术规范中使用 例如:/files/sales/report.html是 一个URL v URN: 它唯一标识一个资源但不指定如何访问资源 ISBN:1-930110-59-6是一个URN,因为它唯一地标识某 一本书,但它不是URL,因为它没有指定如何检索该书。 动态Web文档技术 v 1.3.1 静态Web文档和动态Web文档 v 1.3.2 服务器端动态文档技术 v 1.3.3 客户端动态文档技术 v 1.主动资源与被动资源 Web资源可分为主动资源和被动资源。 如果资源本身没有任何处理功能它就 是被动的 如果资源有自己的处理功能,它就是 主动的 示例: 浏览器向 /myfile.html发送一个 请求,Web服务器就在上查找 myfile.html文件,然后把它返回给浏览器,它是 被动资源。 向/ReportServlet发送 一个请求。 静态Web文档和动态Web文档 v Web应用程序通常是主动资源和被动资源的混合, v 主动资源的意义: 正是由于主动资源才使Web应用程序几乎具有与一般应 用程序同样的交互性。 Web应用程序中的主动资源通常向用户提供动态内容并 使它们通过浏览器执行业务逻辑。 v Web文档是一种重要的Web资源,Web文档又分为静态 的和动态的。 2. 静态Web文档 在Web发展的早期,Web文档只是一种以文件的形式存放 在服务器端的文档。客户发出对该文档的请求,服务器返回 这个文件。这种文档称为静态文档(static document)。 v 静态Web文档的特点 文档创作完毕后就存放在Web服务器中,在被用户浏览 的过程中,其内容不会改变。 用户每次对静态文档的访问所得的结果都是相同的。 优点: 简单 可以由不懂程序设计的人员来创建 缺点: 不够灵活 信息变化时,就要由文档的作者手工对文档修改 v 3.动态Web文档 动态文档(dynamic document)是指文档的内容是根据需 要生成的。 动态文档技术分类: 服务器端动态文档技术 客户端动态文档技术 v CGI技术 v Servlet技术 v HTML页面中嵌入脚本技术 服务器端动态Web文档技术 1. CGI技术 CGI(Common Gateway Interface,公共网关接口) CGI是一种标准化的接口 允许Web服务器与后端程序及脚本通信,这些后端程序 和脚本能够接受输入信息(例如,来自表单),并生成HTML 页面作为响应。 CGI与Web服务器和应用程序的关系 浏览器Internet Web 服务器 C G I 应用 程序 这里的应用程序一般也称为CGI程序。 CGI程序可以用服务器支持的任何语言来编写,其中最 常见的是Perl语言. 服务器在接收到一个对CGI程序的请求时,不会返回该 文件,而是运行该文件。 v 2. HTML文档中调用CGI程序有两种方法: 通过表单的action属性 按提交按钮后,将请求发送给该程序. 使用锚标记(),这与链接文档相似。 href属性中指定CGI程序文件名的完整的URL路径 示例程序: 源代码 v 4. Servlet技术: Sun公司开发的服务器端Web编程技术. 主要目的是替代CGI编程. 有很多优点. 本课程前5章要讨论的内容. v 5. 在HTML页面中嵌入脚本技术 在HTML页面中嵌入少量的脚本,然后让服务器 来执行这些脚本以便生成最终发送给客户的页面。 常用技术包括: PHP、JSP和ASP v 6. PHP技术: PHP(PHP:Hypertext Preprocessor)称为超 文本预处理器,它是一种HTML内嵌式的语言。 它可以比CGI或Perl更快速地执行动态网页。 服务器要求包含PHP的Web页面的文件扩展名为 php,而不是html或htm。 v 7. ASP技术: ASP是Active Server Page的缩写,称为活动 的服务器页面。 它使用Microsoft的脚本语言Visual Basic Script来生成动态内容。 使用这种技术的文件的扩展名为asp。 v 8. JSP技术: JSP是JavaServer Pages的缩写,含义是Java 服务器页面 . 页面中的动态部分是用Java语言编写的。 使用这种技术的文件的扩展名为jsp。 v 1. 客户端动态文档技术的需求 响应鼠标移动事件 直接与用户交互 客户端验证等 v 2.客户端动态文档技术的实现: 在HTML页面中嵌入脚本,而且这些脚本是客户机 上被执行的而不是在服务器上执行的。 从HTML 4.0开始,可以通过标签来使用 这样的脚本。最流行的客户端脚本语言是JavaScript。 客户端动态Web文档技术 v 3. JavaScript是一种脚本语言 它受到了Java程序设计语言的一些思想的启发 它与Java完全不是一回事。 JavaScript脚本语言非常适合交互式页面的设计。 v 4.一个包含JavaScript的页面 源代码: 执行结果: chap01register.html v 5.客户端动态文档的技术与服务器端动态文档的技术的区别 服务器端动态文档技术的页面,是在服务器端执行的。 对一个PHP文件的请求,服务器首先执行该页面,PHP脚 本将产生一个新的HTML页面,然后服务器将该页面送回给浏 览器以便显示。 执行过程如下图: 服务器端动态文档的执行 用户 浏览器服务器 PHP模块 12 34 v 客户端动态文档技术的页面,是在客户端执行的。 v 对于程序1.5的例子,当我们单击submit按钮时,浏览器解释执行 该页面上包含的JavaScript函数。所有的工作都是在本地的浏览器 内部完成。浏览器并没有与服务器联系。 v 执行过程如下图: 客户端动态文档的执行 用户 浏览器 服务器 JavaScript 1 2 1.5.1 什么是Servlet? 1.5.2 什么是Servlet容器 1.5.3 Servlet的开发 1.5.4 错误处理 1.5.5 Servlet与CGI比较 1.5.6 什么是JSP页面? 1.5.7 使用Servlet还是JSP? 1.5 Servlet与JSP入门 v Servlet一般翻译成服务器端小程序,它是使用Servlet API以及相关的类编写的Java程序。主要用来扩展Web服 务器的功能。 v Servlet技术实际上是CGI技术的一种替代。 什么是Servlet v Web服务器使用一个单独的模块装载和运行Servlet。这 个专门用于Servlet管理的单独模块称为Servlet容器( container),或称Web容器。 v 图1.17显示了各种不同的组件构成的一个示意图。 什么是Servlet容器 Web 服务器 Servlet容器 *.html Servlet DB HTTP请求 HTTP响应 Web 浏览器 v Servlet容器可以分为以下三种类型:独立运行的、进 程内运行的和进程外运行的。独立运行的Servlet容器 通常是基于Java的Web服务器,其结构如图所示。 所有的请求 Servlet容器处理空间 (JVM) 主Web服务器 Servlet容器 v Servlet是Web应用程序的一个组件。Web应用程序具有严格定义 的目录结构。在Tomcat中,每个应用程序都应在安装目录的 webapps目录下有一个目录。 v 建立一个名为helloapp的Web应用程序 v 1. 编写代码 HelloServlet.java v 2. 编译 v 3. 部署 web.xml v 4. 运行 1.5.3 Servlet的开发 v import javax.servlet.*; v import javax.servlet.http.*; v 在Tomcat中,它们包含在 libservlet-api.jar文件中。 v 须将该文件所在的路径添加到CLASSPATH环境变量中。 地址栏中输入下面的URL: http:/localhost:8080/helloapp/hello v 在执行Servlet时,由于各种原因可能会出现错误,下 面是最经常出现的错误: HTTP Status 404 -/helloapp/hello. The requested resource(/helloapp/hello) is not available. v 404错误是最常见的一种错误,它表示请求的资源不可 用。有多种原因可导致该错误。你可以从这几方面检查 : 查看给定的路径名是否正确(包括大小写); 查看Servlet类文件是否在WEB-INFclasses目录 中; 查看web.xml文件内容是否正确; 查看Tomcat服务器是否启动。 1.5.4 错误处理 优点: (1)高效性。每个请求由一个轻量级的Java线程处理 (2)方便性。提供了大量的实用工具例程 (3)功能强大。许多使用传统CGI程序很难完成的任务都 可以轻松地完成。 (4)可移植性好 。为一个服务器编写的Servlet无需任 何实质上的改动即可移植到其他服务器上。 (5)节省投资 。有许多廉价甚至免费的Web服务器可供 个人或小规模网站使用 1.5.5 Servlet的优缺点 缺点: v 缺点是它经常既包含业务逻辑又包含表示逻辑。 v 表示逻辑(presentation logic)是展示给用户的信息,在 Servlet中产生HTML响应就是表示逻辑。 v 业务逻辑(business logic)是完成某种数据处理和存储任 务的功能。 v Sun在推出Servlet技术后不久又推出了JSP技术。有了JSP技 术就可以实现业务逻辑和表示逻辑的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论