Java Web开发技术教学大纲
课程名称 |
JavaWeb开发技术 |
课程编号 |
9051019 |
适用专业 |
计算机科学与技术、软件工程、物联网工程 |
课程类别 |
专业选修课 |
学 时 |
58(34理论/24实验) |
学 分 |
3 |
考核方式 |
考查 |
先修课 |
Java程序设计、Web技术基础、数据库原理与应用。 |
01.
课程描述
教学对象(本课程适合的专业和年级):计算机科学与技术、物联网工程、数据科学与大数据技术、信息安全、网络工程、软件工程专业(本科)二年级学生。
预备知识:Java程序设计、计算机网络1.课程性质
基于Java的Web应用开发技术已成为目前Web开发的主流技术。本课程是为计算机科学与技术、软件工程和物联网工程等专业的本科生开设的专业选修课,本课程教学内容是后续JavaEE开发和框架开发课程的基础,也是学生毕业就业必须掌握的能力。
2.教学任务
本课程的教学任务是使学生在学习了Web技术基础、Java语言程序设计、数据库技术等课程的基础上,掌握基于Java技术的动态Web应用程序开发的基本理论、原理与方法,熟悉动态Web项目的开发技术,了解动态Web项目的运行机制,从而使学生能够独立开发可以运行的项目。
3.教学目标
本课程的教学目标是在应用以项目为导向的教学和学习方法的基础上,通过模拟项目作为训练载体实施项目开发过程,培养学生以下几方面能力:
(1)具备项目需求分析和设计的基本能力;(2)使用相关技术实现具体项目系统所需要的各种功能以及解决实际问题的能力;
(3)具备简单项目说明书以及规范的写作与表述能力。
02.
教学内容
本课程主要介绍基于Java的Web编程技术,以Servlet 4.0和JSP 2.3规范为基础,详细介绍动态Web应用的相关技术及编程方法。具体内容及要求如下表所示。其中标记★为重点内容。
讲授内容 |
目标要求 |
第1章 Java Web技术概述 1.1 Internet与万维网 1.2 Web前端技术 1.3 服务器资源 1.4 Tomcat服务器★ 1.5 Eclipse集成开发环境 1.6 创建动态Web项目★ |
1.熟悉Internet与万维网的有关概念; 2.理解Web的运行机制; 3.掌握Tomcat服务器、Eclipse IDE的安装与配置; 4.学会动态Web项目的建立、运行与部署; 5.掌握Servlet和JSP页面的开发与运行。 |
第2章 Servlet核心技术 2.1 Servlet API 2.2 Servlet生命周期 2.3 处理请求★ 2.4 表单数据处理★ 2.5 发送响应★ 2.6 部署描述文件 2.7 @WebServlet和@WebInitParam注解 2.8 ServletConfig 2.9 ServletContext★ |
1了解Servlet API常用的接口和类; 2.重点掌握如何检索HTTP请求参数和表单数据处理; 3.掌握使用请求对象存储数据和请求转发;掌握如何向客户发送响应及响应重定向; 4.了解部署描述文件的配置;了解@WebServlet和@WebInitParam注解的使用;.了解ServletConfig接口的使用; 5.掌握ServletContext常用方法的使用。 |
第3章 JSP技术基础 3.1 JSP语法概述 3.2 JSP页面生命周期 3.3 JSP脚本元素 3.4 JSP隐含变量 3.5 page指令属性 3.6 JSP组件包含★ 3.7 作用域对象★ 3.8 JavaBeans★ 3.9 MVC设计模式 3.10 错误处理 |
1理解JSP页面转换过程与生命周期; 2.了解JSP页面中脚本元素的使用;了解隐含变量的使用; 3.学会page指令的各种属性的含义; 4.学会静态包含和动态包含布局页面; 5.掌握JavaBeans的定义和使用; 6. 了解学会Web应用中异常处理方法;了解MVC设计模式。 |
第4章 会话与文件管理 4.1 会话管理★ 4.2 使用会话实现购物车★ 4.3 Cookie及其应用 4.4 URL重写与隐藏表单域 4.5 文件上传★ 4.6 文件下载 |
1掌握使用HttpSession对象实现会话管理; 2.了解Cookie及其使用,了解URL重写和隐藏表单域; 3.掌握使用Part对象实现文件上传的方法; 4.掌握文件下载的实现。 |
第5章 JDBC访问数据库 5.1 MySQL数据库 5.2 JDBC API 5.3 数据库连接步骤★ 5.4 使用数据源 5.5 DAO设计模式★ |
1学会MySQL数据库的下载与安装;了解JDBC的体系结构; 2.熟悉常用的JDBC API; 3.掌握使用JDBC连接数据库的步骤; 4.学会数据源的配置和使用; 5.了解和掌握DAO设计模式. |
第6章 表达式语言 6.1 理解表达式语言 6.2 EL运算符 6.3 使用EL访问数据 ★ 6.4 EL隐含变量★ |
1了解表达式语言; 2.掌握表达式语言的各种运算符的使用; 3.掌握用EL访问作用域变量; 4掌握用EL访问JavaBeans属性;掌握用EL访问集合元素; 5掌握表达式语言隐含变量的使用。 |
第7章JSTL与自定义标签 7.1 JSTL★ 7.2 自定义标签 7.3 理解TLD文件 7.4 几种类型标签的开发 |
1掌握JSTL的核心标签库的使用; 2学会开发简单的自定义标签的步骤; 3.了解SimpleTag接口的生命周期方法;理解标签库描述文件的作用; 4.开发带属性的标签和对标签体的处理;学会在Web应用中使用标签。 |
第8章 Java Web高级应用 8.1 Web监听器★ 8.2 Web过滤器★ 8.3 Servlet的多线程问题 8.4 Servlet的异步处理 |
1掌握使用监听器处理Web事件; 2.学会过滤器的开发与配置; 3.了解Servlet的多线程问题; 4.了解Servlet的异步处理机制。 |
第9章 Web安全性入门 9.1 Web安全性措施 9.2 安全域模型 9.3 定义安全约束★ 9.4 编程式的安全 |
1了解Web安全性措施及验证的类型; 2.掌握基本验证的过程; 3.了解安全域模型及用户与角色的定义; 4.掌握安全约束的定义; 5.学会编程式安全的应用。 |
第10章 AJAX技术基础 10.1 AJAX技术概述 10.2 XMLHttpRequest对象★ 10.3 DOM和JavaScript 10.4 AJAX的常用应用 |
1了解什么是AJAX及相关技术; 2.掌握XMLHttpRequest对象的属性和方法; 3.熟悉AJAX的交互模式; 4.了解使用DOM和JavaScript编辑动态页面。 |
03.
重点难点
1.本课程教学重点包括:
(1)Servlet程序的编写,请求处理和响应处理,JSP页面的编写,包括指令、动作、小脚本,作用域对象。(2)JDBC数据库技术、JSTL标准标签库、EL表达式语言。
2.本课程难点包括:(1)会话的概念和应用,过滤器和监听器的应用,安全模型以及AJAX技术。
(2)项目的开发和集成。
04.
教学进度详细安排
说明:表中实验任务请参考《JavaWeb编程技术(第3版)题解与实验指导》一书中内容。
05.
使用教材
扫码,优惠购书06.
配套视频样例
本书介绍基于Java的Web编程技术,主要内容包括:Java Web技术概述;Servlet核心技术;JSP技术基础、页面生命周期、作用域对象、MVC设计模式;会话管理、文件的上传和下载;JDBC以及数据源和DAO设计模式;表达式语言;JSTL和自定义标签;Web监听器和过滤器;Web安全性基础;AJAX技术应用;Struts 2、Hibernate 5和Spring 5轻量级Java EE框架技术及整合开发。本书全面地体现了Java Web编程技术的发展特性,注重理论学习和实际应用的充分结合。 本书提供电子课件、源程序代码、教学大纲及教学视频。 在书圈公众号后台回复【 9787302511427 】,下载本书配套的教学资源。07.
实验教学安排
根据学生实际情况,选择部分实验让学生独立完成。下面的实验题目具体要求请见《Java Web编程技术(第3版)题解与实验指导》,实验源代码可从清华大学出版社网站下载。
实验一:开发环境构建与简单的Servlet和JSP开发(2学时)
任务1:学习安装Tomcat服务器
任务2:安装Eclipse开发工具
任务3:使用Eclipse IDE创建动态Web项目
任务4 使用Eclipse 创建和运行Servlet
任务5 使用Eclipse 创建和运行JSP页面
实验二:Servlet核心技术(2学时)任务1 学习获取表单请求参数
任务2 学习请求转发与请求作用域
实验三:JSP技术基础(2学时)任务1 学习JSP页面如何转换成页面实现类
任务2 学习使用包含指令和包含动作实现页面布局
任务3 学习在Servlet 和JSP页面中使用JavaBeans对象
实验四:会话管理与文件操作(2学时)任务1 学习HttpSession会话对象的使用
任务2 学习使用会话实现猜数游戏
任务3 学习使用Part对象上传文件
任务4 学习文件下载
实验五:JDBC访问数据库(2学时)任务1 学习使用JDBC向数据库中插入数据
任务2 学习使用数据源建立数据库连接
任务3 学习使用DAO设计模式访问数据库
实验六:EL表达式语言(2学时)任务1 学习EL运算符的使用
任务2 学习EL访问作用域变量
任务3 学习EL隐含对象的使用
实验七:JSTL与自定义标签(2学时)任务1 学习JSTL核心标签的使用
任务2 学习简单自定义标签的开发
任务3 学习带属性标签的开发
实验八:监听器与过滤器(2学时)任务1 学习ServletContextListener监听器的使用
任务2 学习ServletRequestListener监听器的使用
任务3 学习过滤器的使用
实验九:Web安全性(2学时)任务1 学习基于声明式的基本身份验证
任务2 学习基于表单的验证配置方法
实验十:AJAX技术及应用(2学时)任务1 学习用AJAX技术检查邮箱注册
任务2 学习用AJAX动态更新Web页面
实验十一:Spring框架基础(课外2学时)任务1 学习Spring容器的概念和Bean的创建
任务2 学习Spring依赖注入的实现
任务3 学习Spring JDBC数据库开发
实验十二:Struts 2框架基础(课外2学时)任务1 学习Struts 2环境构建及简单Struts 2项目的开发
任务2 学习Struts 2的UI标签的使用
实验十三:Hibernate框架基础(课外2学时)任务1 学习Hibernate框架基本操作方法
任务2 学习Web应用中使用Hibernate框架
08.
课程成绩评定
本课程为考查课,成绩评定采用百分制,主要从下面几个方面考核学生学习效果。
考核项目 |
成绩比例 |
评价标准 |
出勤、平时表现 |
10% |
出满勤,课堂积极发言10,8,6,4 |
平时作业 |
20% |
及时交作业,字迹工整,结果正确20,17,15,13 |
单元测验 |
20% |
题目选自教材课后练习,根据测验结果给分。测验4次,每次5分。 |
课程设计(3-4人为一组,完成一个功能齐全的项目) |
50% |
项目功能完善、界面符合专业要求、使用技术先进。(45-50)功能完善简单、界面简陋、技术一般。(30-44)功能不完善、界面不符合要求、技术落后。(30以下) |
09.
目录
第1章Java Web技术概述
1.1Internet与万维网
1.1.1主机和IP地址
1.1.2域名和DNS
1.1.3万维网
1.1.4服务器和浏览器
1.1.5HTTP与URL
1.2Web前端技术
1.2.1HTML与XML
1.2.2CSS
1.2.3JavaScript
1.3服务器资源
1.3.1静态资源与动态资源
1.3.2静态文档和动态文档
1.3.3服务器端动态文档技术
1.4Tomcat服务器
1.4.1Tomcat的下载与安装
1.4.2Tomcat的安装目录
1.4.3Tomcat的启动和停止
1.4.4测试Tomcat
1.4.5修改Tomcat的服务端口
1.4.6Web应用程序及结构
1.5Eclipse集成开发环境
1.5.1Eclipse的下载与安装
1.5.2在Eclipse中配置Tomcat服务器
1.5.3配置Eclipse字符编码
1.5.4修改JSP字符编码和模板
1.6创建动态Web项目
1.6.1动态Web项目的建立
1.6.2开发Servlet
1.6.3开发JSP页面
1.6.4Web项目的导出和部署
本章小结
思考与练习
第2章Servlet核心技术
2.1Servlet API
2.1.1Servlet接口
2.1.2GenericServlet类
2.1.3HttpServlet类
2.2Servlet生命周期
2.2.1加载和实例化Servlet
2.2.2初始化Servlet
2.2.3为客户提供服务
2.2.4销毁和卸载Servlet
2.3处理请求
2.3.1HTTP请求结构
2.3.2发送HTTP请求
2.3.3处理HTTP请求
2.3.4检索请求参数
2.3.5请求转发
2.3.6使用请求对象存储数据
2.3.7检索客户端有关信息
2.3.8检索请求头信息
2.4表单数据处理
2.4.1常用表单控件元素
2.4.2表单页面的创建
2.4.3表单数据处理
2.5发送响应
2.5.1HTTP响应结构
2.5.2输出流与内容类型
2.5.3响应重定向
2.5.4设置响应头
2.5.5发送状态码
2.6部署描述文件
2.6.1servlet 元素
2.6.2servletmapping 元素
2.6.3welcomefilelist元素
2.7@WebServlet和@WebInitParam注解
2.8ServletConfig
2.9ServletContext
2.9.1得到ServletContext引用
2.9.2获取应用程序的初始化参数
2.9.3使用ServletContext对象存储数据
2.9.4使用RequestDispatcher实现请求转发
2.9.5通过ServletContext对象获得资源
2.9.6登录日志
2.9.7检索Servlet容器的信息
本章小结
思考与练习
第3章JSP技术基础
3.1JSP语法概述
3.1.1JSP脚本元素
3.1.2JSP指令
3.1.3JSP动作
3.1.4表达式语言
3.1.5JSP注释
3.2JSP页面生命周期
3.2.1JSP页面实现类
3.2.2JSP页面执行过程
3.2.3JSP生命周期方法示例
3.2.4理解页面转换过程
3.2.5理解转换单元
3.3JSP脚本元素
3.3.1变量的声明及顺序
3.3.2使用条件和循环语句
3.3.3请求时属性表达式
3.4JSP隐含变量
3.4.1request与response变量
3.4.2out变量
3.4.3application变量
3.4.4session变量
3.4.5exception变量
3.4.6config变量
3.4.7pageContext变量
3.4.8page变量
3.5page指令属性
3.5.1import属性
3.5.2contentType和pageEncoding属性
3.5.3session属性
3.5.4errorPage与isErrorPage属性
3.5.5language与extends属性
3.5.6buffer与autoFlush属性
3.5.7info属性
3.6JSP组件包含
3.6.1静态包含:include指令
3.6.2动态包含:include动作
3.6.3使用jsp:forward动作
3.6.4实例: 使用包含设计页面布局
3.7作用域对象
3.7.1应用作用域
3.7.2会话作用域
3.7.3请求作用域
3.7.4页面作用域
3.8JavaBeans
3.8.1JavaBeans规范
3.8.2使用jsp:useBean动作
3.8.3使用jsp:setProperty动作
3.8.4使用jsp:getProperty动作
3.8.5实例:JavaBeans应用
3.9MVC设计模式
3.9.1模型1介绍
3.9.2模型2介绍
3.9.3实现MVC模式的一般步骤
3.10错误处理
3.10.1声明式错误处理
3.10.2使用Servlet和JSP页面处理错误
3.10.3编程式错误处理
本章小结
思考与练习
第4章会话与文件管理
4.1会话管理
4.1.1理解状态与会话
4.1.2会话管理机制
4.1.3HttpSession API
4.1.4使用HttpSession对象
4.1.5会话超时与失效
4.2使用会话实现购物车
4.2.1模型类设计
4.2.2购物车类设计
4.2.3上下文监听器设计
4.2.4视图设计
4.2.5控制器的设计
4.3Cookie及其应用
4.3.1Cookie API
4.3.2向客户端发送Cookie
4.3.3从客户端读取Cookie
4.3.4Cookie的安全问题
4.3.5实例: 用Cookie实现自动登录
4.4URL重写与隐藏表单域
4.4.1URL重写
4.4.2隐藏表单域
4.5文件上传
4.5.1客户端编程
4.5.2服务器端编程
4.6文件下载
本章小结
思考与练习
第5章JDBC访问数据库
5.1MySQL数据库
5.1.1MySQL的下载与安装
5.1.2使用MySQL命令行工具
5.1.3使用Navicat操作数据库
5.2JDBC API
5.2.1JDBC访问数据库
5.2.2Connection接口
5.2.3Statement接口
5.2.4ResultSet接口
5.2.5预处理语句PreparedStatement
5.3数据库连接步骤
5.3.1加载驱动程序
5.3.2建立连接对象
5.3.3创建语句对象
5.3.4执行SQL语句并处理结果
5.3.5关闭建立的对象
5.3.6实例:Servlet访问数据库
5.4使用数据源
5.4.1数据源概述
5.4.2配置数据源
5.4.3在应用程序中使用数据源
5.5DAO设计模式
5.5.1设计实体类
5.5.2设计DAO对象
5.5.3使用DAO对象
本章小结
思考与练习
第6章表达式语言
6.1理解表达式语言
6.1.1表达式语言的语法
6.1.2表达式语言的功能
6.1.3表达式语言与JSP表达式的区别
6.2EL运算符
6.2.1算术运算符
6.2.2关系与逻辑运算符
6.2.3条件运算符
6.2.4empty运算符
6.2.5属性与集合元素访问运算符
6.3使用EL访问数据
6.3.1访问作用域变量
6.3.2访问JavaBeans属性
6.3.3访问集合元素
6.4EL隐含变量
6.4.1pageContext变量
6.4.2param和paramValues变量
6.4.3initParam变量
6.4.4pageScope、requestScope、sessionScope和applicationScope变量
6.4.5header和headerValues变量
6.4.6cookie变量
本章小结
思考与练习
第7章JSTL与自定义标签
7.1JSTL
7.1.1通用目的标签
7.1.2条件控制标签
7.1.3循环控制标签
7.1.4URL相关的标签
7.2自定义标签
7.2.1标签扩展API
7.2.2自定义标签的开发步骤
7.2.3SimpleTag接口及其生命周期
7.2.4SimpleTagSupport类
7.3理解TLD文件
7.3.1taglib元素
7.3.2uri元素
7.3.3tag元素
7.3.4attribute元素
7.3.5bodycontent元素
7.4几种类型标签的开发
7.4.1空标签的开发
7.4.2带属性标签的开发
7.4.3带标签体的标签
7.4.4迭代标签
7.4.5在标签中使用EL
7.4.6使用动态属性
7.4.7编写协作标签
本章小结
思考与练习
第8章Java Web高级应用
8.1Web监听器
8.1.1监听ServletContext事件
8.1.2监听请求事件
8.1.3监听会话事件
8.1.4事件监听器的注册
8.2Web过滤器
8.2.1过滤器的概念
8.2.2过滤器API
8.2.3一个简单的过滤器
8.2.4@WebFilter注解
8.2.5在web.xml中配置过滤器
8.2.6实例: 用过滤器实现水印效果
8.3Servlet的多线程问题
8.4Servlet的异步处理
8.4.1概述
8.4.2异步调用Servlet的开发
8.4.3实现AsyncListener接口
本章小结
思考与练习
第9章Web安全性入门
9.1Web安全性措施
9.1.1理解验证机制
9.1.2验证的类型
9.1.3基本验证的过程
9.1.4声明式安全与编程式安全
9.2安全域模型
9.2.1安全域概述
9.2.2定义角色与用户
9.3定义安全约束
9.3.1安全约束定义
9.3.2安全验证示例
9.4编程式的安全
9.4.1Servlet的安全API
9.4.2安全注解类型
本章小结
思考与练习
第10章AJAX技术基础
10.1AJAX技术概述
10.1.1AJAX的定义
10.1.2AJAX相关技术简介
10.2XMLHttpRequest对象
10.2.1创建XMLHttpRequest对象
10.2.2XMLHttpRequest的属性
10.2.3XMLHttpRequest的方法
10.2.4一个简单的示例
10.2.5AJAX的交互模式
10.2.6使用innerHTML属性创建动态内容
10.3DOM和JavaScript
10.3.1DOM的概念
10.3.2DOM与JavaScript
10.3.3使用DOM动态编辑页面
10.3.4发送请求参数
10.4AJAX的常用应用
10.4.1表单数据验证
10.4.2动态加载列表框
10.4.3创建工具提示
本章小结
思考与练习
第11章Struts 2框架基础
11.1Struts 2框架概述
11.1.1Struts 2框架的组成
11.1.2Struts 2开发环境的构建
11.1.3Struts 2应用的开发步骤
11.1.4一个简单的应用程序
11.1.5动作类
11.1.6配置文件
11.1.7模型驱动和属性驱动
11.2OGNL
11.2.1ValueStack栈
11.2.2读取Object Stack中对象的属性
11.2.3读取Stack Context中对象的属性
11.2.4使用OGNL访问数组元素
11.2.5使用OGNL访问List类型的属性
11.2.6使用OGNL访问Map类型的属性
11.3Struts 2常用标签
11.3.1常用数据标签
11.3.2控制标签
11.3.3表单UI标签
11.3.4模板与主题
11.4用户输入校验
11.4.1使用Struts 2校验框架
11.4.2使用客户端校验
11.4.3编程实现校验
11.4.4使用Java注解校验
11.5Struts 2的国际化
11.5.1国际化(i18n)
11.5.2属性文件
11.5.3属性文件的级别
11.5.4Action的国际化
11.5.5JSP页面国际化
11.5.6实例: 全局属性文件应用
本章小结
思考与练习
第12章Hibernate框架基础
12.1ORM与Hibernate
12.1.1数据持久化与ORM
12.1.2Hibernate软件包简介
12.2一个简单的Hibernate应用
12.2.1编写配置文件
12.2.2准备数据库表
12.2.3定义持久化类
12.2.4定义映射文件
12.2.5编写测试程序
12.2.6Hibernate的自动建表技术
12.2.7HibernateUtil辅助类
12.2.8测试类的开发
12.3Hibernate框架结构
12.3.1Hibernate的体系结构
12.3.2理解持久化对象
12.3.3Hibernate的核心组件
12.3.4持久化对象的状态
12.4Hibernate核心API
12.4.1Configuration类
12.4.2SessionFactory接口
12.4.3Session接口
12.4.4Transaction接口
12.4.5Query接口
12.5配置文件详解
12.5.1hibernate.properties
12.5.2hibernate.cfg.xml
12.6映射文件详解
12.7关联映射
12.7.1实体关联类型
12.7.2单向关联和双向关联
12.7.3关联方向与查询
12.7.4一对多关联映射
12.7.5一对一关联映射
12.7.6多对多关联映射
12.8组件属性映射
12.9继承映射
12.9.1所有类映射成一张表
12.9.2每个子类映射成一张表
12.9.3每个具体类映射成一张表
12.10Hibernate数据查询
12.10.1HQL查询概述
12.10.2查询结果处理
12.10.3HQL的from子句
12.10.4HQL的select子句
12.10.5HQL的聚集函数
12.10.6HQL的where子句
12.10.7HQL的order by子句
12.10.8HQL的group by子句
12.10.9带参数的查询
12.10.10关联和连接
12.11其他查询技术
12.11.1条件查询
12.11.2本地SQL查询
12.11.3命名查询
12.12实例: 用户注册/登录系统
12.12.1定义持久化类
12.12.2持久层实现
12.12.3定义Action动作类
12.12.4创建结果视图
12.12.5修改struts.xml配置文件
12.12.6运行应用程序
本章小结
思考与练习
第13章Spring框架基础
13.1Spring框架概述
13.1.1Spring框架概述
13.1.2Spring框架模块
13.1.3Spring5.0的新特征
13.1.4Spring的下载与安装
13.2Spring IoC容器
13.2.1Spring容器概述
13.2.2ApplicationContext及其工作原理
13.3依赖注入
13.3.1理解依赖注入
13.3.2依赖注入的实现方式
13.4Spring JDBC开发
13.4.1Spring对JDBC支持概述
13.4.2配置数据源
13.4.3使用JDBC模板操作数据库
13.4.4JdbcTemplate类的常用方法
13.4.5构建不依赖于Spring的Hibernate代码
13.5Spring整合Struts 2和Hibernate 5
13.5.1配置自动启动Spring容器
13.5.2Spring整合Struts 2
13.5.3Spring整合Hibernate 5
13.6基于SSH会员管理系统
13.6.1构建SSH开发环境
13.6.2数据库层的实现
13.6.3Hibernate持久层设计
13.6.4DAO层设计
13.6.5业务逻辑层设计
13.6.6会员注册功能实现
13.6.7会员登录功能实现
13.6.8查询所有会员功能实现
13.6.9删除会员功能实现
13.6.10修改会员功能实现
本章小结
思考与练习