自考07026网络应用程序设计考试大纲(2021年版)
湖南 省高 等教 育自 学考 试课 程考 试大 纲网络应用程序设计 (课程代码:07026) 湖南省教育考试院组编 2021 年 12 月高等教育自学考试课程考试大纲课程名称:网络应用程序设计课程代码:07026
第一部分
课程性质与目标
一、课程性质与特点
网络应用程序设计是高等教育自学考试软件工程专业的专业核心课程。网络应用程序设计是基于系统的底层网络体系架构和网络协议,创建基于网络通信的应用程序并多采用 C/S 模式。本课程介绍了 Java 网络程序设计的输入输出流和最新的 Java 8 版本中关于 NIO 和 NIO.2 异步通信等较新的接口和类库及其具体的使用方式,以及基于 IP、URL、TCP、 UDP 等协议的网络程序设计方法和开发包中的类等网络应用程序设计方面有关内容。网络应用程序设计是一门实践性较强的专业类课程。
二、课程目标与基本
要求(一)课程目标通过本课程的学习,了解、掌握 JAVA 的网络程序设计技巧,具备设计与构建的软件工程应用性人才所具备的基本知识、实践能力和专业综合素质,掌握设计中等偏复杂动态网站的设计方法和构建动态网站的专业动手能力。
(二)基本要求
1.掌握开发 JAVA 网络程序设计的基础知识与基本方法;
2.对网络应用程序设计有全面认识和了解;
3.能独立自主地开发类似于留言板、BBS 论坛、聊天室等网络应用实例程序。
三、与本专业其他课程的关系
本课程应具备计算机程序设计类课程等的基本知识条件。
本课程的先修课程为:软件工程、计算机网络技术。
第二部分
考核内容与考核目标通过本章学习,掌握网络的分层结构和参考模型,尤其是 TCP/IP 协议,理解网络和协议分层,奠定应用层软件的开发基础。
(一)计算机网络概述(次重点)识记: 1.网络的概念
2.网络通信要素
3.实现网络中的主机互相通信的条件(二)网络程序设计(重点)识记 1.通信协议分层的思想
3.网络程序的模式
4.Java 在网络编程中的特点
5. 网络程序设计的概念本章重点内容是 Java 的输入输出流的概念,通过学习 Java 的文件操作、标准 I/O 操作﹑网络应用之间的通信,掌握如何利用 Java 输入输出类库实现程序的输入输出,学会使用 java.io.File 类等。
(一)流及流的分类(重点)识记: 1.流的概念
2.流的分类
3.Java 关于 IO 的命名规范
4.Java IO 中 4 个顶层的类(二)流类(重点)识记:1.Java 流的分类以及它们的具体使用方法
2.IO 流的四个基本类
3.InputStream 与 Reader 差别, OutputStream 与 Writer 差别
4.选择 IO 流的依据(三)标准的输入和输出(次重点)
理解:1.命令行参数
2.标准输入、输出数据流本章重点内容是 Java 中 IP 地址的表示方法和 InetAddress 类以及 URL 类、 URLConnection 类和 URLStreamHandler 类的使用方法。通过本章学习,需掌握其使用方法,实现对 URL 资源﹐特别是基于 HTTP 协议资源的访问和控制。
(一)
TCP/IP 协议和 IP 地址(重点)识记:1.TCP/IP 协议族
2.IP 地址及分类
3.Ping 命令的使用方法(二)
Java 中 IP 地址的表示方法(重点)识记:1.InetAddress 类及其常用方法
2.SocketAddress 和 InetAddress 的区别应用:1.getLocalHost
2.getByName(三) URI 类和 URL 类(一般)识记:1.URI 与 URL 的概念
2.URI 与 URL 的联系与区别
3.URL 的构造方法理解:URL、URLConnection 类获取网络资源或设置服务属性的一般步骤应用:从 URL 获得数据本章重点是基于 TCP 传输层协议的网络程序设计方法。通过本章学习,能够理解 TCP 协议,理解基于 TCP 的通信过程,以及 ServerSocket 和 Socket 之间的关系。熟悉 Java 网络编程的基本操作,理解服务器端套接 ServerSocket 和客户端套接字 Socket,实现 TCP 套接字编程。
(一)Socket 概述(次重点)识记:1.Socket 概念
2.Socket 通讯的过程应用:创建 Socket(二)Socket 类(重点)识记:1.Socket 类主要的 public 构造方法
2. 控制 Socket 连接理解:使用 Socket 进行客户端/服务器网络应用程序设计的过程应用:1.创建 Socket 和服务器连接
2.编写 Socket 服务端和客户端(三)ServerSocket 类(重点)识记:1.ServerSocket 的构造方法
2.ServerSocket 的常用方法
3.
Socket 和 ServerSocket 开发的一般流程理解:处理服务端和客户端的多用户通信的方法应用:多线程的程序开发本章重点介绍基于 UDP 的套接字通信的过程。通过本章学习,熟悉网络通讯及 Socket 网络编程,对 TCP/IP 协议、HTTP 协议有较深了解。
(一)UDP 协议(重点)识记:1.UDP 内部工作原理
2.UDP 套接字的特点
3.UDP 的使用场合
4.基于 UDP 的套接字通信过程理解:基于 UDP 的通信机制应用:UDP 套接字编程(二)用于 Java 的 UDP 实现的两个类(重点)识记:1.DatagramSocket 类的构造方法
2.DatagramSocket 类的主要功能
3.DatagramPacket 类的常用方法
4.数据格式的转换
理解:网络程序设计的一般思路(三)网络中数据传播的方式(次重点)识记:1.组播 Socket
2.MulticastSocket 类的功能
3.MulticastSocket 的常用方法理解:构造 MulticastSocket应用:MulticastSocket 与组播组进行通信的操作本章重点内容是学习 Java 中的 NIO 和 NIO.2 包括 Java NIO 中的 Buffer 类、 Channel 相关类和 Java NIO.2 中的 AsynchronousSocketChannel 类、 AsynchronousServerSocketChannel 类等。通过本章学习,能根据不同的 IO 技术解决同一个问题。
(一)Channel 接口(重点)识记:1.通道与流的区别
2.Java NIO 中常用的网络相关的通道理解:通道的原理与获取应用:选择 Channel(二)Buffer(重点)识记:1.缓冲区
2.Buffer 类的属性
3.Buffer 类的通用操作应用:1.Buffer 写操作
2.Buffer 读操作理解:面向流与面向缓冲区的区别、实现方法(三)Selector(重点)识记:1.Selector 的概念
2.Selector 的作用应用:1.Selector 属性操作
2. 基于 TCP 的 NIO 通信
3.基于 UDP 的 NIO 通信(四)NIO.2(次重点)识记:1.异步通道
2.AsynchronousChannel 接口的异步非阻塞 IO 操作
3.AsynchronousChannelGroup 的目的
4.非阻塞的体现
理解:1.IO 和 NIO 不同的表现方面
2.阻塞与非阻塞的机制、实现方法应用:异步 IO 操作本章重点内容是多线程编程和 Java 的并发包,创建线程的方法,以及操作线程的其他常用方法,java.util. concurrent 包中的 Executor 框架涉及的若干类和接口以及使用方法。通过本章学习,考生能初步掌握线程间互相协调的方法和死锁问题。
(一)进程与线程(一般)识记:1.进程与线程的概念
2.线程的状态
3.多线程优势
4. 多线程与单线程的区别理解:线程的基本使用应用:创建线程(二)线程同步(重点)识记:1.同步方法
2.协调线程之间运行使用的方法
3.死锁的概念
4.阻塞队列
理解:死锁的避免
应用:线程间互相协调的实现(三)并发与并行(次重点)
理解:1.并发
2.并行
应用:多线程并发处理的简单实现
第三部分
有关说明与实施要求
一、考核的能力层次表述
本大纲在考核目标中,按照“识记”、“理解”、“应用”三个能力层次规定其应达到的能力层次要求。各能力层次为递进等级关系,后者必须建立在前者的基础上,其含义是:识记:能知道有关的名词、概念、知识的含义,并能正确认识和表述,是低层次的要求。
理解:在识记的基础上,能全面把握基本概念、基本原理、基本方法,能掌握有关概念、原理、方法的区别与联系,是较高层次的要求。
应用:在理解的基础上,能运用基本概念、基本原理、基本方法联系学过的多个知识点分析和解决有关的理论问题和实际问题,是最高层次的要求。
二、教材
1.指定教材:
网络程序设计—基于 Java8,刘海霞,北京邮电大学出版社,2016 年 12 月版
2.参考教材:
java 程序设计,马世霞,机械工业出版社出版 2014 年 Java 网络编程基础(第二版),朱喜福、戴舒樽等,人民邮电出版社,2008 年
三、
自学方法指导
1.在开始阅读指定教材某一章之前,先翻阅大纲中有关这一章的考核知识点及对知识点的能力层次要求和考核目标,以便在阅读教材时做到心中有数,有的放矢。
2.阅读教材时,要逐段细读,逐句推敲,集中精力,吃透每一个知识点,对基本概念必须深刻理解,对基本理论必须彻底弄清,对基本方法必须牢固掌握。
3.在自学过程中,既要思考问题,也要做好阅读笔记,把教材中的基本概念、原理、方法等加以整理,这可从中加深对问题的认知、理解和记忆,以利于突出重点,并涵盖整个内容,可以不断提高自学能力。
4.完成书后作业和适当的辅导练习是理解、消化和巩固所学知识,培养分析问题、解决问题及提高能力的重要环节,在做练习之前,应认真阅读教材, 按考核目标所要求的不同层次,掌握教材内容,在练习过程中对所学知识进行合理的回顾与发挥,注重理论联系实际和具体问题具体分析,解题时应注意培养逻辑性,针对问题围绕相关知识点进行层次(步骤)分明的论述或推导,明确各层次(步骤)间的逻辑关系。
四、对社会助学的要求
1.应熟知考试大纲对课程提出的总要求和各章的知识点。
2.应掌握各知识点要求达到的能力层次,并深刻理解对各知识点的考核目标。
3.辅导时,应以考试大纲为依据,指定的教材为基础,不要随意增删内容,以免与大纲脱节。
4.辅导时,应对学习方法进行指导,宜提倡“认真阅读教材,刻苦钻研教材,主动争取帮助,依靠自己学通”的方法。
5.辅导时,要注意突出重点,对考生提出的问题,不要有问即答,要积极启发引导。
6.注意对考生能力的培养,特别是自学能力的培养,要引导考生逐步学会独立学习,在自学过程中善于提出问题,分析问题,做出判断,解决问题。
7.要使考生了解试题的难易与能力层次高低两者不完全是一回事,在各个能力层次中会存在着不同难度的试题。
8.助学学时:本课程共 4 学分,建议总课时 72 学时,其中助学课时分配如下:
章次 内容 学时
合计
五、关于命题考试的若干规定
1.本大纲各章所提到的内容和考核目标都是考试内容。试题覆盖到章,适当突出重点。
2.试卷中对不同能力层次的试题比例大致是:“识记”为 30%、“理解”为40%、“应用”为 30%。
3.试题难易程度应合理:易、中等、难比例为 3:4:3。
4.每份试卷中,各类考核点所占比例约为:重点占 60%,次重点占 30%,一般占 10%。
5.试题类型一般分为:单项选择题、多项选择题、填空题、名词解释题、简答题、应用题。
6.考试采用闭卷笔试,考试时间 150 分钟,采用百分制评分,60 分合格。
六、题型示例(样题)
一、单项选择题
(本大题共■小题,每小题■分,共■分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”上的相应字母涂黑。错涂、多涂或未涂均无分。
1.下面关于 Java 中会话跟踪的说法,错误的是A.HTTP 协议是无状态的,所以服务器需要用会话跟踪技术来分辨每个客户 B.服务器为每个会话分配了一个 ID 作为唯一标识 C.session 由客户端创建,我们再用 request.getSession()来获得 HttpSession 对象 D.使用会话跟踪可以实现诸如用户登录和购物车此类的功能
2.以下说法正确的是A.每个 HTTP 请求对应一个单独的 ActionServlet 实例 B.对于每个请求访问 HelloAction 的 HTTP 请求,Struts 框架会创建一个单独的 HelloAction 实例 C.每个子应用对应一个单独的 RequestProcessor 实例 D.每个子应用对应一个单独的 web.xml 文件
二、多项选择题
(本大题共■小题,每小题■分,共■分)在每小题列出的五个备选项中至少有两个是符合题目要求的,请将其选出并将“答题卡” 上的相应字母涂黑。错涂、多涂、少涂或未涂均无分。
1.在 Struts 应用的控制器中包含的组件有A.JSP B.Servlet C.ActionServlet D. Action E.代表业务逻辑或业务数据的 JavaBean
三、名词解释题
(本大题共■小题,每小题■分,共■分)
1.网络编程三要素
四、简答题
(本大题共■小题,每小题■分,共■分)
1.套接字按通信性质可以分为哪两类?简述这两类的套接字。
2.简述基于 UDP 的客户机/服务器端 socket 编程流程。
五、
应用题(本大题共■小题,每小题■分,共■分)
1.下面程序的功能是打印表中各元素,请填空:
package typeSystem.generics;import static tips.Print.*;import java.util.List;import java.util.*;public class GenericsBasic{ static void test(){ List<String> myList = Arrays.asList(“a1”, “a2″,”a1”);for( ){ pln( x );} } }
