本书以JSP网站设计为主, 以大量的实例介绍JSP程序设计的基本思想、方法和技术, 同时以大量的工程实践环节巩固JSP网站设计的方法和技术。全书共包括11章, 包括Web前端基础、JSP简介及开发环境的构建、JSP语法、JSP内置对象、JSP与JavaBean、JSP访问数据库、Java Servlet、过滤器、EL与JSTL、文件的上传与下载以及地址簿管理信息系统。
Web网站工程师基础课程
动态网页设计开发必修经典课程
实战任务驱动,教学做一体化式讲解
全新升级版本
配套电子课件、源代码以及实践环节与课后习题的参考答案
尽管已经有许多针对本科生的Java Web开发教材,但大部分教材仍侧重讲授知识,而且非常注重知识的系统性,使教材知识体系结构过于全面、庞大。目前,让学生尽快掌握最有用的知识,并尽可能地挖掘他们使用这些知识解决实际问题的能力是非常重要的,一旦做到这一点,就容易培养学生自主学习的能力,相对罗列大量知识的讲授起到事半功倍的效果。许多教师在教学过程中,非常希望教材本身能引导学生尽可能地参与教学活动,因此本书的重点不是简单地介绍Java Web开发的基础知识,而是大量的实例与实践环节,读者通过本书可以快速提高Java Web应用的开发能力。
全书共11章。第1章概括地介绍Web前端的基础知识,包括HTML、CSS与JavaScript。第2章介绍JSP运行环境的构建,并通过一个简单的Web应用讲解Java Web开发的基本步骤。第3章讲述JSP语法,包括Java脚本元素以及常用的JSP标记。第4章介绍常见的JSP内置对象,包括request、response、session以及application。第5章介绍JSP与JavaBean,JSP和JavaBean技术的结合不仅可以实现数据的表示和处理分离,而且可以提高代码重用的程度。第6章详细地介绍在JSP中如何访问关系数据库,如Oracle、SQL Server、MySQL和Microsoft Access等。第7章讲述Servlet的运行原理以及基于Servlet的MVC模式,是本书的重点内容之一。第8章详细地讲述过滤器的概念、运行原理以及实际应用。过滤器可以过滤浏览器对服务器的请求,也可以过滤服务器对浏览器的响应。第9章主要介绍EL与JSTL核心标签库的基本用法。第10章重点介绍Servlet 3.0中的HttpServletRequest对文件上传的支持。第11章是本书的重点内容之一,将前面章节的知识进行全面综合,详细讲解一个基于Servlet MVC模式的地址簿管理信息系统的开发过程。
本书特别注重引导学生参与课堂教学活动,适合作为大学计算机及相关专业的教材或教学参考书,也适合作为Java Web开发人员的参考用书。
为了便于教学,本书配有教学课件、源代码以及实践环节与课后习题参考答案,读者可从清华大学出版社网站免费下载。
由于编者水平有限,书中难免存在疏漏之处,敬请广大读者给予批评指正。
编者
2017年5月
第1章Web前端基础
1.1HTML
1.1.1核心知识
1.1.2能力目标
1.1.3任务驱动
1.1.4实践环节
1.2CSS
1.2.1核心知识
1.2.2能力目标
1.2.3任务驱动
1.2.4实践环节
1.3JavaScript
1.3.1核心知识
1.3.2能力目标
1.3.3任务驱动
1.3.4实践环节
1.4小结
习题1
第2章JSP简介及开发环境的构建
2.1构建开发环境
2.1.1核心知识
2.1.2能力目标
2.1.3任务驱动
2.1.4实践环节
2.2使用Eclipse开发Web应用
2.2.1核心知识
2.2.2能力目标
2.2.3任务驱动
2.2.4实践环节
2.3小结
习题2
第3章JSP语法
3.1JSP页面的基本构成
〖2〗〖4〗
JSP网站设计
目录〖3〗
3.1.1核心知识
3.1.2能力目标
3.1.3任务驱动
3.1.4实践环节
3.2Java程序片
3.2.1核心知识
3.2.2能力目标
3.2.3任务驱动
3.2.4实践环节
3.3成员变量和方法的声明
3.3.1核心知识
3.3.2能力目标
3.3.3任务驱动
3.3.4实践环节
3.4Java表达式
3.4.1核心知识
3.4.2能力目标
3.4.3任务驱动
3.4.4实践环节
3.5page指令标记
3.5.1核心知识
3.5.2能力目标
3.5.3任务驱动
3.5.4实践环节
3.6include指令标记
3.6.1核心知识
3.6.2能力目标
3.6.3任务驱动
3.6.4实践环节
3.7include动作标记
3.7.1核心知识
3.7.2能力目标
3.7.3任务驱动
3.7.4实践环节
3.8forward动作标记
3.8.1核心知识
3.8.2能力目标
3.8.3任务驱动
3.8.4实践环节
3.9param动作标记
3.9.1核心知识
3.9.2能力目标
3.9.3任务驱动
3.9.4实践环节
3.10小结
习题3
第4章JSP内置对象
4.1请求对象request
4.1.1核心知识
4.1.2能力目标
4.1.3任务驱动
4.1.4实践环节
4.2应答对象response
4.2.1核心知识
4.2.2能力目标
4.2.3任务驱动
4.2.4实践环节
4.3会话对象session
4.3.1核心知识
4.3.2能力目标
4.3.3任务驱动
4.3.4实践环节
4.4全局应用程序对象application
4.4.1核心知识
4.4.2能力目标
4.4.3任务驱动
4.4.4实践环节
4.5小结
习题4
第5章JSP与JavaBean
5.1编写JavaBean
5.1.1核心知识
5.1.2能力目标
5.1.3任务驱动
5.1.4实践环节
5.2JSP中使用JavaBean
5.2.1核心知识
5.2.2能力目标
5.2.3任务驱动
5.2.4实践环节
5.3小结
习题5
第6章JSP访问数据库
6.1使用JDBCODBC桥接器连接数据库
6.1.1核心知识
6.1.2能力目标
6.1.3任务驱动
6.1.4实践环节
6.2使用纯Java数据库驱动程序连接数据库
6.2.1核心知识
6.2.2能力目标
6.2.3任务驱动
6.2.4实践环节
6.3Statement、ResultSet的使用
6.3.1核心知识
6.3.2能力目标
6.3.3任务驱动
6.3.4实践环节
6.4游动查询
6.4.1核心知识
6.4.2能力目标
6.4.3任务驱动
6.4.4实践环节
6.5访问Excel电子表格
6.5.1核心知识
6.5.2能力目标
6.5.3任务驱动
6.5.4实践环节
6.6使用连接池
6.6.1核心知识
6.6.2能力目标
6.6.3任务驱动
6.6.4实践环节
6.7其他典型数据库的连接
6.7.1核心知识
6.7.2能力目标
6.7.3任务驱动
6.7.4实践环节
6.8PreparedStatement的使用
6.8.1核心知识
6.8.2能力目标
6.8.3任务驱动
6.8.4实践环节
6.9小结
习题6
第7章Java Servlet
7.1Servlet类与servlet对象
7.1.1核心知识
7.1.2能力目标
7.1.3任务驱动
7.1.4实践环节
7.2servlet对象的创建与运行
7.2.1核心知识
7.2.2能力目标
7.2.3任务驱动
7.2.4实践环节
7.3通过JSP页面访问Servlet
7.3.1核心知识
7.3.2能力目标
7.3.3任务驱动
7.3.4实践环节
7.4doGet和doPost方法
7.4.1核心知识
7.4.2能力目标
7.4.3任务驱动
7.4.4实践环节
7.5重定向与转发
7.5.1核心知识
7.5.2能力目标
7.5.3任务驱动
7.5.4实践环节
7.6在Servlet中使用session
7.6.1核心知识
7.6.2能力目标
7.6.3任务驱动
7.6.4实践环节
7.7基于Servlet的MVC模式
7.7.1核心知识
7.7.2能力目标
7.7.3任务驱动
7.7.4实践环节
7.8小结
习题7
第8章过滤器
8.1Filter类与filter对象
8.1.1核心知识
8.1.2能力目标
8.1.3任务驱动
8.1.4实践环节
8.2filter对象的部署与运行
8.2.1核心知识
8.2.2能力目标
8.2.3任务驱动
8.2.4实践环节
8.3过滤器的应用
8.3.1核心知识
8.3.2能力目标
8.3.3任务驱动
8.3.4实践环节
8.4小结
习题8
第9章EL与JSTL
9.1表达式语言EL
9.1.1核心知识
9.1.2能力目标
9.1.3任务驱动
9.1.4实践环节
9.2JSP标准标签库JSTL
9.2.1核心知识
9.2.2能力目标
9.2.3任务驱动
9.2.4实践环节
9.3小结
习题9
第10章文件的上传与下载
10.1基于Servlet 3.0的文件上传
10.1.1核心知识
10.1.2能力目标
10.1.3任务驱动
10.1.4实践环节
10.2文件的下载
10.2.1核心知识
10.2.2能力目标
10.2.3任务驱动
10.2.4实践环节
10.3小结
习题10
第11章地址簿管理信息系统
11.1系统设计
11.1.1系统功能需求
11.1.2系统模块划分
11.2数据库设计
11.2.1数据库概念结构设计
11.2.2数据库逻辑结构设计
11.2.3创建数据表
11.3系统管理
11.3.1导入相关的jar包
11.3.2JSP页面管理
11.3.3组件与Servlet管理
11.4组件设计
11.4.1过滤器
11.4.2数据库操作
11.4.3实体模型
11.4.4业务模型
11.5系统实现
11.5.1用户注册
11.5.2用户登录
11.5.3添加朋友信息
11.5.4查询朋友信息
11.5.5查看详情
11.5.6修改朋友信息
11.5.7删除朋友信息
11.5.8修改密码
11.5.9退出系统
参考文献
HTML的英文全称是Hyper Text Markup Language,即超文本标记语言,它是Internet上用于编写网页的主要标记语言。
CSS是英文Cascading Style Sheet的缩写,又称为“层叠样式表”,简称为样式表。它是W3C定义的标准,一种用来为结构化文档(如HTML文档)添加样式(字体、间距和背景等)的计算机语言。CSS是对HTML处理样式的补充,能将内容和样式处理相分离,大大降低了工作量。
JavaScript是一种描述性的脚本语言(Script Language),它由客户端浏览器解释执行,执行期间无须Web服务器,减轻了Web服务器的负担。JavaScript可以向HTML页面添加交互行为、读写元素、验证表单以及事件处理。
1.1HTML
1.1.1核心知识
1. HTML文件的基本结构
一个完整的HTML文件由各种元素与标记组成,包括标题、段落、表格、文本和超链接等。下面是一个HTML文件的基本结构。
…
从上面的代码段可以看出,HTML文件的基本结构分为3部分,其中各部分含义如下。
...: 表示HTML文件开始和结束的位置,里面包括head和body等标记。HTML文件中所有的内容都应该在这两个标记之间。
...: HTML文件的头部标记,习惯将这两个标记之间的内容统称为HTML的头部。
...: 用来指明文档的主体区域,网页所要显示的内容都要放置在这个标记内。习惯将这两个标记之间的内容统称为HTML的主体。
2. 编写HTML页面
编写HTML页面有两种常用方法: 一种是利用操作系统自带的记事本编写; 另一种是利用可视化网页制作软件(如Dreamweaver)编写。本书从第2章开始使用集成开发环境(IDE)Eclipse编写Web程序。
HTML、CSS与JavaScript并不需要特殊的开发环境,它们都是由客户端的浏览器执行。HTML文件的扩展名为.html或.htm,CSS文件的扩展名为.css,JavaScript文件的扩展名为.js。
3. 常用HTML标记
常用HTML标记简单划分为以下4种格式。
(1) <标记名称>:
单一型,无设置值。例如:
。
(2) <标记名称 属性="属性值">:
单一型,有设置值。例如: 。
(3) <标记名称>...:
对称型,无设置值。例如: 。
(4) <标记名称 属性="属性值">...:
对称型,有设置值。例如: ...。
下面介绍常用的HTML标记。
……