Java程序设计(第3版)教案 单元设计单元5 Java语言高级程序设计_第1页
Java程序设计(第3版)教案 单元设计单元5 Java语言高级程序设计_第2页
Java程序设计(第3版)教案 单元设计单元5 Java语言高级程序设计_第3页
Java程序设计(第3版)教案 单元设计单元5 Java语言高级程序设计_第4页
Java程序设计(第3版)教案 单元设计单元5 Java语言高级程序设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1页共12页《Java程序设计》课程教学单元设计单元5Java语言高级程序设计授课教师:Java语言课程组授课班级:单元总学时:22教学条件软件开发平台、投影设备、广播软件教学素材参考教材、课件、授课录像教学目标设计知识目标:掌握文件和目录的概念以及对象的创建;掌握不同输入输出流的分类和对象的创建;理解线程和进程的区分;掌握线程的概念、创建和运行机制;掌握线程的作用和实现步骤;掌握线程优先级、互斥、解锁的概念和解决方法;掌握Socket和ServerSocket类的作用和创建过程;掌握DatagramPacket类中的方法和对象的创建过程。掌握JDBC访问数据库所用的类和方法。能力目标:能会使用Java语言对文件进行处理;运用不同输入输出流对文件进行操作;应用线程概念掌握线程在CPU中的运行方式;能会使用线程完成多对一的客户端程序编写;能会使用优先级和同步技术解决死锁;运用TCP协议来编写一个面向连接的网络通信程序;应用Socket类与ServerSocket类完成客户端和服务器端程序设计;应用DatagramPacket类完成应用程序之间建立传送数据报的通信连接;能会使用JDBC技术连接数据库并对数据库中的数据进行增删查改的操作。重点:文件的创建和读取过程;线程的创建和启动;使用Socket接口完成网络传输过程。使用JDBC读写数据库难点:使用各种输入输出流来接收和读取数据;利用线程解决互斥和解锁等问题;Socket接口中TCP和UDP传输形式。教学内容设计任务一:文件管理程序设计;任务二:Java源程序行号添加程序设计;任务三:飘动字幕动画程序设计;任务四:学生成绩读写程序设计;任务五:网络聊天程序设计;任务六:无连接网络聊天程序设计;任务七:员工数据管理程序设计。教学过程设计任务一:文件管理程序设计(文件与目录管理)(2课时)主要步骤教学内容教学方法教学手段师生活动引入只要运行在计算机上的软件都需要读写硬盘上文件进行处理,Java也提供了文件处理类和方法。教师运行程序教师启发-教师:演示学生:思考告知(教学内容、教学目的)教学内容:Java的文件和目录概念;文件的创建;文件类的方法。教学目标:使用Java的文件类来管理硬盘和内存中的文件。教师启发讲解课件演示教师:讲授学生:思考任务简介编写文件管理程序,可通过文件选择对话框选择路径,输入文件名创建文件,或通过文件选择对话框删除选中的文件,或者查看选中文件的属性。讨论归纳课件演示教师:讲授学生:思考任务分析通过菜单实现功能选择,通过JFileChooser实现文件选择,通过File类实现文件的创建、删除和查看。教师演示课件演示小组讨论教师:讲解演示学生:思考参与发言分组讨论支撑知识输入/输出流与java.io包;File类;JFileChooser类。讨论归纳课件演示教师:演示学生:思考任务实施定义类FileManager继承JFrame实现ActionListener接口;在FileManager类的构造方法中定义菜单;在actionPerformed方法中实现文件创建、删除和查看功能;main方法中创建FileManager类对象。动手实践分组实践教师:讲解指导学生:小组讨论动手实践分享交流文件创建方式和目录建立过程。个别演示分组讨论教师:总结学生:演示分享交流课堂实训编写一个程序,用于显示当前目录下的文件和目录信息,类似于Dos中的dir命令。在c:\test文件夹下创建一个文件example.txt,然后列出该文件的绝对路径、上一级目录以及该文件的最后修改时间和文件大小。动手实践分组实践教师:任务布置学生:小组讨论动手实践课后作业创建目录:c:\123并创建一个文件a.txt,向该文件中3次写入字符串“Howareyou!”。-分组学习提交作业教学过程设计任务二:Java源程序行号添加程序设计(文件的访问)(2课时)主要步骤教学内容教学方法教学手段师生活动引入当文件创建在计算机的硬盘中,那么下一步将是对文件的访问。教师运行程序教师启发-教师:演示学生:思考告知(教学内容、教学目的)教学内容:FileReader和FileWriter文件;流的操作过程。教学目标:掌握文件的顺序访问方式。教师启发讲解课件演示教师:讲授学生:思考任务简介编写一个程序将源文件另存为其他的文件,并为每一行代码在前面添加行号。讨论归纳课件演示教师:讲授学生:思考任务分析使用BufferedReader从文件中逐行读入Java源文件中的代码,在每行代码前加上行号后,使用PrintWriter逐行将代码写入新文件。教师演示课件演示小组讨论教师:讲解演示学生:思考参与发言分组讨论支撑知识输入输出流操作一般步骤;InputStream和OutputStream;FileInputStream和FileOutputStream类;DataInputStream和DataOutPutStream类;BufferedInputStream和BufferedOutPutStream类;Reader和Writer类。讨论归纳课件演示教师:演示学生:思考任务实施定义类InsertLineNumber编写open方法,将源代码文件内容读入字符串strFinal对象中编写saveAs方法,从strFinal对象中逐行读出代码,增加行号并写入新文件中在main方法中创建InsertLineNumber类对象,调用open、saveAs方法动手实践分组实践教师:讲解指导学生:小组讨论动手实践分享交流文件流的分类和使用。个别演示分组讨论教师:总结学生:演示分享交流课堂实训编写一个程序,将几个Java类型的数据写到一个文件中,并读出来。动手实践分组实践教师:任务布置学生:小组讨论动手实践课后作业编写一个程序读取他自己的源代码并在控制台中输出。-分组学习提交作业教学过程设计任务三:飘动字幕动画程序设计(创建和启动线程)(2课时)主要步骤教学内容教学方法教学手段师生活动引入在很多情况下设计中要求我们的程序能够每隔一段时间就运行一次,需要Java引入线程的概念。教师运行程序教师启发-教师:演示学生:思考告知(教学内容、教学目的)教学内容:线程的Thread类;时间的Calendar和SimpleDateFormat类。教学目标:会使用Thread类创建一个多线程应用程序。教师启发讲解课件演示教师:讲授学生:思考任务简介运用Java多线程技术编写一个简单的动画,运行程序时窗口会显示一个飘动的字幕,每隔1秒字幕会自动改变显示的位置,先自左向右移动,到达窗口右边界时,再改变为自右向左移动。讨论归纳课件演示教师:讲授学生:思考任务分析在窗口中,通过JLabel显示一行文字,通过启动一个线程,在线程中每隔一秒改变一次JLabel对象的位置可实现字幕飘动的动画效果。教师演示课件演示小组讨论教师:讲解演示学生:思考参与发言分组讨论支撑知识线程概念;用Thread类创建线程;用Runnable接口创建线程。讨论归纳课件演示教师:演示学生:思考任务实施创建一个主类MovingText继承JFrame实现Runnable接口在主类MovingText构造方法中创建显示JLabel对象,创建线程对象并启动线程实现Runnable接口的run方法,使用sleep方法休眠一秒,然后修改JLabel对象位置在main方法中实例化MovingText动手实践分组实践教师:讲解指导学生:小组讨论动手实践分享交流如何使用Thread类来创建和开启一个线程。个别演示分组讨论教师:总结学生:演示分享交流课堂实训运用Java多线程技术,通过实现Runnable接口来编写一个电子时钟的应用程序,运行时每隔一秒种自动刷新显示当前日期和当前时间。动手实践分组实践教师:任务布置学生:小组讨论动手实践课后作业编写一个程序,用继承Thread类的方法,由main()主线程创建两个新线程,每一个线程输出从1-20后结束退出,每输出一个数后注意要休眠1秒。分组学习提交作业教学过程设计任务四:学生成绩读写程序设计(线程生命周期与优先级)(2课时)主要步骤教学内容教学方法教学手段师生活动引入线程创建后,每隔一段时间就进入运行状态,多线程完成任务时将会存在几个线程在不同的生命周期里反复切换的问题,也就会存在同一时刻会有多个线程抢占资源问题,那么就需要对线程优先顺序进行定义。教师运行程序教师启发-教师:演示学生:思考告知(教学内容、教学目的)教学内容:线程的状态;线程的优先级;线程的通信。教学目标:掌握线程的5种状态,并能控制线程状态;掌握线程调度优先级,能够解决多线程之间数据同步问题。教师启发讲解课件演示教师:讲授学生:思考任务简介程序中有两个线程,一个负责写学生成绩数据,一个负责读取和显示学生成绩数据。为了清楚,一个学生有20门课的成绩,写线程写入的每门课的成绩都和其学号相同。如果读线程发现成绩和学号不一致的情况,则说明出现了共享数据读写不一致的问题,利用线程同步机制解决共享数据读写不一致的问题。讨论归纳课件演示教师:讲授学生:思考任务分析同步块和同步方法都可以解决共享数据保护的问题。如果代码都是自己写的,尽可能使用同步方法。如果调用别人写好的、自己无法修改的非同步方法,就只能将调用语句放在同步块中了。教师演示课件演示小组讨论教师:讲解演示学生:思考参与发言分组讨论支撑知识线程的5种状态;线程的优先级;线程的同步。讨论归纳课件演示教师:演示学生:思考任务实施先定义StudentScore类,只提供数据定义,不提供访问方法;分别定义WriteScore和ReadScore线程类,实现在同步块中的成绩写和读;main方法中创建并启动两个线程测试方案一的有效性;修改StudentScore类定义,通过增加两个同步方法readScore和writeScore实现数据封装;修改WriteScore和ReadScore线程类代码,通过调用同步方法readScore和writeScore实现数据读写;运行程序测试方案二的有效性。动手实践分组实践教师:讲解指导学生:小组讨论动手实践分享交流线程的状态转换条件,解决同步和死锁的问题。个别演示分组讨论教师:总结学生:演示分享交流课堂实训编写一个仓库的进货与销售同步控制的线程实例。动手实践分组实践教师:任务布置学生:小组讨论动手实践课后作业用Synchronized方法编写一个“带锁定的售票线程”。分组学习提交作业教学过程设计任务五:网络聊天程序设计(套接字Socket)(4课时)主要步骤教学内容教学方法教学手段师生活动引入互联网的发展让机器之间可以自由的互相连接,要想使计算机之间数据产出相互调用和处理,那么Java也必须提供一组类来完成网络通信。教师运行程序教师启发-教师:演示学生:思考告知(教学内容、教学目的)教学内容:TCP/IP协议和端口的概念;Socket和ServerSocket类。教学目标:能使用Socket类与ServerSocket类创建客户端程序,并实现客户端程序与服务器端程序的信息交换。教师启发讲解课件演示教师:讲授学生:思考任务简介运用Java的套接字编写一个多人网络聊天程序。可以实现聊天记录的保存和查看。讨论归纳课件演示教师:讲授学生:思考任务分析综合运用流、线程和Socket实现网络聊天程序,并实现聊天记录的存储。ChatServer是服务端程序,应当先于客户端程序运行,可接受多个客户端连接。ChatClient是客户端程序,负责将用户输入文本发送到服务端并显示从服务端转发过来的其他客户端发送的消息。教师演示课件演示小组讨论教师:讲解演示学生:思考参与发言分组讨论支撑知识TCP/IP和端口基本概念;Socket编程。讨论归纳课件演示教师:演示学生:思考任务实施定义Client类实现Runnable接口,作为客户端代理,实际上是在服务器为每个客户端创建一个单独的通信线程;定义ChatServer类,等待客户的连接请求,用列表clients保存客户端代理,每次和一个客户端建立连接,创建一个代理对象放入列表clients中;定义ChatClient类继承JFrame,实现客户端界面,与服务器建立连接,接收用户输入发送给服务器并显示服务器发送来的信息。动手实践分组实践教师:讲解指导学生:小组讨论动手实践分享交流Socket编程中服务器端和客户端的连接过程。个别演示分组讨论教师:总结学生:演示分享交流课堂实训用Socket实现客户和服务器交互的典型C/S结构的聊天程序。动手实践分组实践教师:任务布置学生:小组讨论动手实践课后作业编写一个简单的基于TCP协议的聊天程序,要求采用图形用户界面,允许服务器与客户端在同台机器上。分组学习提交作业教学过程设计任务六:无连接网络聊天程序设计(无连接通信数据报编程)(2课时)主要步骤教学内容教学方法教学手段师生活动引入任务五中我们使用了TCP协议来完成网络通讯,但是在计算机网络技术中还有一类连接时UDP,也就是无连接通信需要使用Java语言来解决。教师运行程序教师启发-教师:演示学生:思考告知(教学内容、教学目的)教学内容:UDP协议的概念;数据报发送和接收。教学目标:能使用DatagramPacket类创建数据报对象并在应用程序之间建立传送数据报的通讯连接。教师启发讲解课件演示教师:讲授学生:思考任务简介编写一款UDP协议实现聊天工具。运行两个实例,设置对方IP地址和端口号即可实现网络聊天。讨论归纳课件演示教师:讲授学生:思考任务分析可以创建一个类UdpDialogFrame,既可以作为信息发送端,又可以作为信息接收端。程序运行时,显示本机IP地址和所用端口号。允许用户输入信息发送目标的IP地址和端口号。在线程体中接收数据包,在TextListener接口的文本变化事件处理方法中发送数据包。教师演示课件演示小组讨论教师:讲解演示学生:思考参与发言分组讨论支撑知识UDP数据报协议;InetAddress类;基于UDP通信的基本模式。讨论归纳课件演示教师:演示学生:思考任务实施定义类UdpDialogFrame继承Frame实现TextListener,Runnable接口;在UdpDialogFrame类的构造方法中构造窗口界面,启动数据接收线程;在textValueChanged方法中发送信息;在run方法中接收并显示信息;创建主类UdpDemo,创建UdpDialogFrame类对象。动手实践分组实践教师:讲解指导学生:小组讨论动手实践分享交流使用UDP协议编写通信的过程与上个任务的TCP协议的区别和优缺点。个别演示分组讨论教师:总结学生:演示分享交流课堂实训编写两个简单的UDP程序,在一台计算机上由一个程序负责发送数据,另一程序负责接收数据,接收程序的端口号位9008,发送端的端口由系统分配。动手实践分组实践教师:任务布置学生:小组讨论动手实践课后作业使用InetAddress类编写一个程序,程序的功能是获取本地主机的域名和IP地址。分组学习提交作业教学过程设计任务七:员工数据管理程序设计(使用JDBC连接数据库)(4课时)主要步骤教学内容教学方法教学手段师生活动引入软件系统中必须有数据的存储,在任务一中可以使用文件来进行存储,但是当遇到数据量大,数据类型复杂的时候就需要使用数据库来进行存储,如何让Java程序能和数据库产生通信,就需要引入JDBC技术。教师运行程序教师启发-教师:演示学生:思考告知(教学内容、教学目的)教学内容:数据库JDBC技术简介;Statement和PreparedStatement对象使用;Java实现数据库增删查改操作的方法和步骤。教学目标:能使用JDBC技术进行数据库的增删查改操作。教师启发讲解课件演示教师:讲授学生:思考任务简介员工管理系统中,需要建立员工表emp,字段有员工编号(empno)、姓名(ename)、工作(job)、经理编号(mgr)、雇佣日期(hiredate)、工资(sal)、提成(comm)、部门编号(deptno)。现要求使用JDBC连接数据库,能够根据员工编号查询、添加、修改、删除员工记录。讨论归纳课件演示教师:讲授学生:思考任务分析OracleDBConnectio

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论