The Development Technology of Web Application
课程编号: | 109305 | 学分: | 2 |
开课单位: | 电子信息工程学院 | 总学时: | 48 |
课程类别: | 专业选修课 | 课程性质: | 任选 |
一、课程的性质和目的
课程性质:本课程是电子信息工程、电子科学与技术、通信工程、微电子科学与工程专业的一门专业选修课。Web技术是IT领域的一项关键技术,是网上信息应用的基础,是信息管理、计算机等专业的一项主要技术基础,它也是从事信息事业的技术人员和管理者需要掌握的重要技能之一。Java作为Sun公司推出的一门优秀的语言,具有面向对象、跨平台、安全、稳定、易用、多线程及可扩展等特性。Java语言不仅可以用来开发大型的应用程序,而且特别适合开发Web程序,是目前使用最广泛的Web程序设计语言。
本课程正是以掌握Java Web应用开发为目标,介绍了Web应用开发多个层面上的技术。针对Java Web初学者,按照由浅人深、通俗易懂的原则介绍了Java Web应用开发基础知识、高级技术、编程应用实例,让学生了解、掌握Java Web应用及开发的基本思想,能用它编制面向对象和网络化的程序,并且能够根据实际需求编制出一些实用的程序。
目的:
1. 了解、掌握Java Web技术的基本思想、开发工具和运行环境;
2. 了解、掌握HTTP协议和Servlet技术的相关知识;
3. 掌握JSP的运行机制、指令和动作,并能熟练使用JSP内置对象;
4. 掌握Java Web开发的两种模式及开发中的常用技巧;
5. 掌握JSP表达式语言和标准标签库;
6. 能够创建自定义JSP标签;
7. 了解、掌握Servlet过滤器和监听器的原理及应用;
8. 了解Log4J的配置,能够在实际的开发中使用及优化Log4J;
9. 了解掌握Hibernate框架及Spring框架;
10. 了解并掌握Java Web应用中几个常用的技术。
二、课程教学内容及基本要求
(一)课程教学内容及知识模块顺序
1.知识单元一: Web应用概述(1学时)
(1)知识点一:Web应用体系结构
(2)知识点二:服务器的安装
(3)知识点三:HTTP基础
(4)知识点四:动态Web文档技术
(5)知识点五:Servlet与JSP入门
教学基本要求:
了解Internet和万维网(World Wide Web)的概念和两者之间的关系。了解超文本、HTML、XML及Web工作机制。学习IP地址、域名和URL的概念和原理。了解Web相关知识,以及目前的一些新发展。了解主流的Web开发技术及其特点。了解Java Web应用的核心技术。
2. 知识单元二: Servlet技术模型(1学时)
(1)知识点一:Servlet API
(2)知识点二:Servlet的执行过程和生命周期
(3)知识点三:分析请求
(4)知识点四:发送响应
教学基本要求:
了解HTTP的请求/响应模型,掌握Servlet的基本概念,理解如何分析请求和如何发送响应。
3. 知识单元三: Servlet容器模型(1学时)
(1)知识点一:Web应用的结构和部署
(2)知识点二:部署描述文件
(3)知识点三:ServletConfig接口
(4)知识点四:ServletContext接口
(5)知识点五:Servlet的多线程问题
教学基本要求:
了解Web应用程序的目录结构,掌握部署描述文件主要元素的使用,掌握ServletConfig接口的使用,理解和掌握ServletContext接口的使用,理解Servlet多线程问题。
4.知识单元四: 会话管理(1学时)
(1)知识点一:会话管理
(2)知识点二:通过Cookie支持会话
(3)知识点三:URL重写与隐藏表单域
教学基本要求:
掌握Web应用的会话概念,重点掌握通过HttpSession实现会话管理,掌握使用Cookie跟踪会话机制,了解通过URL重写和隐藏表单域跟踪会话。
5.知识单元五: JSP技术模型(3学时)
(1)知识点一:JSP语法概述
(2)知识点二:JSP页面生命周期
(3)知识点三:理解page指令属性
(4)知识点四:JSP进阶
(5)知识点五:JSP隐含变量
(6)知识点六:理解作用域对象
教学基本要求:
了解并掌握JSP各种语法元素,掌握JSP页面的转换过程和生命周期,掌握JSP页面的page指令属性,掌握JSP的隐含对象的使用,理解各种作用域对象。
6.知识单元六: Web组件重用与JavaBeans(1学时)
(1)知识点一:静态包含
(2)知识点二:动态包含
(3)知识点三:在JSP中包含Java Applet
(4)知识点四:JavaBeans概述
(5)知识点五:在JSP中使用JavaBeans
(6)知识点六:在Servlet中使用JavaBeans
(7)知识点七:在JSP脚本中使用JavaBeans
(8)知识点八:MVC设计模式
教学基本要求:
了解并掌握静态包含和动态包含的含义,掌握include指令和jsp:include动作的使用,了解什么是JavaBeans及其序列化,重点掌握通过JSP标准动作使用JavaBeans,掌握MVC设计模式。
7.知识单元七:JDBC数据库访问(2学时)
(1)知识点一:数据库简介
(2)知识点二:Java数据库技术概述
(3)知识点三:传统的数据库连接方法
(4)知识点四:JDBC API介绍
(5)知识点五:访问数据库元数据
(6)知识点六:预处理语句
(7)知识点七:使用数据源连接数据库
(8)知识点八:DAO设计模式介绍
(9)知识点九:可调用语句
(10)知识点十:数据库事务处理
教学基本要求:
掌握传统的数据库连接方法,掌握常用JDBC API的使用,掌握通过数据源建立连接的方法,了解数据库事务的操作。
8. 知识单元八: 使用表达式语言(1学时)
(1)知识点一:理解表达式语言
(2)知识点二:使用EL运算符
(3)知识点三:使用EL访问数据
(4)知识点四:在EL中使用函数
(5)知识点五:在JSP页面中禁用EL
教学基本要求:
了解EL,掌握如何在JSP中使用EL,掌握EL的各种运算符,掌握在EL中访问作用域变量/JavaBeans属性/集合对象元素,掌握在EL中隐含对象的使用,掌握如何在EL中使用Java函数。
9.知识单元九:自定义标签的开发(1学时)
(1)知识点一:简单标签的开发
(2)知识点二:理解TLD文件
(3)知识点三:几种类型标签的开发
(4)知识点四:传统的自定义标签
教学基本要求:
了解并掌握简单自定义标签的开发,理解TLD文件,掌握常用类型标签的开发。
10. 知识单元十: JSTL与标签开发(1学时)
(1)知识点一:JSTL标准标签库
(2)知识点二:核心标签库
(3)知识点三:其他JSTL标签库
(4)知识点四:使用标签文件
教学基本要求:
掌握标准标签库的使用,重点掌握核心标签库的使用,了解标签文件的建立和使用,了解标签指令的使用。
11.知识单元十一: Web事件处理与过滤器(1学时)
(1)知识点一:Web应用的事件模型
(2)知识点二:Web应用的过滤器
教学基本要求:
掌握Web应用程序的事件处理机制,掌握过滤器的使用。
12. 知识单元十二: Web应用的安全性(1学时)
(1)知识点一:理解验证机制
(2)知识点二:安全域模型
(3)知识点三:定义安全约束
(4)知识点四:程序式的安全
教学基本要求:
了解Web安全的概念,掌握验证机制,掌握声明式的Web应用安全,掌握程序式的Web应用安全。
13. 知识单元十三: SSH框架介绍(1学时)
(1)知识点一:MVC
(2)知识点二:框架Framework
(3)知识点三:SSH架构(Struts+Hibernate+Spring)
教学基本要求:
理解SSH架构。
(二)课程的重点、难点及解决办法
重点:request、response、out、session、application对象,使用JSP脚本和指令编写JSP页面,使用JSP页面中的JSP表达式语言生成动态内容,定义过滤器和将过滤器映射至特定的Web资源,实现一个简单的过滤器,理解MVC的各个组件和开发MVC应用程序。
难点:作用域通讯对象及作用域的理解,taglib指令,访问变量的值和使用隐式对象, FilterConfig接口和过滤器链,理解MVC体系结构的各种对象。
解决方法:加强理论教学,在教学中应注意重点和难点内容。教学中要精心设计,突出重点,突破难点。理论课的课堂教学要和多媒体课件相结合,充分运用动画效果,增加教学的感性与理性学习效果。通过习题和上机实践,使学生加深对教学内容的理解。
三、实验实践环节及基本要求
1.实验实践教学环节在本课程中的作用及要求
本课程具有很强的实践性和实用性,上机实践环节对于整个课程的学习至关重要。学生通过上机实践才能更好地巩固理论知识,使理论与实际相结合,从而提高程序设计能力和计算机操作能力。
本课程实践环节主要让学生在JDK开发环境下,巩固学生所学的Java Web理论知识,培养学生的编程能力,使学生能够利用Java Web设计技术的方法完成简单的项目设计与开发,能够编写基于MVC模式的Java Web应用。
2.实验项目
(1)实验一:JDK配置与Tomcat服务器(2学时)
内容:搭建开发环境平台,练习web服务目录的设置,借助编辑器Dreamweaver进行HTML文件的编写和运行,编写和运行一个简单的Servlet。
要求:了解和掌握Servlet和JSP页面的编写和运行,比较Servlet与JSP的区别和联系,体会动态页面的含义。
(2)实验二:HTTP请求对象/ HTTP响应对象(2学时)
内容:通过查询串传递请求参数,并在Servlet中检索请求参数;通过表单传递请求参数,使用HttpServletRequest对象获得请求参数;编写一个Servlet,显示所有请求头。
要求:掌握如何获得请求参数,如何检索请求头。了解如何通过请求对象获得客户信息。重点掌握使用请求对象存储数据和请求转发。了解和掌握如何从响应对象获得输出流对象。掌握如何设置响应类型,重点掌握如何实现响应重定向。
(3)实验三:Servlet容器模型(2学时)
内容:建立一个名为bookstore的Web应用程序;使用ServletConfig检索Servlet的初始化参数;ServletContext的使用。
要求:掌握Web应用程序的DD文件web.xml的配置方法和作用。掌握如何通过ServletConfig获取Servlet的初始化参数。掌握ServletContext的概念,如何获得ServletContext对象。
(4)实验四:会话管理(2学时)
内容:使用HttpSession对象管理会话;使用Cookie跟踪会话。
要求:了解Web服务器对客户跟踪的各种方法。重点掌握使用HttpSession对象跟踪会话的方法。 掌握使用Cookie技术跟踪会话的方法。了解URL重写和隐藏表单域的方法。
(5)实验五:JSP基本语法与页面指令(2学时)
内容:编写JSP页面;errorPage属性和isErrorPage属性的使用;练习使用include指令。
要求:熟练掌握JSP的声明、表达式、小脚本和注释的使用,理解JSP页面(page)指令和动作的语法格式,理解JSP页面的生命周期。熟练掌握page指令的下面的属性:import、session、errorPage、isErrorPage、contentType、pageEncoding。理解page指令的下面的属性:language、extends、buffer、autoFlush、info。
(6)实验六:JSP隐含对象与作用域(2学时)
内容:了解隐含对象是如何定义的;练习各种隐含对象与作用域变量的使用;错误页面与异常处理。
要求:掌握全部9个隐含对象的使用;理解4种作用域对象。
(7)实验七:JSP动作(2学时)
内容:运用include指令;练习使用<jsp:include>、<jsp:forward>标准动作。
要求:理解静态包含和动态包含的概念,掌握相关指令和动作的使用。
(8)实验八:JavaBeans与JDBC学习(2学时)
内容:练习使用JSP页面中的不同动作。
要求:掌握JavaBeans的含义和创建,重点掌握在JSP页面中使用JavaBeans的标准动作,掌握使用传统的方法访问数据库。
(9)实验九:JDBC API(2学时)
内容:通过数据源访问数据库。
要求:掌握使用数据源的方法访问数据库,重点掌握在JSP页面中使用JDBC API。
(10)实验十:MVC设计模式(2学时)
内容:采用MVC设计模式,通过数据源和DAO对象访问数据库。其中JavaBeans实现模型,访问数据库,Servlet实现控制器,JSP页面实现视图。
要求:掌握使用MVC设计模式的编程方法。
(11)实验十一:表达式语言的使用(2学时)
内容:表达式语言运算符的使用;练习访问作用域变量;练习隐含对象的使用。编写对应java函数。
要求:了解表达式语言的功能,掌握表达式语言的使用。
(12)实验十二:用户自定义标签(2学时)
内容:开发一个简单的SimpleTag标签;开发一个空标签,该标签显示一个红色星号;开发带属性的标签;开发带标签体(JSP代码)的标签;开发带动态属性的标签。
要求:了解什么是自定义标签。掌握使用SimpleTag和SimpleTagSuppot开发简单标签。了解传统自定义标签的接口和类的使用。
(13)实验十三:JSTL与标签文件(2学时)
内容:JSTL的安装和测试;练习表达式相关标签的使用;练习流程控制标签的使用;URL相关标签的使用。
要求:了解什么是JSTL;掌握JSTL的核心库标签的使用;掌握标签文件的开发和使用。
(14)实验十四:Servlet事件处理(2学时)
内容:编写一个ServletContext事件监听器;编写一个HttpSession事件监听器用来记录当前在线人数;编写一个ServletRequestListener监听器。
要求:了解在哪些对象上可以产生事件,掌握ServletContext和HttpSession对象上的事件处理方法,了解在ServletRequest对象上的事件及处理方法。
(15)实验十五:Servlet过滤器的使用(2学时)
内容:编写一个过滤器审计用户对资源的访问;编写一个过滤器改变请求编码。
要求:了解过滤器的作用,掌握过滤器的开发与部署的步骤,了解过滤器链。
(16)实验十六:Web应用安全机制(2学时)
内容:练习基于表单的验证方法。
要求:了解Web安全的概念的作用,掌握验证机制,掌握声明式和程序式的Web应用安全。
四、本课程与其它课程的联系与分工
本课程的先修课程:Java程序设计基础
本课程的后修课程:Java EE企业级开发
五、对学生能力培养的要求
通过本课程的教学,使学生在掌握Java Web开发技术理论知识的基础上,具有开发简单的Web应用或网页交互程序设计的能力,为社会培养高素质的软件设计人才。
六、课程学时分配
总学时48,其中讲课16学时,上机 32学时。课程主要内容和学时分配见课程学时分配表。
程学时分配表
教学环节 时数 课程内容 | 讲课 | 上机 | 实验 | 习题及讨论 | 小计 |
Web应用概述 | 1 | 2 |
|
| 3 |
Servlet技术模型 | 1 | 2 |
|
| 3 |
Servlet容器模型 | 1 | 2 |
|
| 3 |
会话管理 | 1 | 2 |
|
| 3 |
JSP技术模型 | 3 | 6 |
|
| 9 |
Web组件重用与JavaBeans | 1 | 2 |
|
| 3 |
JDBC数据库访问 | 2 | 4 |
|
| 6 |
使用表达式语言 | 1 | 2 |
|
| 3 |
自定义标签的开发 | 1 | 2 |
|
| 3 |
JSTL与标签开发 | 1 | 2 |
|
| 3 |
Web事件处理与过滤器 | 1 | 2 |
|
| 3 |
Web应用的安全性 | 1 | 2 |
|
| 3 |
SSH框架介绍 | 1 | 2 |
|
| 3 |
总计 | 16 | 32 |
|
| 48 |
七、主要教学方法
采用理论讲解与多媒体演示相结合的教学方法,充分重视实践性教学环节,注重理论与实验相结合。在实践环节中加强上机编程操作,巩固学生所学的Java Web理论知识,培养学生的编程能力,使学生能够利用Java Web设计技术的方法完成简单的项目设计与开发,能够编写基于MVC模式的Java Web应用。
八、建议教材和教学参考书目
1.教材
[1]《Java Web编程技术(第2版)》,沈泽刚,秦玉平,清华大学出版社,2014年
2.主要参考书
[1]《Java Web程序设计》,郭克华,清华大学出版社,2011年
[2]《Java Web开发教程——入门与提高篇(JSP+Servlet)》,李绪成,闫海珍,清华大学出版社,2009年
[3]《Java Web开发教程(第2版)》,孙霞,清华大学出版社,2012年
[4]《Java Web开发教程》,李侃,清华大学出版社,2012年
[5]《Java Web开发基础——从Servlet到JSP》,王斐,清华大学出版社,2014年
九、课程考核
本课程采用闭卷考试方式,总评成绩由平时成绩和期末成绩组成,无期中考试。平时成绩占总评的40%,期末成绩占总评的60%。平时成绩从作业、上课出勤率、上机等几方面进行考核。
十、说明
无
执笔人:卞璐审核人:赵航教学院长(主任):王芳