封面
版权信息
内容提要
前言
第1章 Java Web开发基础知识
1.1 B/S概述
1.1.1 浏览器
1.1.2 服务器
1.2 静态代码和动态代码
1.2.1 HTML和静态代码
1.2.2 服务器端脚本语言和动态代码
1.2.3 Servlet容器和动态代码之间的关系
1.2.4 Web服务器上资源文件的分类
1.3 HTTP概述
1.3.1 浏览器与Web服务器之间的交互
1.3.2 HTTP的本质
1.3.3 HTTP请求/HTTP响应的详细过程
1.4 Java Web开发环境的部署
1.4.1 JDK的版本选择和安装
1.4.2 Tomcat的版本选择和安装
1.4.3 启动和停止运行Tomcat
1.4.4 本机的“左右互搏之术”
1.4.5 Tomcat端口占用问题
1.4.6 有趣的实验
实践任务 Java Web开发基础知识
第2章 Servlet接收GET请求数据
2.1 使用Eclipse开发Java Web程序
2.1.1 Eclipse的安装和启动
2.1.2 启动Eclipse的注意事项
2.1.3 认识Eclipse工作空间
2.1.4 小露身手:使用Eclipse创建动态Web项目
2.1.5 Eclipse的View和Perspective
2.1.6 小露身手:使用Eclipse创建第一个Servlet程序
2.1.7 Eclipse中Servlet的URL Mappings和Servlet的urlPatterns
2.1.8 Servlet程序的生命周期
2.1.9 小露身手:使用Eclipse创建JSP程序
2.2 字符编码
2.2.1 JSP文件的字符编码与pageEncoding
2.2.2 MIME和字符编码
2.2.3 JSP文件、pageEncoding和charset的字符编码之间的关系
2.3 URL路径
2.4 过程分析:浏览器发送GET请求数据和Web服务器接收GET请求数据
2.4.1 过程分析:浏览器向Web服务器发送GET请求数据
2.4.2 GET请求数据的构成
2.4.3 过程分析:Web服务器接收GET请求数据
2.5 request请求对象获取GET请求数据
2.5.1 获取路径信息
2.5.2 获取GET请求参数信息
2.5.3 获取GET请求行信息
2.5.4 获取GET请求头信息
2.5.5 获取Web服务器主机和浏览器主机信息
2.5.6 获取URL Mappings信息的方法
2.6 request请求对象的请求派发功能
2.6.1 RequestDispatcher
2.6.2 请求派发的请求转发
2.6.3 请求转发的实现
2.6.4 请求转发之间Servlet程序的数据共享
2.6.5 request请求对象的属性和参数区别
实践任务 Servlet程序接收GET请求数据
第3章 Servlet接收POST请求数据
3.1 FORM表单
3.1.1 表单标签
3.1.2 表单控件
3.1.3 表单按钮
3.1.4 小露身手:利用FORM表单模拟发送GET请求数据
3.2 URL路径定位方法
3.2.1 URL绝对路径
3.2.2 URL相对路径
3.2.3 page-relative路径的技巧
3.2.4 小露身手:URL路径定位方法
3.3 过程分析:浏览器发送POST请求数据和Web服务器接收POST请求数据
3.3.1 准备工作
3.3.2 过程分析:浏览器向Web服务器发送POST请求数据
3.3.3 POST请求数据的构成
3.3.4 POST与GET请求数据对比小结
3.3.5 过程分析:Web服务器接收POST请求数据
3.4 小露身手:request请求对象接收application/x-www-form-urlencoded格式的POST请求数据
3.5 小露身手:向Servlet程序添加multipart/form-data支持
3.5.1 application/x-www-form-urlencoded与multipart/form-data的比较
3.5.2 理解multipart/form-data内容格式中的片段
3.5.3 request请求对象获取multipart/form-data请求体中的“片段”
实践任务 Servlet接收POST请求数据
第4章 Servlet生成HTTP响应数据
4.1 HTTP响应数据与HttpServletResponse之间的关系
4.2 HTTP响应行
4.2.1 响应状态码
4.2.2 使用response响应对象设置响应状态码
4.3 HTTP响应头列表
4.3.1 常见的响应头
4.3.2 使用response响应对象设置、添加响应头
4.3.3 重定向、定时刷新和请求转发的比较
4.4 使用response响应对象生成HTTP响应体
4.4.1 response响应对象的缓存
4.4.2 向response缓存添加文本型数据
4.4.3 向response缓存添加字节数据
4.4.4 response响应对象“一石三鸟”的代码
实践任务 Servlet生成HTTP响应数据
第5章 异步请求和异步响应
5.1 Web前端技术
5.1.1 HTML简介
5.1.2 HTML元素的属性
5.1.3 CSS简介
5.1.4 小露身手:理解CSS中层叠的含义
5.1.5 JavaScript简介
5.2 JavaScript入门
5.2.1 JavaScript基础知识
5.2.2 小露身手:演示HTML元素和JavaScript呈现的顺序
5.2.3 通过JavaScript的document对象操作HTML元素
5.2.4 小露身手:通过JavaScript的document对象操作HTML元素内容
5.3 异步请求和异步响应
5.3.1 异步请求和同步请求概述
5.3.2 XMLHttpRequest异步请求对象
5.3.3 小露身手:了解GET异步请求和异步响应的执行流程
5.3.4 小露身手:使用XMLHttpRequest发送异步的POST请求
5.3.5 小露身手:使用XMLHttpRequest和FormData异步上传、显示图片
实践任务 异步请求和异步响应
第6章 会话控制技术:Cookie与Session
6.1 会话控制技术概述
6.2 Cookie会话控制技术
6.2.1 Cookie的工作原理
6.2.2 Cookie的本质与核心
6.2.3 创建Cookie
6.2.4 将cookie对象添加到HTTP响应头列表中
6.2.5 读取Cookie
6.2.6 使Cookie手动失效
6.2.7 小露身手:Cookie的综合运用
6.2.8 重定向和请求转发关于Cookie使用的区别
6.3 Session会话控制技术
6.3.1 Session的工作原理
6.3.2 Session的本质与核心
6.3.3 开启Session和获取已有的session对象
6.3.4 Servlet开启Session的区别和JSP开启Session的区别
6.3.5 session对象的使用
6.3.6 删除Session或者使Session失效
6.3.7 小露身手:Session的综合使用
实践任务 会话控制技术:Cookie与Session
第7章 过滤器和监听器
7.1 过滤器
7.1.1 小露身手:创建最简单的过滤器ABCFilter
7.1.2 过滤器总结
7.1.3 小露身手:过滤器链的使用
7.1.4 过滤器的综合应用1:URL级别的权限访问控制
7.1.5 小露身手:使用过滤器实现URL级别的权限访问控制
7.1.6 过滤器的综合应用2:使用过滤器实现表单验证
7.1.7 小露身手:使用过滤器实现表单验证
7.2 监听器
7.2.1 小露身手:演示Java Web状态监听器和属性监听器
7.2.2 小露身手:利用HttpSessionListener统计在线人数
实践任务 过滤器和监听器
第8章 MVC和JSTL
8.1 MVC
8.1.1 MVC的历史与简介
8.1.2 MVC与Web开发之间的关系
8.1.3 MVC与Java Web的关系
8.1.4 理解Service和DAO之间的关系
8.2 JavaBean
8.2.1 JavaBean简介
8.2.2 JavaBean代码编写规范
8.2.3 JavaBean命名属性的特殊情况
8.2.4 小露身手:在Eclipse中创建数据模型JavaBean和业务逻辑Service
8.2.5 JavaBean的分类
8.3 JSP的内置对象
8.3.1 内置对象out
8.3.2 内置对象application和Servlet中的ServletContext
8.3.3 内置对象pageContext
8.4 EL
8.4.1 EL简介
8.4.2 EL的功能和优点
8.4.3 EL的内置对象
8.4.4 小露身手:EL的使用
8.5 JSTL
8.5.1 JSTL核心标签库的准备工作
8.5.2 JSTL核心标签库的使用
8.5.3 小露身手:JSTL核心标签库的使用
实践任务 MVC和JSTL
第9章 个人笔记系统的数据库设计及实现
9.1 数据库概述
9.1.1 数据库管理系统和数据库
9.1.2 数据库和数据库对象
9.1.3 数据库和数据库表
9.1.4 SQL
9.1.5 重新认识数据库表
9.2 个人笔记系统数据库的设计
9.2.1 构建个人笔记系统的必要性
9.2.2 个人笔记系统的功能需求分析
9.2.3 E-R图简介
9.2.4 个人笔记系统E-R图的设计
9.2.5 个人笔记系统的表结构设计
9.3 MySQL环境准备工作
9.3.1 MySQL的版本选择
9.3.2 MySQL的安装和配置
9.3.3 启动与停止MySQL服务
9.3.4 打开MySQL客户机、连接MySQL实例
9.4 数据库的管理
9.5 表结构的管理
9.5.1 创建表结构的准备工作
9.5.2 创建表结构的SQL语句语法格式
9.5.3 查看表和查看表结构
9.5.4 删除表结构
9.5.5 小露身手:创建个人笔记系统的数据库和数据库表
9.6 表记录的更新
9.6.1 添加表记录
9.6.2 修改表记录
9.6.3 删除表记录
9.6.4 检索表的所有记录
9.6.5 小露身手:向个人笔记系统的数据库添加测试数据
9.6.6 小露身手:更新表记录时,不能违反表之间的外键约束条件
9.7 表记录的检索
9.7.1 使用select子句指定字段列表
9.7.2 distinct和limit
9.7.3 表和表之间的连接
9.7.4 使用where子句过滤结果集
9.7.5 使用order by对结果集排序
9.7.6 使用聚合函数汇总结果集
9.7.7 使用group by子句对记录分组统计
9.7.8 小露身手:个人笔记系统的综合查询
实践任务 个人笔记系统的数据库设计及实现
第10章 MySQL事务机制和JDBC的使用
10.1 MySQL事务机制
10.1.1 个人笔记系统中事务机制的必要性
10.1.2 事务机制中同一个数据库连接的必要性
10.1.3 事务机制中关闭数据库连接自动提交模式的必要性
10.1.4 个人笔记系统的事务实现
10.2 JDBC概述
10.2.1 Java程序通过JDBC访问数据库的步骤
10.2.2 部署数据库驱动程序
10.2.3 加载数据库驱动程序
10.2.4 创建数据库连接对象con
10.2.5 关闭con对象的自动提交模式
10.2.6 使用con对象准备预处理SQL语句
10.2.7 初始化预处理SQL语句的参数
10.2.8 执行预处理SQL语句
10.2.9 遍历结果集
10.2.10 结束事务
10.2.11 关闭资源
10.2.12 获取insert语句的自增型字段的值
10.2.13 异常总结和其他建议
10.2.14 小露身手:使用JDBC访问MySQL数据库
10.2.15 小露身手:设计工具类DBUtil
10.2.16 小露身手:个人笔记系统中事务的必要性
10.3 基于MVC的Java Web开发中的事务管理
10.3.1 多个DAO共用同一个数据库连接对象的解决方案
10.3.2 使用过滤器管理数据库连接对象和事务
10.3.3 借助ThreadLocal工具类共享参数
10.3.4 小露身手:借助ThreadLocal工具类共享参数
10.3.5 小露身手:使用过滤器和Threadlocal管理事务
实践任务 MySQL事务机制和JDBC的使用
第11章 layui和CKEditor的使用
11.1 layui的使用
11.1.1 小露身手:快速上手layui
11.1.2 小露身手:layui中的页面元素
11.1.3 layui的栅格布局
11.1.4 小露身手:layui中常用的容器
11.1.5 小露身手:layui中常用的内置JavaScript模块
11.1.6 layui知识补充
11.1.7 小露身手:layui补充知识
11.2 CKEditor 5的使用
11.2.1 经典模式编辑器的下载和安装
11.2.2 小露身手:CKEditor的基本使用
实践任务 layui和CKEditor的使用
第12章 项目实训:个人笔记系统首页模块的设计与实现
12.1 个人笔记系统首页模块的设计与分析
12.1.1 个人笔记系统首页模块的视图层设计
12.1.2 个人笔记系统首页模块的逻辑分析
12.1.3 个人笔记系统首页模块的数据分析
12.2 个人笔记系统URL级别的权限访问控制的设计
12.3 个人笔记系统Java类的目录设置
12.4 个人笔记系统类名和方法名的命名规则
12.5 个人笔记系统静态资源文件的目录设置
实践任务 个人笔记系统首页模块的设计与实现
第13章 项目实训:个人笔记系统用户管理模块的设计与实现
13.1 用户注册功能的实现
13.2 用户登录和注销功能的实现
实践任务1 用户注册功能的实现
实践任务2 用户登录和注销功能的实现
实践任务3 个人简介的维护
实践任务4 使用过滤器实现个人笔记系统URL级别的权限访问控制
第14章 项目实训:个人笔记系统笔记管理模块的设计与实现
实践任务1 查询所有笔记功能的开发
实践任务2 后台管理面板author.jsp程序的开发
实践任务3 添加笔记页面和保存笔记功能的开发
实践任务4 查看笔记全文功能的开发
实践任务5 编辑笔记和更新笔记功能的开发
实践任务6 删除笔记功能的开发
实践任务7 对笔记的标题和内容进行模糊查询功能的开发
第15章 项目实训:个人笔记系统其他功能模块的设计与实现
实践任务1 对笔记发表评论功能的开发
实践任务2 查看某个用户发表的评论功能的开发
实践任务3 笔记类别名称管理模块的开发
实践任务4 笔记标签名称管理模块的开发
实践任务5 向首页添加layui固定块
附录1
更新时间:2025-03-19 16:22:18