Java Web程序设计项目实战(微课版)教案 项目五 JSP内置对象_第1页
Java Web程序设计项目实战(微课版)教案 项目五 JSP内置对象_第2页
Java Web程序设计项目实战(微课版)教案 项目五 JSP内置对象_第3页
Java Web程序设计项目实战(微课版)教案 项目五 JSP内置对象_第4页
Java Web程序设计项目实战(微课版)教案 项目五 JSP内置对象_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

767-项目五JSP内置对象主题任务5.1应用JavaBean计算梯形的面积1课时2教学手段启发引导法项目教学法任务教学法教学方法演示法教学课型□理论□实训R一体化□(其它)教学目标知识目标1.熟悉JavaBean的基本格式2.熟悉JavaBean的分类3.掌握JavaBean规范编写4.掌握JavaBean的应用能力目标能综合应用JavaBean完成项目任务育人目标培养学生代码的规范严谨性,提高学生的分析问题,解决问题的能力教学重点能综合应用JavaBean完成项目任务教学难点能综合应用JavaBean完成项目任务教学过程设计备注一、创建情境,导入新课(5分钟)在数学中平行四边形面积、三角形面积、梯形的面积的计算…,从而引出本节课的内容。二、教学实施(80分钟).1.任务演示编写一个JSP页面,该页面提供一个表单,用户可以通过表单设置梯形的上底、下底和高的值,并提交给本JSP页面,该JSP页面将计算梯形面积的任务交给一个pagebean去完成。JSP页面使用getProperty动作标记显示pagebean中的数据,如图所示2.知识准备(1)JavaBean介绍(2)JavaBean的分类(3)JavaBean的规范孟子曰“不以规矩,不能成方圆”,同样,在设计JavaBean时,需要遵循有关约定:使用package语句进行打包类中声明的方法的访问属性都必须是public的。类中需提供public、无参数的构造方法。属性必须声明为私有的(即用private修饰)如果类的成员变量的名字是xxx,类中提供两个方法:getXxx(),用来获取属性xxx。setXxx(),用来修改属性xxx.。也就是方法的名字用get或set为前缀,后缀是将成员变量名字的首字母大写的字符序列。对于boolean类型的成员变量,即布尔逻辑类型的属性,允许使用“is”代替上面的“get”和“set”。(4)使用JavaBean<jsp:useBean>动作元素基本格式如下:<jsp:useBeanid="beanname"class=“package.class"scope=“page|request|session|application"/><jsp:getProperty>动作元素<jsp:getProperty>用于获取Bean对象中属性的值。JavaBean的实例必须在<jsp:getProperty>前面定义,基本语句的格式如下:<jsp:getPropertyname="id"property="bean属性"/>或<jsp:getPropertyname="id"property="bean属性"/></jsp:getProperty>课堂练习(教师演示、学生操作)课堂练习1:创建一个Student的Bean类,如图所示。课堂练习2:编写Person.jsp页面去访问课堂练习1的bean属性。3.任务实施(教师演示、学生操作)关键代码:第一步:bean的类文件以“class"形式创建,为”AreaBean.java"。需要把bean文件放到my.bean包中。packagemy.bean;publicclassAreaBean{privatedoublehight,up,down,area;publicAreaBean(){ }publicdoublegetHight(){ returnhight;}publicvoidsetHight(doublehight){ this.hight=hight;}publicdoublegetUp(){ returnup;}publicvoidsetUp(doubleup){ this.up=up;}publicdoublegetDown(){ returndown;}publicvoidsetDown(doubledown){ this.down=down;}publicdoublegetArea(){ this.area=(up+down)*hight/2; returnarea;}publicvoidsetArea(doublearea){ this.area=area;}}第二步:创建jsp文件<bodybgcolor="f0fff0"><fontsize=4><b><jsp:setPropertyproperty="up"name="tixing"value="20"/><jsp:setPropertyproperty="down"name="tixing"value="30"/><jsp:setPropertyproperty="hight"name="tixing"value="5"/>梯形的上底:<jsp:getPropertyproperty="up"name="tixing"/><br>梯形的下底:<jsp:getPropertyproperty="down"name="tixing"/><br>梯形的高:<jsp:getPropertyproperty="hight"name="tixing"/><br>梯形的面积:<jsp:getPropertyproperty="area"name="tixing"/><br></font></b></body>4.任务拓展通过任务5.1的学习,我们已经学会使用一个简单的bean,有时在写一个bean的时候,除了需要应用import语句引入系统提供的类,可能还需要其它一些自己编写的类,此时只要将这些类和创建的bean的类写在一个Java源中即可。(1)FilenameFilter介绍FilenameFilter是一个接口,实现FilenameFilter接口的类的实例用于过滤不符合规格的文件名,并返回合格的文件,只有一个accpet方法。publicbooleanaccept(Filedir,Stringname){}作用:它用来测试指定的文件是否应包含在文件列表中dir:表示文件的当前目录name:表示文件名File文件File类的一个对象,代表一个文件或一个文件目录(文件夹),基本格式如下:Filef=newFile("路径");常用的方法:String[]fs=f.list();//获取指定目录下的所有文件或者文件目录的名称数组File[]fs=f.listFiles();//获取指定目录下的所有文件或者文件目录的FiLe数组FilenameFilter用来把符合要求的文件或目录返回;因此可以调用:String[]fs=f.list(FilenameFilterfilter);;File[]fs=f.listFiles(FilenameFilterfilter);当向list方法传递一个FilenameFilter接口对象时,list方法在列出文件时,将让该文件调用accept方法检查该文件是否符合accept方法指定的目录和文件的要求。拓展应用1:应用bean列出JSP页面所在目录中特定扩展名的文件。三、教学小结(3分钟)通过本节课的学习,问学生掌握了哪些知识?JavaBean的分类,规范和应用,FilenameFilter以及文件的应用。作业布置(2分钟)实训一应用JavaBean实现留言板教学反思注重培养学生实践动手能力7614-项目五JSP内置对象主题任务5.2应用JavaBean实现网站注册功能1课时2教学手段启发引导法项目教学法任务教学法教学方法演示法教学课型□理论□实训R一体化□(其它)教学目标知识目标掌握JavaBean属性的值的引用能力目标能综合应用JavaBean属性的值育人目标培养学生代码的规范严谨性,提高学生的分析问题,解决问题的能力教学重点JavaBean属性的值综合应用教学难点JavaBean属性的值综合应用教学过程设计备注一、创建情境,导入新课(5分钟)微信、腾讯QQ、邮箱、百度网盘…需要先注册,才能登录使用相应的产品服务,从而引出本节课的内容。二、教学实施(80分钟)1.任务演示当我们进入欢迎界面,想购买化妆品,需要先注册,然后才能购买,如图所示。运行界面输入信息提交后的信息2.知识准备使用setProperty设置bean属性值可以通过HTML表单的参数的值来设置bean的相应属性的值,要求bean属性的名字必须在表单中有相应的参数名字与之对应,JSP引擎会自动将参数的字符串值转换为bean相对应的属性的值。如果用HTTP表单的所有参数的值设置bean相对应的属性的值可以使用setProperty元素:方式一:<jsp:setPropertyname="beanname"property="*"/>该元素不再具体指定bean属性的值将对应表单中哪些参数指定的值,系统会自动根据名字进行对应的匹配。课堂练习(教师演示、学生操作)课堂练习1:通过bean,实现表单读取网站登录信息,如图所示。3.任务实施(教师演示、学生操作)关键代码:第一步:编写JavaBean类Registerpackagemy.bean;publicclassRegister{ Stringlogname="",password,phone="",address="",realname="";publicRegister(){ }publicStringgetLogname(){ returnlogname;}publicvoidsetLogname(Stringlogname){ this.logname=logname;}publicStringgetPassword(){ returnpassword;}publicvoidsetPassword(Stringpassword){ this.password=password;}publicStringgetPhone(){ returnphone;}publicvoidsetPhone(Stringphone){ this.phone=phone;}publicStringgetAddress(){ returnaddress;}publicvoidsetAddress(Stringaddress){ this.address=address;}publicStringgetRealname(){ returnrealname;}publicvoidsetRealname(Stringrealname){ this.realname=realname;}}第二步:编写jsp文件<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><jsp:useBeanid="register"class="my.bean.Register"scope="request"></jsp:useBean><!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""/TR/html4/loose.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"><title>Inserttitlehere</title></head><bodybgcolor="pink"><div><h1>用户网站注册</h1><formaction=""method="post"name="form"><b>用户名由字母、数字、下划线构成,*的项必须填写</b><br><br>*用户名称:<inputtype="text"name="logname"><br><br>*用户密码:<inputtype="password"name="password"><br><br>*重复密码:<inputtype="password"name="again_password"><br><br>联系电话:<inputtype="text"name="phone"><br><br>收件地址:<inputtype="text"name="address"><br><br>真实姓名:<inputtype="text"name="realname"><br><br><inputtype="submit"value="提交"></form></div><div><h1>显示用户网站注册信息</h1><%request.setCharacterEncoding("utf-8");%><jsp:setPropertyproperty="*"name="register"/>用户名称:<jsp:getPropertyproperty="logname"name="register"/><br><br>用户密码:<jsp:getPropertyproperty="password"name="register"/><br><br>联系电话:<jsp:getPropertyproperty="phone"name="register"/><br><br>收件地址:<jsp:getPropertyproperty="address"name="register"/><br><br>真实姓名:<jsp:getPropertyproperty="realname"name="register"/><br><br></div></body></html>4.任务拓展编写最美的逆行者相册任务要求:2022年8月,重庆市北碚区歇马街道虎头村突发山火,从山火烧起来的那一刻,各方力量开始集结,消防救援人员和志愿者们为了人民生命财产安全,在极端高温天气下又处于炙烤险峻的一线,勇往直前、迎难而上,他们是最美的逆行者在北碚山火中读懂重庆,应用你学的知识,做一个救火相册,如图所示。三、教学小结(3分钟)通过本节课的学习,问学生掌握了哪些知识?JavaBean属性值的设置作业布置(2分钟)完成实训二应用JavaBean技术实现四则运算教学反思注重培养学生实践动手能力7615-项目五JSP内置对象主题任务5.3应用JavaBean实现购物车课时2教学手段启发引导法项目教学法任务教学法教学方法演示法教学课型□理论□实训R一体化□(其它)教学目标知识目标掌握JavaBeant的应用掌握ArrayList的应用能力目标能应用JavaBean和ArrayList制作小型网站育人目标培养学生代码的规范严谨性,提高学生的分析问题,解决问题的能力教学重点ArrayList的综合应用教学难点ArrayList的综合应用教学过程设计备注一、创建情境,导入新课(5分钟)随着“互联网+”与各行业的整合,农产品与互联网的融合创造出“新农人”、“社区团购”等新兴事物,农产品在互联网销售为农产品发展提供的重要的途径,从而引出本节课的内容。二、教学实施(80分钟)1.任务演示为了进一步提高水果销售业绩,便利客户购买商品,请应用JavaBean技术实现购物车系统,主要功能包含展示水果,购买水果,添加水果到购物车,清空购物车,如图所示水果列表购买商品2.知识准备(1)ArrayList的应用封装业务的JavaBean是完成一定运算和操作功能的业务类,主要包含一些特定的方法,进行业务处理。使用JavaBean一定程度上可以将Java处理代码从JSP页面中分离。封装数据的JavaBean要将表单中的用户输入值送入数据库中相应的字段,或将数据库中的字段值取出并显示到网页中,需要一个专用的Bean与封装数据的JavaBean配合完成操作。在项目四已经详细介绍了JSP中连接数据库的多种方法和数据库进行增加、删除、修改和查询的各种操作。在同一个应用程序中的许多地方都需要进行数据库连接和数据库内容的更新操作,可以通过所学的JavaBean技术将数据库的一些操作封装到Bean中,需要用到这些功能,直接调用JavaBean动作元素来实现Bean的调用,具体的知识点,前面已介绍,这里不再一一赘述3.任务实施(教师演示、学生操作)第一步:创建封装商品信息的值JavaBeanpackagemy.bean;publicclassGoods{privateStringname;//商品名称privatefloatprice;//商品价格privateintnum;//购买商品的数量publicGoods(){ super();}publicGoods(Stringname){ super(); =name;}publicGoods(Stringname,floatprice,intnum){ super(); =name; this.price=price; this.num=num;}publicStringgetName(){ returnname;}publicvoidsetName(Stringname){ =name;}publicfloatgetPrice(){ returnprice;}publicvoidsetPrice(floatprice){ this.price=price;}publicintgetNum(){ returnnum;}publicvoidsetNum(intnum){ this.num=num;}}第二步创建工具JavaBean,主要实现中文乱码处理和类型转换packagemy.bean;publicclassMyTools{//实现字符串转换为整型publicstaticintstrToint(Stringstr){ if(str==null||str.equals("")) str="0"; intnum=0; try{ num=Integer.parseInt(str); }catch(Exceptione){ num=0; e.printStackTrace(); } returnnum;}//实现中文乱码处理publicstaticStringtoChinese(Stringstr){ if(str==null) str=""; try{ str=newString(str.getBytes("ISO-8859-1"),"utf-8"); }catch(Exceptione){ str=""; e.printStackTrace(); } returnstr;}}第三步:创建购物车,主要功能是添加、移除、清空购物车的操作packagemy.bean;importjava.util.*;importmy.bean.*;publicclassShopCar{privateArrayListbuylist=newArrayList();publicArrayListgetBuylist(){ returnbuylist;}publicvoidsetBuylist(Goodslist){//添加数据 if(list!=null) { if(buylist.size()==0) { Goodstemp=newGoods(); temp.setName(list.getName()); temp.setPrice(list.getPrice()); temp.setNum(list.getNum()); buylist.add(temp); }else { inti=0; for(;i<buylist.size();i++) { Goodstemp=(Goods)buylist.get(i); if(temp.getName().equals(list.getName())) { temp.setNum(temp.getNum()+1); break; } } if(i>buylist.size()) { Goodstemp=newGoods(); temp.setName(list.getName()); temp.setPrice(list.getPrice()); temp.setNum(list.getNum()); buylist.add(temp); } } }}publicvoidremoveItem(Stringname)//移动数据{ for(inti=0;i<buylist.size();i++) { Goodstemp=(Goods)buylist.get(i); if(temp.getName().equals(MyTools.toChinese(name))) { if(temp.getNum()>1) { temp.setNum(temp.getNum()-1); break; } elseif(temp.getNum()==1) { buylist.remove(i); } } }}publicvoidclearCar()//清除数据{ buylist.clear();}}第四步:创建水果列表页面<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><%@pageimport="my.bean.Goods"%><%@pageimport="java.util.*"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""/TR/html4/loose.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"><title>Inserttitlehere</title></head><body><%!staticArrayListgoodslist=newArrayList();static{ String[]names={"水龙果","芒果","西瓜","哈密瓜"}; float[]prices={4.5f,6.7f,2.4f,3.5f};for(inti=0;i<4;i++){ Goodslist1=newGoods(); list1.setName(names[i]); list1.setPrice(prices[i]); list1.setNum(1); goodslist.add(i,list1);}}%><%session.setAttribute("goodslist",goodslist);response.sendRedirect("show.jsp");%></body></html>第五步:展示数据页面<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><%@pageimport="java.util.ArrayList"%><%@pageimport="my.bean.Goods"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""/TR/html4/loose.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"><title>Inserttitlehere</title></head><body><%ArrayListgoodslist=(ArrayList)session.getAttribute("goodslist");%><tableborder="1"width="450"rules="none"cellpadding="0"cellspacing="0"><trheight="50"><tdcolspan="3"align="center">水果列表</td></tr><tralign="center"height="30"bgcolor="lightgrey"><td>名称</td><td>价格</td><td>购买</td></tr><%if(goodslist==null||goodslist.size()==0){%><tr><td>没有水果了!</td></tr><%}else{for(inti=0;i<goodslist.size();i++){Goodslist=(Goods)goodslist.get(i);%><trheight="50"align="center"><td><%=list.getName()%></td><td><%=list.getPrice()%></td><td><ahref="docar.jsp?action=buy&id=<%=i%>">购买</a></td></tr><%}}%><trheight="50"><tdalign="center"colspan="3"><ahref="ShopCar.jsp">查看购物车</a></td></tr></table></body></html>第六步:购物车页面<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pa

温馨提示

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

最新文档

评论

0/150

提交评论