《《JavaWeb编程技术》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《JavaWeb编程技术》PPT课件.ppt(27页珍藏版)》请在金锄头文库上搜索。
1、主讲教师:杨柳主讲教师:杨柳 Java Web Java Web Java Web Java Web 编编编编 程程程程 技技技技 术术术术课课 程程 概概 述述v课程目的了解Web应用开发的基础知识;掌握使用Java技术开发Web应用程序的方法;掌握MVC设计模式,为继续学习Java EE奠定基础。v课程要求掌握Java Web应用开发的主要技术;Servlet技术JSP技术能够开发Web应用程序。v预备知识HTTP、HTML知识、JavaScript、CSS、DOM、XML等Java语言知识数据库知识第1章 Web应用概述本章主要内容:1.1 Web发展历程1.2 企业开发框架1.3 Ja
2、va EE架构1.4 MVC模式1.5 HTTP简介1.6 JavaScript简介Web应用体系结构 Web发展历程vWebWeb的发展的发展vHTTP协议协议超文本传输(Hypertext Transfer Protocol,HTTP)是Web使用的协议该协议详细规定了Web客户与服务器之间如何通信是一个基于请求-响应的无状态的协议。 运行机制运行机制Web应用体系结构 一些概念(HTTP)客户(浏览器)Web服务器1. 打开连接2. HTTP请求3. HTTP响应4. 关闭连接vURIURI(Uniform Resource IdentifierUniform Resource Iden
3、tifier)统一资源标识符以特定语法表示一个资源的字符串URI一般由三部分组成:访问资源的命名机制。存放资源的主机名,资源自身的名称(由路径表示)。http:/ URI有两种子集:URLURL和URNURN Web应用体系结构 一些概念( URL和URI )vURLURL(Uniform Resource Locator)Uniform Resource Locator)叫做统一资源定位符 命名Web页面和其他资源 。URL的示例:http:/ http:/localhost:8080/bookstoreftp:/218.64.77.32 vURNURN(Uniform Resource N
4、ame)Uniform Resource Name)叫做统一资源名称 它唯一标识一个资源但不指定如何访问资源URN的示例:ISBN:1-930110-59-6vWebWeb服务器服务器 向浏览器提供服务的程序 。服务器是一种被动的程序,只有当其他计算机的浏览器向它们发出请求时才有所动作。目前最流行的服务器目前最流行的服务器最常用的Web服务器是Apache服务器,主要运行在Unix和Linux平台上 。目前在Internet上有68%的Web站点使用Apache 服务器。 另一种是专门运行在Windows平台上的IIS服务器 。Web应用体系结构- -一些概念(服务器)vWebWeb浏览器浏览
5、器 浏览器是一个程序 能够显示Web页面 能够捕捉到页面上项目的鼠标事件 浏览器向服务器发出访问某个文档的请求 目前最流行的几种浏览器目前最流行的几种浏览器Internet Explorer Netscape Navigator FireFox MozillaWeb应用体系结构- -一些概念(浏览器)vHTML HTML是英文HyperText Markup Language的缩写,含义为超文本标记语言 它是一种用来制作超文本文档的简单标记语言。 它不是一种编程语言,是一种标记语言。姓名:Web应用体系结构- -一些概念( HTML概述)Web应用体系结构 静态WebWeb应用体系结构 静态W
6、eb(Applet)胖和瘦?胖和瘦?Web应用体系结构 动态Webv主动资源与被动资源主动资源与被动资源 如果资源本身没有任何处理功能它就是被动的 如果资源有自己的处理功能,它就是主动的Web应用程序通常是主动资源和被动资源的混合主动资源的意义:正是由于主动资源才使Web应用程序几乎具有与一般应用程序同样的交互性。 Web应用程序中的主动资源通常向用户提供动态内容并使它们通过浏览器执行业务逻辑。 动态Web文档技术-静态Web文档和动态Web文档v静态静态WebWeb文档文档 在Web发展的早期,Web文档只是一种以文件的形式存放在服务器端的文档。客户发出对该文档的请求,服务器返回这个文件。这
7、种文档称为静态文档(static document)。静态Web文档的特点 文档创作完毕后就存放在Web服务器中,在被用户浏览的过程中,其内容不会改变。优点:简单,可以由不懂程序设计的人员来创建 缺点:不够灵活,信息变化时,就要由文档的作者手工对文档修改v动态动态WebWeb文档文档 动态文档(dynamic document)是指文档的内容是根据需要生成的。 动态文档技术分类:服务器端动态文档技术客户端动态文档技术动态Web文档技术-静态Web文档和动态Web文档vCGICGI技术技术 CGI(Common Gateway Interface,公共网关接口) CGI是一种标准化的接口允许We
8、b服务器与后端程序及脚本通信,这些后端程序和脚本能够接受输入信息(例如,来自表单),并生成HTML页面作为响应。 WEB浏览器InternetWeb服务器CGI应用程序动态Web文档技术-服务器端动态Web文档技术这里的应用程序一般也称为CGI程序。CGI程序可以用服务器支持的任何语言来编写,其中最常见的是Perl语言. 服务器在接收到一个对CGI程序的请求时,不会返回该文件,而是运行该文件。vHTMLHTML文档中调用文档中调用CGICGI程序有两种方法程序有两种方法: 通过表单的action属性 按提交按钮后,将请求发送给该程序.使用锚标记(),这与链接文档相似。 href属性中指定CGI
9、程序文件名的完整的URL路径 vServletServlet技术:技术: Sun公司开发的服务器端Web编程技术.主要目的是替代CGI编程.有很多优点.本课程前5章要讨论的内容.v在在HTMLHTML页面中嵌入脚本技术页面中嵌入脚本技术在HTML页面中嵌入少量的脚本,然后让服务器来执行这些脚本以便生成最终发送给客户的页面。 常用技术包括: PHP、JSP和ASP 动态Web文档技术-服务器端动态Web文档技术vPHPPHP技术:技术: PHP(PHP:Hypertext Preprocessor)称为超文本预处理器,它是一种HTML内嵌式的语言。 它可以比CGI或Perl更快速地执行动态网页。
10、服务器要求包含PHP的Web页面的文件扩展名为php,而不是html或htm。 vASPASP技术:技术: ASP是Active Server Page的缩写,称为活动的服务器页面。 它使用Microsoft的脚本语言Visual Basic Script来生成动态内容。 使用这种技术的文件的扩展名为asp。 vJSPJSP技术:技术:JSP是JavaServer Pages的缩写,含义是Java服务器页面 .页面中的动态部分是用Java语言编写的。 使用这种技术的文件的扩展名为jsp。动态Web文档技术-服务器端动态Web文档技术v客户端动态文档技术的需求客户端动态文档技术的需求响应鼠标移动
11、事件 直接与用户交互 客户端验证等v客户端动态文档技术的实现:客户端动态文档技术的实现:在HTML页面中嵌入脚本,而且这些脚本是客户机上被执行的而不是在服务器上执行的。 从HTML 4.0开始,可以通过标签来使用这样的脚本。最流行的客户端脚本语言是JavaScript。JavaScriptJavaScript是一种脚本语言是一种脚本语言它受到了Java程序设计语言的一些思想的启发 JavaScript脚本语言非常适合交互式页面的设计。 动态Web文档技术-客户端动态Web文档技术v客户端动态文档的技术与服务器端动态文档的技术的区别客户端动态文档的技术与服务器端动态文档的技术的区别 服务器端动态
12、文档技术的页面,是在服务器端执行的。 对一个PHP文件的请求,服务器首先执行该页面,PHP脚本将产生一个新的HTML页面,然后服务器将该页面送回给浏览器以便显示。服务器端动态文档的执行 用户浏览器服务器PHP模块1234动态Web文档技术-客户端动态Web文档技术v客户端动态文档的技术与服务器端动态文档的技术的区别客户端动态文档的技术与服务器端动态文档的技术的区别客户端动态文档技术的页面,是在客户端执行的。 当我们单击submit按钮时,浏览器解释执行该页面上包含的JavaScript函数。所有的工作都是在本地的浏览器内部完成。浏览器并没有与服务器联系。 客户端动态文档的执行 用户浏览器服务器
13、JavaScript12动态Web文档技术-客户端动态Web文档技术vC/SC/S模式模式 C/S (Client/Server,客户机/服务器)模式又称C/S结构,是20世纪80年代末逐步成长起来的一种模式,是软件系统体系结构的一种。C/S结构的关键在于功能的分布,一些功能放在前端机(即客户机)上执行,另一些功能放在后端机(即服务器)上执行。 vB/SB/S模式模式两种网络开发模式B/S(Browser/Server,浏览器/服务器)模式又称B/S结构。它是随着Internet技术的兴起,对C/S模式应用的扩展。在这种结构下,用户工作界面是通过浏览器来实现的。B/S模式最大的好处是运行维护比
14、较简便,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据;企业开发架构JavaEE 架构JavaEE 架构JavaEE 核心设计模式请求请求ServletJavaBeanJSP页面页面执行执行调用调用转向转向响应响应访问访问返回数据返回数据数数数数 据据据据 库库库库客户端客户端JSP视图动视图动态显示数据态显示数据数数数数 据据据据 库库库库Servlet控制器,用控制器,用于接收于接收请求和控制请求和控制应用程序的流程应用程序的流程JavaBean组件组件模型封装业务逻模型封装业务逻辑和业务数据辑和业务数据
15、MVCMVC利用利用HTMLHTML和和JavaScriptJavaScript编写网页,要求如下:编写网页,要求如下: 1.1.编写一个雇员注册的表单,要求输入以下内容:雇员编号、雇员姓名、编写一个雇员注册的表单,要求输入以下内容:雇员编号、雇员姓名、雇员工作、雇用日期、基本工资和奖金。雇员工作、雇用日期、基本工资和奖金。 2. 2.对上面的表单进行对上面的表单进行JavaScriptJavaScript验证,验证要求如下。验证,验证要求如下。雇员编号:只能是数字雇员编号:只能是数字雇员姓名:不能为空雇员姓名:不能为空雇员工作:不能为空雇员工作:不能为空雇佣日期:必须是日期格式,即雇佣日期:
16、必须是日期格式,即2010-9-192010-9-19基本工资:必须是数字(小数)基本工资:必须是数字(小数)奖金:必须是数字(小数)奖金:必须是数字(小数)实验内容实验内容设计网页设计网页 一个小建议:利用课余时间了解学习网页三剑客 作作 业业 提提 交交 要要 求求1.1.由组长统一提交,特殊情况下需单独提交时必须在邮件中说明理由,否则不计由组长统一提交,特殊情况下需单独提交时必须在邮件中说明理由,否则不计入作业数目。入作业数目。2.2.个人将作业提交给组长时,作业名称必须规范。个人将作业提交给组长时,作业名称必须规范。例:例:20112011年年1010月月1 1日上课布置作业若干,王乙
17、同学在若干天后将作业提交给组长日上课布置作业若干,王乙同学在若干天后将作业提交给组长时,应将作业名称规范为:时,应将作业名称规范为:王乙王乙111001111001。3.3.组长提交小组作业时,须将全组作业以压缩包形式作为邮件附件提交。压缩包组长提交小组作业时,须将全组作业以压缩包形式作为邮件附件提交。压缩包名称和邮件名称为规范统一名称。名称和邮件名称为规范统一名称。例:例: 20112011年年1010月月1 1日上课布置作业若干。一组组长在若干天后向教师以邮件形式日上课布置作业若干。一组组长在若干天后向教师以邮件形式提交作业,邮件名称和邮件附件名称应规范为:提交作业,邮件名称和邮件附件名称应规范为:JavaWebJavaWeb第一组第一组111001111001。我的邮箱:我的邮箱: