收藏 分享(赏)

java web 编程课件 第1章.ppt

上传人:dreamzhangning 文档编号:3661766 上传时间:2018-11-15 格式:PPT 页数:60 大小:304.50KB
下载 相关 举报
java web 编程课件 第1章.ppt_第1页
第1页 / 共60页
java web 编程课件 第1章.ppt_第2页
第2页 / 共60页
java web 编程课件 第1章.ppt_第3页
第3页 / 共60页
java web 编程课件 第1章.ppt_第4页
第4页 / 共60页
java web 编程课件 第1章.ppt_第5页
第5页 / 共60页
点击查看更多>>
资源描述

1、主讲教师:陈俊健Cjj_,Java Web 编程技术,课 程 概 述,课程目的 了解Web应用开发的基础知识; 掌握使用Java技术开发Web应用程序的方法; 为继续学习Java EE高级技术奠定基础。课程要求 掌握Java Web应用开发的主要技术; Servlet技术 JSP技术 能够开发一个简单Web应用程序。,预 备 知 识,HTTP、HTML知识、JavaScript、CSS、DOM、XML等 Java语言知识 数据库知识,使用教材,Java Web 编程技术沈泽刚 秦玉平 主编清华大学出版社 2010.3,主 要 内 容,第1章 Web应用概述 第2章 Servlet模型 第3章

2、Servlet容器模型 第4章 会话管理 第5章 JSP技术模型 第6章 Web组件与JavaBeans 第7章 JDBC数据库访问 第8章 使用表达式语言(EL) 第 9章 使用自定义标签 第10章 JSTL与标签文件 第11章 Web事件模型与过滤器 第12章 Web应用程序的安全性 第13章 Struts框架基础 第14章 Ajax技术基础,主要参考文献,Web 技术 Jeffrey C. Jackson 陈宗斌 等译 清华大学出版社 2007.6 Servlet与JSP核心编程(第2版 第1卷) Volume 1 Marty Hall 赵学良 译 清华大学出版社 2004.6 Serv

3、let与JSP核心编程(第2版 第2卷) Marty Hall,Larry Brown 胡书敏 译 清华大学出版社 2009.6 JSP完全学习手册 张银鹤 等著 清华大学出版社 2008.6 Head First Servlet&JSP (中文版) Bryan Basham等著 苏钰函 林剑 译 中国电力出版社 2006.10 SCWCD Study Kit Hanumant Deshmukh,Manning 2005,软件与环境,运行环境:JDK 1.7.0版 开发工具:JCreator Pro 4.5版 服务器:Tomcat 6.0.20版 数据库:PostgreSQL 8.3版可选开发

4、工具:MySQL 5.0数据库MyEclipse 7.0NetBeans IDE,课 程 考 核,出勤与课堂提问30 % 考试70%,电子商务系统 在线书店系统 网上拍卖系统在线考试系统 教学系统论坛系统 新闻发布系统 博客,可 选 项 目,第1章 Web应用概述,本章主要内容: 1.1 Web应用体系结构 1.2 服务器的安装 1.3 HTTP基础 1.4 动态Web文档技术 1.5 Servlet与JSP入门 1.6 小结,Web应用体系结构,1.1.1 万维网概述 1.1.2 浏览器和服务器 1.1.3 HTML概述 1.1.4 URL,万维网概述,万维网的发展 万维网是英文World

5、Wide Web的缩写,一般称为WWW ,通常又简称为Web。 Web 1989年诞生于欧洲原子能研究中心CERN。 1989年3月,CERN的物理学家Tim Berners-Lee提出了一个新的因特网协议,并给出了使用该协议的一个文档访问系统。这个新系统被命名为万维网,其目的是让全世界的科学家能利用因特网交换文档。 万维网上服务器所提供的文档需要通过浏览器进行访问,浏览器是一种程序。,1993年,美国伊利诺伊大学的 Marc Andreessen开发并发布了第一个图形化的浏览器,名为Mosaic。 Mosaic非常受欢迎,以至于在一年后Andreessen离开学校创办了著名的Netscape

6、公司(Netscape Communications Corp.),其开发的浏览器称为Netscape Navigator。 1994年,CERN和MIT(Massachusetts Institute of Technology)签署了建立万维网联盟(World Wide Web Consortium,简称W3C)的协议,该组织致力于进一步开发Web、对协议进行标准化等工作。 W3C的主页是http:/www.w3.org/Consortium/,在这里可以获得关于Web的最新信息。,随着Microsoft公司进入浏览器领域,Netscape Navigator与Microsoft的Inte

7、rnet Explore之间发生了激烈的竞争。 Netscape公司于1998年被美国在线(American Online, 简称AOL)以42亿美圆收购。,1. Web服务器 向浏览器提供服务的程序 。 服务器是一种被动的程序,只有当其他计算机的浏览器向它们发出请求时才有所动作。 2.目前最流行的服务器 最常用的Web服务器是Apache服务器,主要运行在Unix和Linux平台上 。 目前在Internet上有68%的Web站点使用Apache 服务器。 另一种是专门运行在Windows平台上的IIS服务器 。,服务器和浏览器,3. Web浏览器 浏览器是一个程序 能够显示Web页面 能够

8、捕捉到页面上项目的鼠标事件 浏览器向服务器发出访问某个文档的请求 4.目前最流行的几种浏览器 Internet Explorer Netscape Navigator FireFox Mozilla,Tomcat是由Sun公司和Apache 开发小组共同提出的合作项目Apache Jakarta项目下的产品,是为了使 Servlet/JSP能够与 Apache服务器一起运行而开发的Servlet/JSP容器。 下载网站:http:/tomcat.apache.org/ 最新版本是Tomcat 6.0.20版。可以下载Windows可执行的安装文件,下载后的文件名为apache-tomcat-6

9、.0.20.exe。,服务器的安装与配置,必须先安装Java运行时环境(Java Runtime Enviroment,简称JRE),这里假设已在C:jre1.6.0目录下安装了JRE。 查看Tomcat的安装目录 测试Tomcat 打开Servlet重新载入功能 修改Tomcat的端口 Tomcat服务器的启动和停止,安装Tomcat,1. HTML HTML是英文HyperText Markup Language的缩写,含义为超文本标记语言 它是一种用来制作超文本文档的简单标记语言。 它不是一种编程语言,是一种标记语言。下面是一个HTML文件: 源文件:userinfo.doc 运行结果:

10、userinfo.html 运行结果:register.html,HTML概述,1. URL Uniform Resource Locator 叫做统一资源定位符 命名Web页面和其他资源 。 2.URL的示例: http:/ http:/localhost:8080/bookstore/,URL,3. URL的组成: 协议名称 http, ftp, news,mailto,file 主机的DNS名 或IP地址 192.168.0.1 可选的端口号 80, 8080, 1521 资源的名称 /index.html,1.2.1 理解HTTP协议 1.2.2 HTTP请求结构 1.2.3 HTT

11、P响应结构,1.2 HTTP基础,1. HTTP协议 HTTP(Hypertext Transfer Protocol)协议 是一个基于请求-响应的无状态的协议。 2. 运行机制 客户向服务器发送一个对某种资源的 HTTP 请求 服务器返回对所需要的资源的 HTTP 响应图1.1说明了其运行机制,理解HTTP协议,图1.1 HTTP请求响应示意图,客户 (浏览器),Web 服务器,1. 打开连接,2. HTTP请求,3. HTTP响应,4. 关闭连接,理解HTTP协议,3. Internet中Web资源 资源包括HTML文件、图像文件和servlet等。 每个资源都通过唯一的统一资源标识符UR

12、I(Uniform Resource Identifier)标识。 4. URI、URL、URN比较 URI: 标识任何资源的字符串 URI是URL与URN的超集。 例如:files/sales/report.html是一个URI,URL: 指定了如http、ftp及mailto等Internet协议的URI称为URL URL是非正式的术语,因此不在技术规范中使用 例如:http:/ URN: 它唯一标识一个资源但不指定如何访问资源 ISBN:1-930110-59-6是一个URN,因为它唯一地标识某一本书,但它不是URL,因为它没有指定如何检索该书。,动态Web文档技术,1.3.1 静态We

13、b文档和动态Web文档 1.3.2 服务器端动态文档技术 1.3.3 客户端动态文档技术,1.主动资源与被动资源 Web资源可分为主动资源和被动资源。 如果资源本身没有任何处理功能它就是被动的 如果资源有自己的处理功能,它就是主动的 示例: 浏览器向http:/ 向 主动资源的意义: 正是由于主动资源才使Web应用程序几乎具有与一般应用程序同样的交互性。 Web应用程序中的主动资源通常向用户提供动态内容并使它们通过浏览器执行业务逻辑。 Web文档是一种重要的Web资源,Web文档又分为静态的和动态的。,2. 静态Web文档 在Web发展的早期,Web文档只是一种以文件的形式存放在服务器端的文档

14、。客户发出对该文档的请求,服务器返回这个文件。这种文档称为静态文档(static document)。 静态Web文档的特点 文档创作完毕后就存放在Web服务器中,在被用户浏览的过程中,其内容不会改变。 用户每次对静态文档的访问所得的结果都是相同的。 优点: 简单 可以由不懂程序设计的人员来创建 缺点: 不够灵活 信息变化时,就要由文档的作者手工对文档修改,3.动态Web文档 动态文档(dynamic document)是指文档的内容是根据需要生成的。 动态文档技术分类: 服务器端动态文档技术 客户端动态文档技术,CGI技术 Servlet技术 HTML页面中嵌入脚本技术,服务器端动态Web文

15、档技术,1. CGI技术 CGI(Common Gateway Interface,公共网关接口) CGI是一种标准化的接口 允许Web服务器与后端程序及脚本通信,这些后端程序和脚本能够接受输入信息(例如,来自表单),并生成HTML页面作为响应。,CGI与Web服务器和应用程序的关系,这里的应用程序一般也称为CGI程序。 CGI程序可以用服务器支持的任何语言来编写,其中最常见的是Perl语言. 服务器在接收到一个对CGI程序的请求时,不会返回该文件,而是运行该文件。,2. HTML文档中调用CGI程序有两种方法: 通过表单的action属性 按提交按钮后,将请求发送给该程序. 使用锚标记(),

16、这与链接文档相似。 href属性中指定CGI程序文件名的完整的URL路径 示例程序: 源代码,4. Servlet技术: Sun公司开发的服务器端Web编程技术. 主要目的是替代CGI编程. 有很多优点. 本课程前5章要讨论的内容. 5. 在HTML页面中嵌入脚本技术 在HTML页面中嵌入少量的脚本,然后让服务器来执行这些脚本以便生成最终发送给客户的页面。 常用技术包括: PHP、JSP和ASP,6. PHP技术: PHP(PHP:Hypertext Preprocessor)称为超文本预处理器,它是一种HTML内嵌式的语言。 它可以比CGI或Perl更快速地执行动态网页。 服务器要求包含PH

17、P的Web页面的文件扩展名为php,而不是html或htm。,7. ASP技术: ASP是Active Server Page的缩写,称为活动的服务器页面。 它使用Microsoft的脚本语言Visual Basic Script来生成动态内容。 使用这种技术的文件的扩展名为asp。 8. JSP技术: JSP是JavaServer Pages的缩写,含义是Java服务器页面 . 页面中的动态部分是用Java语言编写的。 使用这种技术的文件的扩展名为jsp。,1. 客户端动态文档技术的需求 响应鼠标移动事件 直接与用户交互 客户端验证等 2.客户端动态文档技术的实现: 在HTML页面中嵌入脚本

18、,而且这些脚本是客户机上被执行的而不是在服务器上执行的。 从HTML 4.0开始,可以通过标签来使用这样的脚本。最流行的客户端脚本语言是JavaScript。,客户端动态Web文档技术,3. JavaScript是一种脚本语言 它受到了Java程序设计语言的一些思想的启发 它与Java完全不是一回事。 JavaScript脚本语言非常适合交互式页面的设计。 4.一个包含JavaScript的页面 源代码: 执行结果: chap01register.html,5.客户端动态文档的技术与服务器端动态文档的技术的区别 服务器端动态文档技术的页面,是在服务器端执行的。 对一个PHP文件的请求,服务器首

19、先执行该页面,PHP脚本将产生一个新的HTML页面,然后服务器将该页面送回给浏览器以便显示。 执行过程如下图:,服务器端动态文档的执行,客户端动态文档技术的页面,是在客户端执行的。 对于程序1.5的例子,当我们单击submit按钮时,浏览器解释执行该页面上包含的JavaScript函数。所有的工作都是在本地的浏览器内部完成。浏览器并没有与服务器联系。 执行过程如下图:,客户端动态文档的执行,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.

20、5.7 使用Servlet还是JSP?,1.5 Servlet与JSP入门,Servlet一般翻译成服务器端小程序,它是使用Servlet API以及相关的类编写的Java程序。主要用来扩展Web服务器的功能。 Servlet技术实际上是CGI技术的一种替代。,什么是Servlet,Web服务器使用一个单独的模块装载和运行Servlet。这个专门用于Servlet管理的单独模块称为Servlet容器(container),或称Web容器。 图1.17显示了各种不同的组件构成的一个示意图。,什么是Servlet容器,Servlet容器可以分为以下三种类型:独立运行的、进程内运行的和进程外运行的。

21、独立运行的Servlet容器通常是基于Java的Web服务器,其结构如图所示。,所有的请求,Servlet容器处理空间 (JVM),主Web服务器,Servlet容器,Servlet是Web应用程序的一个组件。Web应用程序具有严格定义的目录结构。在Tomcat中,每个应用程序都应在安装目录的webapps目录下有一个目录。 建立一个名为helloapp的Web应用程序 1. 编写代码 HelloServlet.java 2. 编译 3. 部署 web.xml 4. 运行,1.5.3 Servlet的开发,import javax.servlet.*; import javax.servlet

22、.http.*;在Tomcat中,它们包含在libservlet-api.jar文件中。 须将该文件所在的路径添加到CLASSPATH环境变量中。,地址栏中输入下面的URL:http:/localhost:8080/helloapp/hello,在执行Servlet时,由于各种原因可能会出现错误,下面是最经常出现的错误: HTTP Status 404 -/helloapp/hello. The requested resource(/helloapp/hello) is not available. 404错误是最常见的一种错误,它表示请求的资源不可用。有多种原因可导致该错误。你可以从这几方

23、面检查: 查看给定的路径名是否正确(包括大小写); 查看Servlet类文件是否在WEB-INFclasses目录中; 查看web.xml文件内容是否正确; 查看Tomcat服务器是否启动。,1.5.4 错误处理,优点: (1)高效性。每个请求由一个轻量级的Java线程处理 (2)方便性。提供了大量的实用工具例程 (3)功能强大。许多使用传统CGI程序很难完成的任务都可以轻松地完成。 (4)可移植性好 。为一个服务器编写的Servlet无需任何实质上的改动即可移植到其他服务器上。 (5)节省投资 。有许多廉价甚至免费的Web服务器可供个人或小规模网站使用,1.5.5 Servlet的优缺点,缺

24、点: 缺点是它经常既包含业务逻辑又包含表示逻辑。 表示逻辑(presentation logic)是展示给用户的信息,在Servlet中产生HTML响应就是表示逻辑。 业务逻辑(business logic)是完成某种数据处理和存储任务的功能。 Sun在推出Servlet技术后不久又推出了JSP技术。有了JSP技术就可以实现业务逻辑和表示逻辑的分离: Servlet专门处理业务逻辑 用JSP实现表示逻辑。,1.5.5 Servlet的优缺点,JSP(Java Server Pages)页面是包含Java代码和HTML标签的Web页面。 由主动的JSP标签和被动的HTML标签混合而成的Web页面

25、。,1.5.6 什么是JSP页面,A Simple JSP PageHello,World!The time now is:,hello.jsp,使用下面的URL访问它: http:/localhost:8080/helloapp/hello.jsp,square.jsp,numbersquared,1.5.7 使用Servlet还是JSP,用Servlet可以实现JSP的功能,用JSP也可以实现Servlet的功能 。请记住下面两点: JSP页面主要实现可视化的表示逻辑 。 Servlet主要用来实现业务处理和控制逻辑 。MVC称为模型-视图-控制器(Model View Control,MVC)模式。在这种设计模式中,控制器使用Servlet实现,视图使用JSP实现,而模型使用JavaBeans实现。,留个作业吧!,为某网站设计一个HTML页面作为网站的首页。主题自拟,如: 电子商务网站 在线书店 主题论坛要求: 界面包含专业网站首页的主要内容,如公司徽标,导航菜单,登录区域,广告区域Java Web编程技术 课程网站,谢 谢! Q & A,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 网络科技 > Java

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报