Web程序设计

Web程序设计

(美) 赛巴斯塔 (Sebesta,R.W.) , 著

出版社:清华大学出版社

年代:2008

定价:65.0

书籍简介:

本书内容包括:基础知识、因特网简介、Web浏览器、Web服务器、URL、MIME、HTTP、Web开发常用工具。

作者介绍:

Robert W. Sebesta,畅销书作者,美国科罗拉多大学斯普林斯校区的计算机科学专业副教授。他获得了宾西法尼亚州立大学的计算机科学博士学位,曾出版多部名著。

书籍目录:

第1章 基础知识标签  2.5.3 XHTML文档的验证 2.6 超链接  2.6.1 链接  2.6.2 位于文档内部的目标  2.6.3 使用链接 2.7 列表  2.7.1 无序列表  2.7.2 有序列表  2.7.3 定义列表 2.8 表格  2.8.1 基本的表格标签  2.8.2 属性rowspan与colspan  2.8.3 属性align与valign

第1章 基础知识 1.1 Internet简介  1.1.1 起源  1.1.2 Internet  1.1.3 IP地址  1.1.4 域名 1.2 万维网  1.2.1 起源  1.2.2 Web还是Internet 1.3 Web浏览器 1.4 Web服务器  1.4.1 Web服务器操作  1.4.2 服务器的一般特性  1.4.3 Apache  1.4.4 IIS 1.5 统一资源定位符  1.5.1 URL的格式  1.5.2 URL路径 1.6 多用途网际邮件扩充协议  1.6.1 类型说明  1.6.2 实验性文档类型 1.7 超文本传输协议  1.7.1 请求阶段  1.7.2 响应阶段 1.8 安全性 1.9 Web开发常用工具  1.9.1 XHTML概述  1.9.2 创建XHTML文档的工具  1.9.3 插件和过滤器  1.9.4 XML概述  1.9.5 JavaScript概述  1.9.6 Java概述  1.9.7 Perl概述  1.9.8 PHP概述  1.9.9 Ruby概述  1.9.10 Rails概述  1.9.11 Ajax概述 1.10 本章小结 1.11 复习题 1.12 练习题第2章 XHTML简介 2.1 HTML和XHTML的起源和演变  2.1.1 HTML和XHTML的版本  2.1.2 HTML与XHTML 2.2 基本语法 2.3 XHTML文档的标准结构 2.4 基本的文本标记  2.4.1 段落  2.4.2 换行  2.4.3 保留空白字符  2.4.4 标题  2.4.5 文本块引用  2.4.6 字体样式与大小  2.4.7 字符实体  2.4.8 水平线  2.4.9 meta元素 2.5 图片  2.5.1 图片格式  2.5.2 标签  2.5.3 XHTML文档的验证 2.6 超链接  2.6.1 链接  2.6.2 位于文档内部的目标  2.6.3 使用链接 2.7 列表  2.7.1 无序列表  2.7.2 有序列表  2.7.3 定义列表 2.8 表格  2.8.1 基本的表格标签  2.8.2 属性rowspan与colspan  2.8.3 属性align与valign  2.8.4 属性cellpadding与cellspacing  2.8.5 表格分块 2.9 表单  2.9.1 标签  2.9.2 标签  2.9.3 标签  2.9.4 标签  2.9.5 动作按钮  2.9.6 一个完整的表单示例 2.10 框架  2.10.1 框架集  2.10.2 框架 2.11 HTML与XHTML之间的语法差异 2.12 本章小结 2.13 复习题 2.14 练习题第3章 层叠样式表 3.1 简介 3.2 样式表的层次 3.3 样式说明格式 3.4 选择器格式  3.4.1 简单的选择器格式  3.4.2 类选择器  3.4.3 类属选择器  3.4.4 id选择器  3.4.5 通配选择器  3.4.6 伪类 3.5 属性值的格式 3.6 字体属性  3.6.1 字体族  3.6.2 字体大小  3.6.3 字体变化  3.6.4 字体样式  3.6.5 字体粗细  3.6.6 简写字体属性  3.6.7 文本装饰 3.7 列表属性 3.8 颜色  3.8.1 颜色组  3.8.2 颜色属性 3.9 文本对齐 3.10 盒模型  3.10.1 边框  3.10.2 内边距和外边距 3.11 背景图片 3.12 标签和标签 3.13 冲突解决方案 3.14 本章小结 3.15 复习题 3.16 练习题第4章 JavaScript基础知识 4.1 JavaScript概述  4.1.1 起源  4.1.2 JavaScript与Java  4.1.3 JavaScript的用途  4.1.4 事件驱动的计算  4.1.5 浏览器和XHTML/JavaScript文档 4.2 面向对象和JavaScript 4.3 一般的语法特征 4.4 原始数据、操作和表达式  4.4.1 原始数据类型  4.4.2 数值型和字符串字面量  4.4.3 其他原始类型  4.4.4 声明变量  4.4.5 数值操作符  4.4.6 Math对象  4.4.7 Number对象  4.4.8 字符串连接操作符  4.4.9 隐式类型转换  4.4.10 显式类型转换  4.4.11 String属性和方法  4.4.12 typeof操作符  4.4.13 赋值语句  4.4.14 Date对象 4.5 屏幕输出和键盘输入 4.6 控制语句  4.6.1 控制表达式  4.6.2 选择语句  4.6.3 switch语句  4.6.4 循环语句 4.7 创建和修改对象 4.8 数组  4.8.1 创建Array对象  4.8.2 Array对象的特征  4.8.3 Array方法 4.9 函数  4.9.1 基础知识  4.9.2 局部变量  4.9.3 参数  4.9.4 深入理解sort方法 4.10 示例一 4.11 构造函数 4.12 利用正则表达式进行模式匹配  4.12.1 字符和字符类模式  4.12.2 锚  4.12.3 模式修饰符  4.12.4 String对象中的其他模式匹配方法 4.13 示例二 4.14 脚本中的错误 4.15 本章小结 4.16 复习题 4.17 练习题第5章 JavaScript与XHTML文档 5.1 JavaScript的执行环境 5.2 文档对象模型 5.3 在JavaScript中访问元素 5.4 事件与事件处理  5.4.1 事件处理的基本概念  5.4.2 事件、属性和标签 5.5 处理主体元素的事件 5.6 处理按钮元素的事件 5.7 处理文本框和密码框元素的事件  5.7.1 focus事件  5.7.2 验证表单输入 5.8 DOM 2事件模型  5.8.1 事件传播  5.8.2 事件处理程序的注册  5.8.3 DOM 2事件模型示例 5.9 navigator对象 5.10 DOM树的遍历和修改  5.10.1 DOM树遍历  5.10.2 DOM树修改 5.11 本章小结 5.12 复习题 5.13 练习题第6章 利用JavaScript开发动态文档 6.1 简介 6.2 元素定位  6.2.1 绝对定位  6.2.2 相对定位  6.2.3 静态定位 6.3 移动元素 6.4 元素可见性 6.5 修改颜色和字体  6.5.1 修改颜色  6.5.2 修改字体 6.6 动态修改内容 6.7 堆叠元素 6.8 定位鼠标光标 6.9 响应鼠标单击 6.10 缓慢移动元素 6.11 拖放元素 6.12 本章小结 6.13 复习题 6.14 练习题第7章 XML简介 7.1 简介 7.2 XML语法 7.3 XML文档结构 7.4 文档类型定义  7.4.1 元素声明  7.4.2 属性声明  7.4.3 实体声明  7.4.4 一个DTD的示例  7.4.5 内部和外部DTD 7.5 命名空间 7.6 XML架构  7.6.1 架构的基本原理  7.6.2 架构的定义  7.6.3 定义架构实例  7.6.4 数据类型概述  7.6.5 简单类型  7.6.6 复杂类型  7.6.7 架构实例的验证  7.7 显示没有格式化的XML文档 7.8 通过CSS显示XML文档 7.9 XSLT样式表  7.9.1 XSLT概述  7.9.2 用于表现的XSL转换 7.10 XML处理器  7.10.1 XML处理器的用途  7.10.2 SAX方式  7.10.3 DOM方式 7.11 Web服务 7.12 本章小结 7.13 复习题 7.14 练习题第8章 Perl语言基础 8.1 Perl的起源与用途 8.2 标量及其操作  8.2.1 数值与字符串字面量  8.2.2 标量变量  8.2.3 数值操作符  8.2.4 字符串操作符  8.2.5 字符串函数 8.3 赋值语句与基本的输入输出  8.3.1 赋值语句  8.3.2 键盘输入  8.3.3 屏幕输出 8.4 控制语句  8.4.1 控制表达式  8.4.2 选择及循环语句 8.5 数组基础  8.5.1 列表字面量  8.5.2 数组  8.5.3 foreach语句  8.5.4 内置的数组函数  8.5.5 内置的列表函数  8.5.6 示例 8.6 散列 8.7 引用 8.8 函数  8.8.1 基础  8.8.2 局部变量  8.8.3 参数  8.8.4 深入理解sort函数  8.8.5 示例 8.9 模式匹配  8.9.1 模式匹配的基础  8.9.2 存储匹配  8.9.3 替换  8.9.4 直转操作符 8.10 文件输入输出 8.11 示例 8.12 本章小结 8.13 复习题 8.14 练习题第9章 使用Perl语言编写CGI程序 9.1 通用网关接口技术 9.2 CGI连接 9.3 查询字符串的格式 9.4 CGI.pm模块  9.4.1 常用的CGI.pm函数  9.4.2 一个完整的表单示例 9.5 调查表示例 9.6 Cookie简介 9.7 本章小结 9.8 复习题 9.9 练习题第10章 Servlet与JSP 10.1 servlet概述 10.2 servlet详解 10.3 调查表示例 10.4 在客户端存储信息  10.4.1 cookie  10.4.2 servlet对cookie的支持  10.4.3 示例  10.4.4 会话跟踪 10.5 JSP  10.5.1 开发JSP的动机  10.5.2 JSP文档  10.5.3 脚本段  10.5.4 表达式语言  10.5.5 JSTL中用于控制的动作元素 10.6 本章小结 10.7 复习题 10.8 练习题第11章 PHP简介 11.1 PHP的起源和用途 11.2 PHP概述 11.3 基本语法特征 11.4 原始类型、操作和表达式  11.4.1 变量  11.4.2 整数类型  11.4.3 双精度类型  11.4.4 字符串类型  11.4.5 布尔类型  11.4.6 算术运算符和表达式  11.4.7 字符串操作  11.4.8 标量类型转换  11.4.9 赋值操作符 11.5 输出 11.6 控制语句  11.6.1 关系操作符  11.6.2 布尔操作符  11.6.3 选择语句  11.6.4 循环语句  11.6.5 示例 11.7 数组  11.7.1 创建数组  11.7.2 访问数组元素  11.7.3 数组处理函数  11.7.4 数组元素的按序访问  11.7.5 数组排序 11.8 函数  11.8.1 函数的基本特征  11.8.2 参数  11.8.3 变量的作用域  11.8.4 变量的生命周期 11.9 模式匹配 11.10 表单处理 11.11 文件处理  11.11.1 文件的打开和关闭  11.11.2 文件读取  11.11.3 文件写入操作  11.11.4 文件加锁 11.12 Cookie  11.12.1 cookie简介  11.12.2 PHP对cookie的支持 11.13 会话跟踪 11.14 本章小结 11.15 复习题 11.16 练习题第12章 ASP.NET简介 12.1 .NET Framework概述  12.1.1 背景  12.1.2 .NET语言  12.1.3 公共语言运行时  12.1.4 公共语言架构 12.2 C#简介  12.2.1 起源  12.2.2 原始类型和表达式  12.2.3 数据结构  12.2.4 控制语句  12.2.5 类、方法和结构  12.2.6 属性  12.2.7 委托  12.2.8 程序结构  12.2.9 程序的文件存储 12.3 ASP.NET简介  12.3.1 基本原理  12.3.2 ASP.NET文档  12.3.3 后台代码文件 12.4 ASP.NET控件  12.4.1 HTML控件  12.4.2 简单的ASP.NET文档的生命周期  12.4.3 页面级事件  12.4.4 控制事件  12.4.5 Web控件  12.4.6 由代码产生控件元素  12.4.7 控件的响应输出  12.4.8 示例  12.4.9 验证控件 12.5 Web服务  12.5.1 构建Web服务  12.5.2 传播Web服务 12.6 本章小结 12.7 复习题 12.8 练习题第13章 基于Web的数据库访问 13.1 关系数据库 13.2 结构化查询语言简介  13.2.1 SELECT命令  13.2.2 连接  13.2.3 INSERT命令  13.2.4 UPDATE命令  13.2.5 DELETE命令  13.2.6 DROP命令  13.2.7 CREATE TABLE命令 13.3 数据库访问的体系结构  13.3.1 客户/服务器体系结构  13.3.2 Microsoft Access体系结构  13.3.3 Perl DBI/DBD体系结构  13.3.4 PHP和数据库访问  13.3.5 Java JDBC体系结构 13.4 MySQL数据库系统 13.5 使用Perl和MySQL实现数据库访问2  13.5.1 DBI模块  13.5.2 示例 13.6 使用PHP和MySQL实现数据库访问  13.6.1 特殊字符的潜在问题  13.6.2 连接MySQL并选择数据库  13.6.3 请求MySQL操作  13.6.4 PHP/MySQL示例 13.7 使用JDBC和MySQL实现数据库访问  13.7.1 JDBC和MySQL  13.7.2 元数据  13.7.3 示例 13.8 本章小结 13.9 复习题 13.10 练习题第14章 Ruby简介 14.1 Ruby的起源与用途 14.2 标量类型及其操作  14.2.1 数值与字符串字面量  14.2.2 变量和赋值语句  14.2.3 数值操作符  14.2.4 String的方法 14.3 简单的输入输出  14.3.1 屏幕输出  14.3.2 键盘输入 14.4 控制语句  14.4.1 控制表达式  14.4.2 选择语句和循环语句 14.5 数组基础  14.5.1 for-in语句  14.5.2 数组和列表的内置方法  14.5.3 示例 14.6 散列 14.7 方法  14.7.1 基础知识  14.7.2 局部变量  14.7.3 参数 14.8 类  14.8.1 类的基础知识  14.8.2 访问控制  14.8.3 继承 14.9 代码块和迭代器 14.10 模式匹配  14.10.1 模式匹配的基础知识  14.10.2 存储匹配  14.10.3 替换 14.11 本章小结 14.12 复习题 14.13 练习题第15章 Rails简介 15.1 Rails概述 15.2 文档请求  15.2.1 静态文档Hello World  15.2.2 动态文档 15.3 处理表单  15.3.1 设置应用程序  15.3.2 控制器和视图 15.4 需要访问数据库的Rails应用程序  15.4.1 构建数据库  15.4.2 构建应用程序 15.5 布局 15.6 本章小结 15.7 复习题 15.8 练习题第16章 Ajax简介 16.1 Ajax概述 16.2 Ajax基础知识  16.2.1 应用程序  16.2.2 表单文档  16.2.3 请求阶段  16.2.4 响应文档  16.2.5 接收器阶段  16.2.6 跨浏览器支持 16.3 采用Ajax技术的Rails  16.3.1 初始的表单文档  16.3.2 触发Ajax  16.3.3 控制器 16.4 本章小结 16.5 复习题 16.6 练习题附录A Java简介附录B 颜色名及其十六进制值附录C Java Applet

在线试读部分章节

Chapter 1 基础知识  由于万维网的引入,工业化国家的绝大部分居民和非工业化国家的一部分居民的生活已经发生了永久性的变化。虽然万维网也带来了一些负面影响——比如,访问色情信息更加容易了,还有就是具有破坏性观点的传播也更加容易了——但是,总而言之,万维网带来的巨大影响总体上是正面的。很多人都在日常生活中使用Internet和万维网,包括通过E-mail来联系亲朋好友和商业伙伴,在任何地方都几乎可以购买任何商品,搜索无数的各种各样的信息,这些信息包括从电影院的放映时间表到几乎全球所有城市的宾馆的住宿价格,甚至还包含一些既小又偏远民族的历史和文化特征。创建用于提供所有这些信息的软件和数据需要用到几种不同的技术,比如标记语言和元标记语言,以及利用多种不同编程语言的编程技术,其中有一些是专门针对万维网的,而另一些则是专为通用计算而设计的。为了能够获取用于构建万维网站点所需的知识和技术,本书提供了必要的背景和基础知识,我们创建的万维网站点不仅可以单纯浏览信息,还支持提交信息。  本章是本书其他章节的基础。首先介绍Internet和万维网的发展历史。接下来将讨论Web浏览器和服务器的目的和一些特征。然后将描述统一资源定位器(Uniform Resource Locator,URL),URL为Web中的可用资源指定了地址。接下来将介绍多用途网际邮件扩充协议(Multipurpose Internet Mail Extension,MIME),它提供了指定文件类型的方式,这是因为信息可以以许多不同的格式保存在文件中。然后将讨论超文本传输协议(Hypertext Transfer Protocol,HTTP),它提供了浏览器和Web服务器之间连接的通信接口。最后,本章将简单介绍Web程序员常用的一些工具,包括XHTML、XML、JavaScript、Java、Pefl、PHP、Ruby、Rails和Ajax。所有这些工具都将在本书的后续章节中详细介绍(第2章和第3章将讨论XHTML;第4章、第5章和第6章将讨论JavaScript;第7章将讨论XML;第8章和第9章将讨论Perl;第11章将讨论PHP;第10章、附录A和附录C将讨论Java;第14章将讨论Ruby;第15章将讨论Rai1s;第16章将讨论Ajax)。  1.1 Internet简介  本书讨论的所有主题几乎都与Internet有关。因此,首先我们将简单讨论一下Internet本身。  1.1.1 起源  20世纪60年代,美国国防部(Department of Defense,DoD)开始对开发一些新的大规模计算机网络产生兴趣。开发这样的一个网络,其目的在于为从事与国防相关合同项目的研究人员提供通信、程序共享和远程计算机访问等功能。这种网络的一个基本要求是必须足够健壮,即使当其中的某些节点由于破坏、战争和正常停机等原因失去作用后,整个网络还可以继续运行。DoD的高级研究计划局(Advanced Research Projects Agency,ARIA)提供经费支持了第一个这种网络的构建,这个网络将ARPA支持的大约12个实验室和大学连接在一起。该网络中的第一个节点是1969年在UC1A建立的。  由于这个网络是由ARPA提供经费支持的,因此被命名为ARPAnet。尽管最初的设计目标很多,但是这个网络早期的主要应用只是通过E-mail进行基于文本的简单通信。由于ARPAnet只是在ARPA资助的实验室和大学中可用,因此绝大部分教育机构并没有连接进来。所以,20世纪70年代后期和80年代早期又开发了很多其他网络,其中包括BITNET和CSNET。BITNET是Because It's Time Network的缩写,是由纽约城市大学(City University of New York)首创的。该网络设计时的初始目标是提供电子邮件和文件传输功能。CSNET是Computer Science Network的缩写,它将特拉华大学(University of Delaware)、普渡大学(Purdue University)、威斯康星大学(University of Wisconsin)、兰德公司(RAND Corporation)、Bolt、Beranek和Newman连接在一起。该网络最初的设计目标是提供电子邮件功能。由于各种不同的原因,BITNET和CSNET都没有发展为占有绝对优势的全国性网络。  1986年出现了一个新的全国性的网络NSFnet,顾名思义,这是由美国国家科学基金会(National Science Fundation,NSF)出资赞助的。最开始,NSFnet连接了NSF赞助下的位于5个大学中的超级计算机中心。但是,在该网络建立后不久,其他学术机构和实验室也开始使用该网络。到1990年,NSFnet在绝大部分非军事领域应用中已经取代了ARPAnet,大量的组织成为NSFnet中的节点——到1992年,NSFnet已经连接了全球中一百万台以上的计算机。1995年,NSFnet中的一小部分网络重新成为学术网络。其余的部分就成为著名的Internet,虽然这一术语很早就已经在ARPAnet和NSFnet中使用过了。  1.1.2 Internet  Internet是在一个通信网络中连接的计算机的大规模集合。这些计算机的太小、配置和制造商都是我们熟知的。实际上,连接到Internet中的一些设备——比如绘图机和打印机——根本就不是计算机。能够使所有这些不同的设备通过Internet进行通信的创新之举是一个单独的、低层的协议,即传输控制协议/Internet协议(Transmission Control Protocol/Internet Protocol,TCP/IP)。TCP/IP在1982年成为了计算机网络连接的标准协议,它允许某台计算机中的程序通过Internet直接和另外一台计算机中的程序进行通信。但是,在绝大多数情况下,在TCP/IP之上还要运行一个较高层的协议。即便如此,我们知道TCP/IP为连接到Internet的计算机(及其他设备)提供了低层的通信接口也是非常重要的。  一般情况下,同一个组织中的多台计算机并不是直接连接到Internet中的每一台计算机上的,而是相互连接构成了一个局域网,然后这个局域网中的一个节点物理连接到Internet中。  因此,Internet实际上并不是计算机的网络,而是网络的网络。很明显,所有连接到Internet的设备必须可以被唯一地识别出来。  1.1.3 IP地址  对于我们来说,Internet节点是通过名称进行识别的;而对于计算机来说,它们是通过数字地址进行识别的。这种机制类似于程序中的变量名和变量的数字内存地址之间的关系。我们是通过变量名称来识别变量的,而计算机则是通过变量的内存地址来识别变量的。  计算机接入到Internet的IP地址是一个唯一的32位数字。IP地址通常会被写为(或者认为)是由4个8位数字,中间用西文句点分隔而成的。IP地址中的这4个部分分别由不同的Internet路由计算机解析,然后确定某个消息下一步必须去往何处才能最终到达目的地。  不同的组织分配了不同的IP段,然后再将它们细分给所有需要接入到Internet的机器——此时的机器大部分指的是计算机。比如,一个较小的组织可能分配了256个IP地址,可能是191.57.126.0~191.57.126.255。一些大型组织,比如美国国防部,可能分配了1600万个IP地址,这些IP地址的第一个8位数是特殊的,比如12.0.0.0~12.255.255.255。 虽然人们几乎总是在浏览器中输入域名,但并不影响IP的正常工作。例如,美国联合航空公司(United Airline)的IP地址是209.87.113.93。因此,如果在浏览器中输入http://209.87.113.93,就能连接到美国联合航空公司的网站。  1998年底,一个新的IP标准IPv6出台,但它还没有大量实现。IPv6最重要的变化是将IP地址从32位扩展为128位。这个变化是非常必要的,因为剩下的尚未启用的IP地址数量正在快速减少。这个新标准IPv6规范所在的位置为的位置为ftp://ftp.isi.edu/in-notes/rfc2460.txt。  1.1.4 域名  由于我们很难直接处理和记住数字,因此Internet中的机器必须要有一个文本格式的名称。在该名称中首先是一个主机的名称,接下来是范围越来越大的机器集合的名称,称之为域(domain)。一般可能有两个、三个甚至多个域名。第一个域名紧靠主机名称的右侧,表明主机是这个域的一部分。第二个域名给出了第一个域所在的域。最后的域名表示主机所属的组织类型,这是站点名称中最大的域。对于美国的组织来说,edu表示教育机构,com表示公司,gov表示美国政府机构,org表示其他类型的组织。对于其他国家,最大的域一般是国家的缩写——比如,瑞典(Sweden)的缩写为se,哈萨克斯坦(Kazakhstan)的缩写为kz。 ……

书摘与插画

编辑推荐内容推荐作者简介目    录试读章节书摘插画

热荐商品根据您的浏览历史为您推荐

提示

店铺收藏成功

查看收藏夹>>

var zamplus_tag_params = {

productId:"20285037"

};

var _mvq = _mvq || [];

_mvq.push(['$setAccount', 'm-111-0']);

_mvq.push(['$setGeneral', 'goodsdetail', '', '', '']);

_mvq.push(['$addGoods', '', '', '', '20285037']);

_mvq.push(['$logData']);

var _py = _py || [];

_py.push(['p','20285037']);

正规渠道正品保障

放心购物货到付款

150城市次日送达

上门退货当场退款

购物指南

购物流程

发票制度

账户管理

会员优惠

支付方式

货到付款

网上支付

礼品卡支付

银行转帐

订单服务

订单配送查询

订单状态说明

自助取消订单

自助修改订单

配送方式

配送范围及免邮标准

当日递/次日达

订单自提

验货与签收

退换货

退换货政策

自助申请退换货

退换货进度查询

退款方式和时间

商家服务

招商报名

商家中心

运营服务

加入尾品汇

公司简介|

Investor Relations|诚征英才|网站联盟|广告服务|当当招商|机构销售|手机当当|官方

Blog

Copyright (C) 当当网 2004-2014, All Rights Reserved京ICP证041189号出版物经营许可证 新出发京批字第直0673号

login_session.browsePageOperate();

//MediaV

var _mvq = _mvq || [];

_mvq.push(['$setAccount', 'm-111-0']);

_mvq.push(['$logConversion']);

(function() {

var mvl = document.createElement('script');

mvl.type = 'text/javascript'; mvl.async = true;

mvl.src = ('https:' == document.location.protocol ? 'http://static.dangdang.com/js/header2012/mvl.js' : 'http://static.dangdang.com/js/header2012/mvl.js');

var s = document.getElementsByTagName('script')[0];

s.parentNode.insertBefore(mvl, s);

})();

//pinyou

var _py = _py || [];

_py.push(['a', 'xT..hNvyCM_tldiECftJyo-LKP']);

_py.push(['domain','stats.teller.cn']);

//_py.push(['mapping','1']);

_py.push(['e','']);

-function(d) {

var s = d.createElement('script'),

e = d.body.getElementsByTagName('script')[0]; e.parentNode.insertBefore(s, e),

f = 'https:' == location.protocol;

s.src = (f ? 'https' : 'http') + '://'+(f?'js.teller.cn':'js.teller.cn')+'/j/adv.js';

}(document);

$(window).bind("scroll",function(){

var a=$("#return_top");

var c=document.body.scrollTop||document.documentElement.scrollTop;

if(c==0){$("#back_to_top").hide()}else{$("#back_to_top").show()}

});

价格举报

用户反馈

返回顶部

function dd2_DoFSCommand(command,args){

switch(command){

case "i_close":

document.getElementById("flash_ad_top2").style.display="none";

document.getElementById("flash_ad_top1").style.display="";

if(window.ActiveXObject)document.getElementById("dd1").play();

break;

case "topflash_close":

document.getElementById("flash_ad_top2").style.display = "none";

document.getElementById("flash_ad_top1").style.display = "none";

break;

default:break;

}

}

function dd1_DoFSCommand(command,args){

switch(command){

case "i_close":

document.getElementById("flash_ad_top2").style.display="";

document.getElementById("flash_ad_top1").style.display="none";

break;

case"i_endmovie":

document.getElementById("flash_ad_top2").style.display="";

document.getElementById("flash_ad_top1").style.display="none";

break;

case "topflash_close":

document.getElementById("flash_ad_top2").style.display = "none";

document.getElementById("flash_ad_top1").style.display = "none";

break;

default:break;

}

}

document.write('dd2_DoFSCommand(command,args);');

document.write('dd1_DoFSCommand(command,args);');

function ddtuijian(){

$("#ddtuijian").addClass("on");

$("#search_tuijian_content").show();

$("#cpc_tab").removeClass("on");

$("#ddcpcdiv").hide();

}

function ddcpc(){

var flag=$(".reco_wrap").attr("value");

if($("#cpc_tab").length&&flag==0){

$("#cpc_tab").addClass("on");

$("#ddcpcdiv").show();

$("#ddtuijian").removeClass("on");

$("#search_tuijian_content").hide();

}

if($("#cpc_tab").length==0){

$("#tabtc").removeClass().addClass("tab one_tab");

}

}

$("#ddtuijian").click(function () {

ddtuijian();

});

$("#cpc_tab").click(function () {

ddcpc();

});

function turn(){

if($("#cpc_tab").length==0){

$("#tabtc").removeClass().addClass("tab one_tab");

ddtuijian();

}

}

setInterval("turn()",3000);

DD_AD.cpc_pid=20285037;

DD_AD.cpc_title="%CD%BC%CA%E9%3E%BD%CC%B2%C4%3E%D1%D0%BE%BF%C9%FA%2F%B1%BE%BF%C6%2F%D7%A8%BF%C6%BD%CC%B2%C4%3E%B9%A4%D1%A7%3EWeb%B3%CC%D0%F2%C9%E8%BC%C6%A3%A8%B5%DA4%B0%E6%A3%A9%A3%A8%B9%FA%CD%E2%BE%AD%B5%E4%BD%CC%B2%C4%A1%A4%BC%C6%CB%E3%BB%FA%BF%C6%D1%A7%D3%EB%BC%BC%CA%F5%A3%A9";var pagesize="pw";

if(!iswidth)

pagesize="pn";

DD_AD.fetchCPC(6,0,"01.49.01.16.00.00",1,"new",pagesize);

DD_AD.fetchCPC(9,0,"01.49.01.16.00.00",1,"new","float"); if(iswidth){DD_AD.fetchCPT("top_51661","01.49.01.16.00.00",2,1);

DD_AD.fetchCPT("bottom_pro_51661","","","1");

}else{DD_AD.fetchCPT("top_51661","01.49.01.16.00.00",2);

DD_AD.fetchCPT("bottom_pro_51661");

}

DD_AD.fetchCPT("skyscraper_51661");

DD_AD.fetchCPT("flip_51661");

if($("#ad_cpt_12213")[0]){DD_ADSMART.fetchCPT(12213,"mobile_ad_tag","new_mobile");}

.topbanner_all div {

border: 1px solid #DCDDDD;

height: 63px;

margin: 10px auto 0;

overflow: hidden;

position: relative;

width: 1198px;

}

.product_btmad div {

border: 1px solid #DCDDDD;

height: 88px;

margin: 10px auto;

overflow: hidden;

position: relative;

width: 1198px;

}

如果您在其他网站发现同样商品的价格比当当价低,且双方均有货,请您提供有效链接信息,将作为我们调整价格的重要依据。

商品名称:

当当价:

*竞品价格:

元请填写有效数字

*网址链接:

请填写有效链接

联系方式:

请填写有效联系方式

提交关闭

确定

var Pricepopup = {

bind : function(){

$("#look_app_client").hover(function(){

$(this).siblings("a").show();

},function(){

$(this).siblings("a").hide();

});

$("#price_report_btn").bind("click",function(){

showMsgBox("price_report_btn",'','',Pricepopup.report_pop_show);

return false;

});

$("#close_btn,#close_img").bind("click",function(){

$("#price_report_shade").hide();

$("#price_report_pop").hide();

});

$("#price_report_pop2_close_btn,#price_report_pop2_close_img").bind("click",function(){

$("#price_report_shade").hide();

$("#price_report_pop2").hide();

});

$("#price_report_product_cpprice").bind("focus",function(){

if($("#price_report_product_cpprice").val()=="必填"){

$("#price_report_product_cpprice").val("");

}

}).bind("blur",function(){

if($("#price_report_product_cpprice").val().replace(/(^\s*)|(\s*$)/g, "") == ''){

$("#price_report_product_cpprice").val("必填");

}

});

$("#price_report_product_cplink").bind("focus",function(){

if($("#price_report_product_cplink").val()=="必填"){

$("#price_report_product_cplink").val("");

}

}).bind("blur",function(){

if($("#price_report_product_cplink").val().replace(/(^\s*)|(\s*$)/g, "") == ''){

$("#price_report_product_cplink").val("必填");

}

});

$("#price_report_product_contact").bind("focus",function(){

if($("#price_report_product_contact").val()=="手机,邮箱均可,选填"){

$("#price_report_product_contact").val("");

}

}).bind("blur",function(){

if($("#price_report_product_contact").val().replace(/(^\s*)|(\s*$)/g, "") == ''){

$("#price_report_product_contact").val("手机,邮箱均可,选填");

}

});

$("#price_report_submit").bind("click",function(){

var flag = true;

var re = /^\d+(\.\d+)?$/;

if(re.test($("#price_report_product_cpprice").val())){//价格合法

$("#price_report_product_cpprice").removeClass("error_text");

$("#price_report_cpprice_error").hide();

}else{

$("#price_report_product_cpprice").addClass("error_text");

$("#price_report_cpprice_error").show();

flag = false;

}

re = /^([a-zA-z]+:\/\/)?\w+\.\w+(\.\w+)?(\/.*)?$/;

if(re.test($("#price_report_product_cplink").val())){//url合法

$("#price_report_product_cplink").removeClass("error_text");

$("#price_report_cplink_error").hide();

}else{

$("#price_report_product_cplink").addClass("error_text");

$("#price_report_cplink_error").show();

flag = false;

}

if(flag){

var timestamp = new Date().getTime();

$.ajax({

type:"POST",

dataType:"json",

url: "ajax.php",

data: {

product_id : ($("#color_size").attr("itemid") != undefined && $("#color_size").attr("itemid") != '') ? $("#color_size").attr("itemid") : $("#pid_span").attr("spid"),

product_name:$("#price_report_product_name").text(),

price:$("#price_report_product_ddprice").text(),

cpprice:$("#price_report_product_cpprice").val(),

cpurl:$("#price_report_product_cplink").val(),

contact : ($("#price_report_product_contact").val() == '手机,邮箱均可,选填' ? '' : $("#price_report_product_contact").val()),

timestamp:timestamp,

type:'price_report'

},

success: function(msg){

// console.log(msg);

// alert(msg.errorcode);

if(msg.errorcode==0 && msg.statuscode==0){

// $("#price_report_shade").hide();

$("#price_report_pop").hide();

$("#price_report_msg").text("非常感谢您的反馈,您提交的信息将作为我们调整价格的重要依据。正品低价,尽在当当网!");

$("#price_report_pop2").show();

}else{

$("#price_report_pop").hide();

$("#price_report_msg").text("网络原因,发送失败!");

$("#price_report_pop2").show();

}

},

error:function(){}

});

}

});

},

report_pop_show : function(){

$("#price_report_shade").show();

$("#price_report_pop").show();

var title = $(".head h1").html().replace(/.*?/ig,"").replace(//ig,'').replace(/(^\s*)|(\s*$)/g, "");

// title = title.slice(0,title.indexOf("

内容摘要:

《Web程序设计》是畅销书作者Robert W.Sebesta的经典名著,被国内外无数高校和自学人员选为Web课程的教材。该书是其最新版,介绍了Internet和万维网的起源及演变过程,全面系统地讨论了Web开发相关的主要编程语言和工具,以及这些语言和工具之间的相互影响及优劣势。该书对全书内容进行了很多修订,并新增加了关于Ruby、Rails和Ajax的3个章节。

编辑推荐:

全面介绍Web开发技术,详尽阐述具体应用与实例,学习与实践并举的教学方式。 本书介绍了Internet和万维网的起源及演变,全丽系统地讨论了与Web开发有关的主要编程语言和工具,以及这些语言和工具之间的相互影响及比较优势。全书共16章和3个附录,涵盖了Web开发客户端、服务器端的主流编程言和工具。通过对本书的学习,读者能够从历史和整体的角度对Web开发有一个全新的认识,并且能够掌握Web开发的相关技术和必要知识。 ◆Internet简介 ◆HTML和XHTML ◆JavaScript ◆层叠样式表 ◆XML和XSLT ◆Perl/CGI ◆Servlet和JSP ◆PHP ◆使用C#的ASP.NET ◆基于Web的数据库访闻 ◆Ruby ◆Rafts ◆Ajax

书籍规格:

书籍详细信息
书名Web程序设计站内查询相似图书
9787302175490
如需购买下载《Web程序设计》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位清华大学出版社
版次1版印次1
定价(元)65.0语种简体中文
尺寸26装帧平装
页数印数

书籍信息归属:

Web程序设计是清华大学出版社于2008.出版的中图分类号为 TP393.092 的主题关于 主页制作-程序设计 的书籍。