目录
第1章Web基础
1.1Internet的产生与发展
1.1.1ARPA与ARPA网
1.1.2互联网的诞生
1.1.3互联网的构成
1.2Web及其工作原理
1.2.1万维网
1.2.2Web服务器
1.2.3Web浏览器
1.2.4超文本传输协议
1.3概念及术语
1.4Web相关技术
1.4.1标记语言<p>目录</p> <p>第1章Web基础</p> <p>1.1Internet的产生与发展</p> <p>1.1.1ARPA与ARPA网</p> <p>1.1.2互联网的诞生</p> <p>1.1.3互联网的构成</p> <p>1.2Web及其工作原理</p> <p>1.2.1万维网</p> <p>1.2.2Web服务器</p> <p>1.2.3Web浏览器</p> <p>1.2.4超文本传输协议</p> <p>1.3概念及术语</p> <p>1.4Web相关技术</p> <p>1.4.1标记语言</p> <p>1.4.2Java技术</p> <p>1.4.3Web服务</p> <p>1.5Web应用与发展趋势</p> <p>1.5.1B/S计算模式</p> <p>1.5.2网云及其应用</p> <p>1.5.3语义Web</p> <p>本章小结</p> <p>习题1</p> <p>第2章Web服务器的架设和管理</p> <p>2.1Web服务器概述</p> <p>2.1.1Web服务器的概念</p> <p>2.1.2Web服务器程序</p> <p>2.2使用Internet信息服务</p> <p>2.2.1什么是Internet信息服务</p> <p>2.2.2安装IIS</p> <p>2.2.3Internet信息服务管理器</p> <p>2.3创建Web站点</p> <p>2.3.1新建Web站点</p> <p>2.3.2规划Web站点结构</p> <p>2.3.3访问Web站点</p> <p>2.4Web站点的配置</p> <p>2.4.1网站端口号与主机名设置</p> <p>2.4.2设置网站主目录</p> <p>2.4.3网站默认文档设置</p> <p>2.4.4网站错误页编辑</p> <p>2.4.5设置网站HTTP响应头</p> <p>2.4.6网站**性设置</p> <p>2.5使用Apache和Tomcat</p> <p>2.5.1Apache与Tomcat</p> <p>2.5.2Apache的安装与配置</p> <p>2.5.3Tomcat服务与Servlet/JSP</p> <p>2.5.4安装Java运行环境</p> <p>2.5.5Tomcat的安装和配置</p> <p>2.5.6建立并部署Web应用</p> <p>2.5.7HTTP服务器与Tomcat的集成</p> <p>2.6虚拟主机与虚拟目录</p> <p>2.6.1虚拟主机及其设置</p> <p>2.6.2虚拟目录及其设置</p> <p>2.7Web服务器的远程管理与维护</p> <p>2.7.1Windows服务器中网站的管理和维护</p> <p>2.7.2Linux服务器中网站的管理和维护</p> <p>2.7.3Web站点的云部署与管理</p> <p>本章小结</p> <p>习题2</p> <p>第3章HTML与XML基础</p> <p>3.1标记语言及其发展</p> <p>3.1.1标准通用标记语言SGML</p> <p>3.1.2超文本标记语言HTML</p> <p>3.1.3可扩展标记语言XML</p> <p>3.1.4可扩展HTML规范XHTML</p> <p>3.2超文本标记语言</p> <p>3.2.1标记、属性与元素的概念</p> <p>3.2.2文档头标记及子标记</p> <p>3.2.3文档体标记及其属性</p> <p>3.2.4文本标记</p> <p>3.2.5图像标记及影像地图</p> <p>3.2.6超链接与书签</p> <p>3.2.7表格</p> <p>3.2.8表单</p> <p>3.2.9脚本程序标记</p> <p>3.2.10浏览器窗口与帧</p> <p>3.3层叠样式表CSS技术</p> <p>3.3.1CSS及其发展</p> <p>3.3.2CSS样式属性</p> <p>3.3.3样式表</p> <p>3.3.4选择器</p> <p>3.3.5函数</p> <p>3.3.6样式表文件</p> <p>3.4行内元素与块元素</p> <p>3.4.1区段标记span</p> <p>3.4.2块标记div</p> <p>3.4.3输出形式转换</p> <p>3.5页面布局</p> <p>3.5.1网页内容输出流</p> <p>3.5.2定位与尺寸</p> <p>3.5.3网页布局类型</p> <p>3.6HTML5技术的发展</p> <p>3.6.1HTML5技术特性</p> <p>3.6.2HTML5新标记</p> <p>3.6.3自适应网页设计</p> <p>3.7扩展标记语言XML</p> <p>3.7.1XML技术简介</p> <p>3.7.2XML文档结构</p> <p>3.7.3文档类型定义DTD</p> <p>3.7.4Schema及其应用</p> <p>3.7.5XML相关技术</p> <p>本章小结</p> <p>习题3</p> <p>第4章网页设计与制作</p> <p>4.1网页设计基础</p> <p>4.1.1Web系统设计</p> <p>4.1.2MVC设计模式</p> <p>4.1.3页面功能与内容设计</p> <p>4.1.4页面布局设计</p> <p>4.1.5页面视觉设计</p> <p>4.1.6页面效果设计</p> <p>4.2Web开发工具</p> <p>4.2.1SublimeText代码编辑器</p> <p>4.2.2网页制作工具</p> <p>4.2.3MyEclipse集成开发环境</p> <p>4.3使用Dreamweaver</p> <p>4.3.1Dreamweaver视图</p> <p>4.3.2Dreamweaver常用功能</p> <p>4.3.3新建网页文件</p> <p>4.4网页设计</p> <p>4.4.1输入文本与格式化</p> <p>4.4.2插入图片</p> <p>4.4.3建立超链接或书签</p> <p>4.4.4插入表格</p> <p>4.4.5插入表单</p> <p>4.4.6插入div</p> <p>4.5设置标记属性</p> <p>4.5.1使用属性对话框</p> <p>4.5.2IntelliSense技术</p> <p>4.6定义和使用CSS样式</p> <p>4.6.1定义样式规则</p> <p>4.6.2使用样式表文件</p> <p>本章小结</p> <p>习题4</p> <p>第5章客户端编程</p> <p>5.1计算机程序与程序设计语言</p> <p>5.1.1计算机程序设计语言</p> <p>5.1.2程序开发及其运行</p> <p>5.2浏览器与客户端脚本程序</p> <p>5.2.1客户端脚本程序与脚本引擎</p> <p>5.2.2客户端脚本语言</p> <p>5.3JavaScript程序设计基础</p> <p>5.3.1JavaScript基本符号</p> <p>5.3.2数据和数据类型</p> <p>5.3.3常量和变量</p> <p>5.3.4运算符和表达式</p> <p>5.3.5语句</p> <p>5.3.6函数</p> <p>5.4类与对象</p> <p>5.4.1类与对象的概念</p> <p>5.4.2对象操作</p> <p>5.5JavaScript内置对象及全局函数</p> <p>5.5.1字符串对象String</p> <p>5.5.2正则表达式对象RegExp</p> <p>5.5.3数学对象Math</p> <p>5.5.4日期对象Date</p> <p>5.5.5数组对象Array</p> <p>5.5.6全局函数</p> <p>5.6浏览器对象</p> <p>5.6.1浏览器对象模型BOM</p> <p>5.6.2窗口对象window</p> <p>5.6.3地址栏对象location</p> <p>5.6.4显示屏对象screen</p> <p>5.6.5浏览器对象navigator</p> <p>5.7HTML文档对象</p> <p>5.7.1文档对象模型DOM</p> <p>5.7.2文档对象document</p> <p>5.7.3文档体对象body</p> <p>5.7.4图像对象Image</p> <p>5.7.5Link对象与Anchor对象</p> <p>5.7.6表格对象Table</p> <p>5.7.7表单对象Form</p> <p>5.7.8事件对象event</p> <p>5.7.9应用举例</p> <p>5.8网页异步通信AJAX技术</p> <p>5.8.1AJAX的概念</p> <p>5.8.2XMLHttpRequest对象</p> <p>5.9JavaScript库</p> <p>5.9.1库与框架</p> <p>5.9.2jQuery基础</p> <p>5.9.3jQuery函数</p> <p>5.9.4jQuery插件</p> <p>5.9.5举例</p> <p>5.10综合举例</p> <p>5.10.1创建折叠式菜单</p> <p>5.10.2创建树状菜单</p> <p>5.10.3数据有效性验证</p> <p>本章小结</p> <p>习题5</p> <p>第6章服务端编程</p> <p>6.1互联网中的Web应用系统</p> <p>6.1.1B/S三层结构</p> <p>6.1.2服务端程序</p> <p>6.1.3服务端开发</p> <p>6.1.4网页中的字符编码</p> <p>6.1.5网络攻击与信息**</p> <p>6.2Java程序设计基础</p> <p>6.2.1Java程序设计语言</p> <p>6.2.2类与对象</p> <p>6.2.3接口</p> <p>6.2.4包</p> <p>6.2.5Java基础类库</p> <p>6.2.6Java异常</p> <p>6.3Java Servlet接口</p> <p>6.3.1Java Servlet基础</p> <p>6.3.2创建Servlet</p> <p>6.4JSP技术</p> <p>6.4.1JSP运行与开发环境</p> <p>6.4.2JSP语法结构</p> <p>6.4.3数据类型及其转换</p> <p>6.4.4JSP内置对象</p> <p>6.4.5JavaBean</p> <p>6.5数据库编程</p> <p>6.5.1数据库与数据库服务器</p> <p>6.5.2JDBC接口</p> <p>6.5.3结构化查询语言SQL基础</p> <p>6.5.4数据库操作</p> <p>6.5.5数据库编程举例</p> <p>6.6综合举例</p> <p>6.6.1文件上传操作</p> <p>6.6.2多表单数据处理</p> <p>6.7Web系统设计与开发</p> <p>6.7.1用户需求分析</p> <p>6.7.2系统概要设计</p> <p>6.7.3数据库设计</p> <p>6.7.4产品设计</p> <p>6.7.5系统编码</p> <p>6.7.6系统测试</p> <p>本章小结</p> <p>习题6</p> <p>参考文献</p>显示全部信息前 言前言
从互联网诞生那天起,互联网技术的进步和应用就从未放慢发展的脚步。*近几年,网络基础设施建设日益完善,WiFi更加普及,网络资源及应用增长迅猛,智能手机与移动应用发展迅速,新的概念和应用不断涌现,网络应用已经深入人心。与此同时,几年来,我对教育的理解,对高等教育人才培养、对课程和教师的责任也在不断地进行反思,一种新的教学理念日趋成熟,就是在课程教学中教师要做到:从知识传授到能力培养和素养形成的转变,每门课都应为学生的素养形成做出贡献。为此,定位于专业基础课和通识类教育教材的《Web技术导论》又到了修订的时候了。
回顾本书的写作初衷和2005年2月的**次出版,十多年过去了,虽然互联网的应用已经今非昔比,但令人欣慰的是,本书以B/S三层架构为主线的知识结构设计,显示出了强大的生命力,表明了这种结构的科学性和合理性,它始终是我们认识互联网、进行互联网开发与应用的思维主线。在学习的过程中,没有什么比思想的升华和思维的感悟更令人快乐了,这些年来,对互联网技术的咀嚼,让我们汲取着技术的营养和滋润,也慢慢地体会到互联网技术的美好。<p>前言</p> <p>从互联网诞生那天起,互联网技术的进步和应用就从未放慢发展的脚步。*近几年,网络基础设施建设日益完善,WiFi更加普及,网络资源及应用增长迅猛,智能手机与移动应用发展迅速,新的概念和应用不断涌现,网络应用已经深入人心。与此同时,几年来,我对教育的理解,对高等教育人才培养、对课程和教师的责任也在不断地进行反思,一种新的教学理念日趋成熟,就是在课程教学中教师要做到: 从知识传授到能力培养和素养形成的转变,每门课都应为学生的素养形成做出贡献。为此,定位于专业基础课和通识类教育教材的《Web技术导论》又到了修订的时候了。</p> <p>回顾本书的写作初衷和2005年2月的**次出版,十多年过去了,虽然互联网的应用已经今非昔比,但令人欣慰的是,本书以B/S三层架构为主线的知识结构设计,显示出了强大的生命力,表明了这种结构的科学性和合理性,它始终是我们认识互联网、进行互联网开发与应用的思维主线。在学习的过程中,没有什么比思想的升华和思维的感悟更令人快乐了,这些年来,对互联网技术的咀嚼,让我们汲取着技术的营养和滋润,也慢慢地体会到互联网技术的美好。</p> <p>光阴荏苒,从《Web技术导论(第3版)》出版到现在,一晃又是五年。在我的课堂教学和Web系统研发中,对Web系统的认识不断深入。特别是对Web研发中的许多技术问题,有了新的体会,对互联网应用创新有了新的感悟,也恰逢“互联网 ”这样一个时代背景,我应该把这些新的东西写出来,和大家分享,希望哪怕是一点点思路和想法对你的学习和工作有所启发和帮助,都会令我获得很大的欣慰。</p> <p>本次改版*大的考虑就是突出**,对于实用性弱的内容,加强思想凝练,减少篇幅。例如,对于Web服务、XML技术,**讲解思想,具体内容的讲解将减少。对于HTML,将增加HTML5内容的讲解,突出CSS等**应用。另外,对数据库SQL语言,客户端编程、服务端编程,设计的代码案例更加突出实用,强调代码质量,对那些没有实际应用背景、纯粹的语法例子代码进行了删减。</p> <p>本次改版仍分为6章,主要内容如下。</p> <p>第1章Web基础。介绍Internet的产生和发展,万维网的概念,HTTP通信原理,以及Web应用的概念。介绍Web相关核心技术,包括Java技术、XML技术、Web服务等。介绍计算机应用模式的演变,讲解C/S架构和B/S架构的思想和结构。</p> <p>第2章Web服务器的架设和管理。介绍Web服务器的概念,Web服务器的功能。主要讲解Windows服务器中IIS的配置和管理,讲解Apache和Tomcat的功能以及它们的关系,Apache和Tomcat的架设和管理,讲解虚拟主机和虚拟目录的概念及其配置方法。</p> <p>第3章标记语言HTML基础。讲解标记语言思想,然后详细介绍HTML标记语言的语法,对CSS技术、图层进行了深入讲解,并安排了大量的例子解释相关标记的含义和使用。对可扩展标记语言XML的思想、XML和HTML的本质区别做了简单介绍。</p> <p>第4章网页设计与制作。网页作为Web应用的主要用户界面,在HTML基础上,加强了网页设计的讲解,包括: 页面功能与内容设计、页面布局设计、页面视觉设计以及页面效果设计等。介绍了相关的开发工具,包括SublimeText代码编辑器,MyEclipse集成开发环境以及Dreamweaver页面制作工具。</p> <p>第5章客户端编程。首先讲解Web浏览器的基本工作原理,然后讲解客户端脚本程序设计语言JavaScript、浏览器对象模型BOM、HTML文档对象模型DOM等内容,AJAX技术,以及JavaScript库jQuery等。通过三个综合案例,详细讲解了JavaScript中菜单的实现、表单数据的有效性验证、表单数据的处理等问题。这些综合案例中包含了许多Web开发中所需要的代码,相信通过这些案例的学习,对你的Web开发能力会有所帮助。</p> <p>第6章服务端编程。介绍了互联网中Web应用系统的概念,讲解了B/S三层结构、客户端与服务端编程、字符编码、网络攻击与信息**等重要问题。讲解了Java程序设计语言基础,包括Java技术的特点、类与对象、接口、包等基本概念,介绍了JavaBean、Servlet服务器程序的概念,这些概念是开展基于Java技术的服务端编程的基础。**讲解了JSP技术和数据库编程。在本次修订中,删除了原有占用较大篇幅的综合案例,增加了Web系统设计与开发一节,介绍了Web系统开发的基本流程、相关文档结构及软件工具。</p> <p>笔者作为互联网用户和Web技术的***、实践者,同时作为一名学院派和公司派相结合的高校教师,希望这本书的知识结构和内容对于读者了解Internet和WWW,学习Web系统开发,进行Web编程,以及提高Web应用水平等能有所帮助。也希望书中的大量实例在读者未来的Web研发中,能给读者的编程以启发,为读者节省宝贵的项目研发时间。软件开发是一个积累的过程,让我们一起在这种积累中进步,来享受成功的乐趣。</p> <p>在本书的写作过程中,非常感谢我的同事巩裕伟老师、焦文江老师、杨兴强老师、阚铮老师和李蕴老师的工作及提出的建议与意见,感谢使用本书的众多高校任课老师对本书的认可及对本书修订提出的建议与意见,感谢我的学生王洪岩、候明良、罗琦、刘义明、苏雪、常跃峰、崔旭、朱岩、田容雨、张会昌、卢艳萍、田韶存等,他们都参与了许多项目的研发工作,编写了大量程序代码,祝愿他们在以后的工作和生活中一切顺利,取得更大的成绩。此外,还要感谢山东大学本科生院、山东大学研究生院的立项支持,感谢教育部全国高校教师网培**对本书的厚爱,感谢清华大学出版社付弘宇编辑长期以来对本书的辛勤付出。</p> <p>由于本书涉及的内容非常广泛,在深度和广度上很难做到**,同时,也由于作者本人的知识面和精力有限,书中肯定存在错误和不足,敬请各位同行和读者批评指正。</p> <p>郝兴伟</p> 2018年1月显示全部信息免费在线读第5章客户端编程
【本章导读】
网页不仅仅包含HTML元素,通常还���含脚本程序,它们增加了页面的交互和计算能力,使网页更生动、功能更强大。脚本程序分为客户端脚本程序和服务端脚本程序两种,它们分别在Web浏览器中和Web服务器上执行。因此,在Web开发中,可分为前端开发和后端开发两个部分。前端开发是指客户浏览器端的开发,包括网页制作和客户端编程。后端开发则是指服务器端的开发,主要是业务逻辑处理和数据库编程。本章介绍前端开发中的客户端编程问题,首先讲解Web浏览器和客户端脚本程序的关系,对浏览器的工作原理进行分析,它是理解脚本程序和脚本编程的关键。然后以JavaScript语言为例,讲解客户端脚本编程问题,包括JavaScript程序语言,对象及其操作,内部对象及函数,HTML文档对象模型以及库和jQuery。根据在Web开发中的具体需求,详细讲解了Web开发中有关表单编程中遇到的问题,包括数据的获取、可靠性验证、网页参数传递等,并提供了大量的实用代码,*后给出了几个综合案例。
【知识要点】
5.1节: 计算机程序,程序设计语言,源程序,解释执行,程序编译,程序运行。5.2节: 浏览器脚本引擎,客户端脚本语言,JavaScript脚本语言,Jscript脚本语言, script 标记,文件包含。5.3节: 保留字,标识符,小驼峰命名法,大驼峰命名法,序言性注释,描述性注释,数据类型,弱数据类型,变量,运算符,表达式,程序语句,顺序语句,分支语句,重复语句,函数,返回值。5.4节: 类,对象,new操作,点运算符,括号运算符,this指针。5.5节: 内置对象,字符串对象(String),正则表达式,元字符,限定符,正则表达式对象(RegExp),数学对象(Math),日期对象(Date),数组对象(Array),预定义函数。5.6节: 浏览器对象模型BOM,window对象,location对象,history对象,screen对象,navigator对象。5.7节: HTML文档对象模型DOM,document对象,body对象,HTML元素内存对象。5.8节: AJAX技术,客户端和服务器的异步通信,页面局部刷新。5.9节: JavaScript库,Prototype库,jQuery库,jQuery函数,jQuery插件。5.10节: 折叠式菜单,树状菜单,数据有效性验证。
5.1计算机程序与程序设计语言