《Java程序设计项目式教程 教案11-2 学生给教师留言.docx》由会员分享,可在线阅读,更多相关《Java程序设计项目式教程 教案11-2 学生给教师留言.docx(6页珍藏版)》请在第一文库网上搜索。
1、教案课程名称:名Va面向对向程序设计适用专业:授课年级:授课学期:授课教师:教学基本信息授课题目学生给教师留言授课专业软件技术专业授课班级一年级学生授课课时4学时(180分钟)授课地点教学做一体化教室学情分析授课对象是软件技术专业大一学生,学生已经具备JaVa编程基础,初步具备面向对象的编程思想,掌握了JaVa的异常处理、多线程以及集合框架、文件处理、访问数据库等基础知识。在学习完基于TCP的网络通信之后,接着学习基于UDP的网络通讯过程,这是学生必备的技能。因此,由浅入深,使用切合的实例,逐步引导比较适合学生的习惯,使用学生身边的、感兴趣的例子来可以调动学习和探究的主动性、积极性。教学资源令
2、教材:Java程序设计教程项目式教程赵国玲等编著,机械工业出版社令网络学习资源平台:山东省省级职业教育在线精品课程Java面向对象程序设计令教学环境:教学做一体化教室,极域电子,一体机等令教学素材:多媒体课件,动画视频片段单元教学目标知识目标令1.熟悉使用InetAddreSS类获取主机信息的方法令2.掌握基于DatagramSOCket、DatagramPaCket的数据发送与接收能力目标令1.能够使用UDP进行客户端与服务器端消息的传递素质目标令1.自觉遵守网络安全及网络信息使用法律、法规令2.树立精益求精、追求卓越的意志和工作精神教学重点DatagramSocketDatagramPaC
3、ket实现数据的发送与接收教学难点实现基于UDP的通信单元授课过程教学流程教学活动学生活动设计思路时间知识回顾并到入新课1 .回顾上节内容,掌握集合的常用方法与应用场景。2 .利用超星学习平台推送本节学习任务清单,要求学生课前预习UDP实现网络通信的过程O学生查看学习通本节任务清单,学习学生给教师留言这堂课。1.课前利用超星学习平台推送本节学习任务清单,要求学生总结了解基于UDP实现网络通信的过程。20分钟学习新知1. InetAddress类的作用InetAddress类包括一个主机名和一个IP地址。它提供了获取和操作IP地址的方法,可以用于网络编程、服务器配置、主机管理等场景。2. UDP
4、通信DatagramSocket和DatagramPacket数据包/数据报实现了基于UDP协议网络程序;UDP数据报通过数据报套接字DatagramSocket发送和接收,系统不保证UDP数据报一定能够安全送到目的地,也不能确定什么时候可以抵达ODatagramPacket对象封装了UDP数据报,在数据报中包含了发送端的IP地址和端口号以及接收端的IP地址和端口号。UDP协议中每个数据报都给出了完整的地址信息,因此无须建立发送方和接收方的连接。1 .分析总结归纳,从整体上掌握TCP的层次结构,以及各分支的功能和应用场景。2 .了解InetAddress类的作用和应用场景。3 .参与讨论如何实
5、现UDP通信以及明确InetAddress类、DatagramSocket类、DatagramPacket类在其中的作用。1 .比较TCP与UDP通信,带领学生分析问题,并进行归纳比较总结。2 .复习回顾上一任务中TCP通信的实现,互动,逐步了解UDP通信,。3 .鼓励学生积极主动学习,提升个人技艺技能,培养精益求精的工匠精神O4 .通过教学增强学生的创新意识,同时掌握UDP通信的应用场景。40分钟编程实战给学生演示示范:操作1:使用InetAddreSS类返回“”的IP地址及封装IP,域名,本机用户名o关键代码:封装IPInetAddressia1=InetAddress.getByName
6、(192.168.0.106);/本机IPInetAddressia2=InetAddRess.getByName(127.0.0.1);/回环地址,表示本机IPInetAddressia3=InetAddress.getByName(,Ioca1host);/IOCaIhOSt表示本机IPInetAddressia4=InetAddress.getByName(MS-Noaxc1mwdofs);本机用户名System,out.printIn(ia1);/192.168.0.104System,out.printIn(ia2);/127.0.0.1System,out.printIn(ia3)
7、;/1oca1host/127.0.0.1System.out.printIn(ia4);/MS-N0AXC1MWD0FS192.168.0.104封装其他机器的IPInetAddressia5=InetAddress.getByName(,);System.out.Print1n(ia5);/输出域名和域名指向的IP地址222.173.43.135/还可以调用InetAddreSS类的方法获取域名System,out.printIn(ia5.getHostName0);/获取IPSystem,out.printIn(ia5.getHostAddress();1 .学生接收任务,思考编程思路。
8、并实现编程O2 .练习并思考操作1的代码,学会应用InetAddress类相关方法O3 .在动手实践过程中,注意一些访问量较大的主机通常会对应多个IP地址以实现负载均衡。当主机被访问时,其IP地址将从所有地址里面随机产生,可以通过调用getAIIByName()方法来获得所有主机了解InetAddreSS类在网络通信中的作用:InetAddress类是JaVa对IP地址的封装,在Java,net中有许多类都使用到了InetAddress,包括SerVerSOCket,Socket,DatagramSocket等等;让学生熟练掌握基于InetAddress类的常用方法。45分钟操作2:分别写一下
9、接受数据包和发送数据包的流程。1.学生接收任务,思考编程思路。并实现编程灵活应用DatagramSocket类接收数据包的步骤如下。1)使用DatagramSocket(intPOrt)创建数据包套接字,绑定到指定的端口。2)准备好字节数组buf,创建DatagramPacket(bytebuf,intIength)对象用于接收。3)使用DatagramSocket类的receive0方法接收DatagramPaCket对象。发送数据包的步骤如下所示。1)使用DatagramSOCket()创建一个数据包套接字。2)使用DatagramPacket(bytebuf,intoffset,int1
10、ength,InetAddressaddress,intport)创建要发送的数据报包,指定要发送的内容、目的地址和端口。3)使用DatagramSocket类的send()方法发送DatagramPaCket对象。O2 .动手实践并思考操作2的代码,学会使用DatagramSocket、DatagramPacket进行网络通信编程。3 .根据编写代码,提炼总结UDP通信的流程。、DatagramPacket类常用方法实现客户端与服务器端的通信;掌握UDP通信的工作过程。45分钟任务拓展布置课堂实践:实现学生给老师留言功能,将学生设为客户端,将教师设为通信服务器端o学生可以多次给教师留言。1)
11、创建客户端类UDPStudent,在主方法体中创建数据报套接字2)创建数据报包,指定要发送的内容和目的地址及端口号,为实现多次留言,将创建数据报包操作放在循环中。3)使用数据报套接字DatagramSocket的Send方法发送数据报包4)为保证程序能够结束,根据用户输入内容设置退出循环的时机。5)创建服务器端类UDPTeacher,在主方法体中创建带端口号的数据报套接字。6)继续创建用于接收数据的数据报包对象,使用数据报套接字DatagramSocket的receive方法接收数据报包,因客户端循环发送,因此服务器端需要循环接收。7)对接收的数拓展学生的逻辑思维,锻炼学生独立思考、独立完成任务的能力。18分钟据进行处理。小结1 .总结授课内容2 .归纳重难点,布置作业总结12分钟课后拓展作业基于数据报套接字实现教师(服务器端)与学生(客户端)间的对话式聊天。1 .学生登录云实训平台,并根据自己的知识基础和课堂掌握情况2 .学会独立思考,并能够独立分析、解决问题O课后习题更加的具有实用性,让学生理解基于UDP的客户端服务器端通信的实现过程。进行课后探究,此环节使用分层教学法让不同能力水平的学生各有所获,且通过该环节,学生能够给予反馈,让教师及时调整教学,同时,在问题解决过程中,提高学生灵活运用知识的能力。教学反思