tts8.0课件课后练习代码经典案例day_第1页
tts8.0课件课后练习代码经典案例day_第2页
tts8.0课件课后练习代码经典案例day_第3页
tts8.0课件课后练习代码经典案例day_第4页
tts8.0课件课后练习代码经典案例day_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

1、Java SERVLET&JSP 2. 购物车(提高题选做11.1 问通过Servlet生成一返回给浏览器是一张压缩为jpg格式的随Java SERVLET&JSP 2. 购物车(提高题选做11.1 问通过Servlet生成一返回给浏览器是一张压缩为jpg格式的随机)1.2 方小知如何写Java程web应用Apache提供了一个工具类http-nt.jar,封装了http协议,它提供一些接口及操作可web应用。可到图示演。服务器部署某个应用,该应用添加了验证,必。1)浏览器向login.jsp2) jsp会创建一个对3) Jsp返回给浏览器一个登陆页面(html、js、该页面包含一行代码(ch

2、eckCode是一个请求地址4)浏览器立即给服务器发请求到CheckCodeServlet会生成一个随机数(验证数字)同时,CheckCodeServlet此时,用户在浏览器上看到完全的登录页面象上7)用户填写完表单后提交8) LoginServlet从对象中取到验证数字8) LoginServlet从对象中取到验证数字9) LoginServlet将number1与用户提交请求中的验证数字number2比较,如果匹配,则继正常的登录验证,不匹配则返回给浏览器信息不匹配案例演img1)新建2)新建4)部署项服务器立即打印4)部署项服务器立即打印说明浏览checkcode请1.3页面test.h

3、tml时,在执行语句时向服务器发送CheckcodeServlet代码如下package importimport importimportimportimportimport import importimportimportimportimportimport import importimportimportimportpublicclass CheckcodeServlet extends HttpServlet public void service(HttpServletRequestHttpServletResponsethrows ServletException, /* 1

4、设置服务器返回文件的格式为jpg格式/* 2 画图 BufferedImage image =new BufferedImage(60,Random r = new Random();/获得画Graphics g = /设置背景颜g.setColor(new /填充背景g.fillRect(0, 0, 60, /设置前景颜g.setColor(new /生成随String number = /画上g.drawStringg.setColor(new /生成随String number = /画上g.drawString(number, 5, /* 3并输出 /获得字节输出流,因为要输出的是图像

5、压缩/的字节数组,所以,不能用WriterOutputStreamos=/压缩,输JPEGImageEncoderencoder隐web.xml代码如下?xml web-app=1.0 encoding=UTF-h/xml/ns/j2ee/web-CheckcodeServlet/servlet-web.CheckcodeServletCheckcodeServlet/servlet-/checkcode/url-/web-隐test.html代码如下meta httptest.html代码如下meta http-equiv=Content-content=text/html; charset

6、=UTF-Insert title img 隐每次刷新会生成一个新的随增加更修改功1.4页面加。验证案拷贝day06的修改1.4页面加。验证案拷贝day06的修改添%page pageEncoding=utf-8 meta http-equiv=Content-Type content=text/html; charset=UTF-link rel=stylesheet type=text/css href=css/style.css div div div div div div 2009/11/20br div h1 a div div form action=regist.do tabl

7、ecellpadding=0cellspacing=0border=0 tdvalign=middle用户名td valign=middle inputtype=textname=usernameString msg = span style=color:red;font-%=(msg = null ? : tdvalign=middle真tdvalign=middle真:td valign=middle input type=text class=inputgri name=name tdvalign=middle:td valign=middle input type=password c

8、lass=inputgri tdvalign=middle:valign=middle男女tdvalign=middle:img id=img1 src=checkcode 换一张td valign=middle 换一张td valign=middle input type=text name=number input type=submit value=确认 div div 隐3.拷贝CheckedServlet到项目package importimport import import importimportimportimportimportimportimport;importimpo

9、rtimportimportimport;importimportpublicclass CheckcodeServlet extends HttpServlet public void service(HttpServletRequest HttpServletResponse throws ServletException,BufferedImage image =new BufferedImage(60,Random r = new /获得画Graphicsg=image.getGraphics(); new (255),g.fillRect(0, 0, 60, 20);g.setCol

10、or(newStringnumber=g.drawString(number, 5, /获得字节输出流,因为要输出的是图像压缩/的字节数组,所以,不能用WriterOutputStreamos=/压缩,输JPEGImageEncoder encoder = 隐4.修改部署隐4.修改部署应测点击“换一张”能验7.修改绑定生成的验证数字到注意:给用验7.修改绑定生成的验证数字到注意:给用户看的+验证数字;放入对象的是验证数8.修改添加“时比较用户输入验证数字和中取出的验证数字”的代package import importimportimport importimport import impor

11、t importimportimportimportimport importimport import import importimport;importimport import;publicionServlet extends public void service(HttpServletRequestrequest, HttpServletResponse response)throws ServletException, IOException request.setCharacterEncoding(utf-uri=request.getRequestURI(); path =

12、uri.substring(uri.lastIndexOf(/), (path.equals(/regist) /* 1 先比/1.1 表单提交String number1 = /1.2 中绑订=Stringnumber2(String) /用于测+ /当用户禁将失效,number2为(number2 != null number2.equals(number1) usernametry = new Useruser (number2 != null number2.equals(number1) usernametry = new Useruser (user = null) 户名不存在操u

13、ser = new User(); else / 用户名存在,则提示tribute(regist_error, 用户名已经存在equest,rcatch (Exception e) throw new else 错错误 else (path.equals(/login) username=pwd= new try User user(user != null & user.getPwd().equals(pwd) 录成/ 向中try User user(user != null & user.getPwd().equals(pwd) 录成/ 向中绑订= Id:+tribute(user,els

14、e 录失tribute(login_error, 用户名或错 catch (Exception e) throw new else if (path.equals(/logout) = 隐9.修改加入验证失败的%page pageEncoding=utf-8 http-equiv=Content-Type content=text/html; charset=UTF-rel=stylesheet type=text/css href=css/style.css http-equiv=Content-Type content=text/html; charset=UTF-rel=styleshe

15、et type=text/css href=css/style.css div div div 2009/11/20br div h1 a div div form action=regist.do tablecellpadding=0cellspacing=0border=0 tdvalign=middle用户名td valign=middle inputtype=textname=usernameString msg span style=color:red;font-%=(msg = null span style=color:red;font-%=(msg = null ? : tdv

16、align=middle真:td valign=middle input type=text tdvalign=middle:td valign=middle input type=password class=inputgri tdvalign=middle:tdvalign=middle男inputtype=radioname=gendarvalue=m女td valign=middle :img id=img1 src=checkcode a :img id=img1 src=checkcode 换一张td valign=middle input type=text name=numbe

17、r String msg2 = spanstyle=color:red;font-%=(msg2 = null ? /div div 隐重新部测成功,跳入登录成功,跳入登录加干扰线或干扰点(防止机器人识别13.修改购物车(提高题选做问购物车的购物车(提高题选做问购物车的主要功能商品列删除购物车当中的商修改购物车当中的商品的数先需要实现删除购物车当中的商修改购物车当中的商品的数先需要实现商品列表2.2商品功puter(id primarypprodDesc price double);ovalues(x200,x200.jpg,还算便宜,2000);ovalues(x500,x500.jpg,性

18、价比最好,4000);ovalues(x600,x600.jpg,性能不错,6000);step3 Computer实体step4step5Computer step6 ActionServlet类step7项目结建表&准备建表&准备数新建web工程新建3.启动MyEclipse数据库连接&执行数据3.启动MyEclipse数据库连接&执行数据之前配数据库,请参考servlet第2天课堂笔注意配置数据库连接时设置编a启动数据库b.执行数据实体类操作根据数据库表新建实体package public 实体类操作根据数据库表新建实体package public class Computer long

19、 private privateprivateprivateprivatedouble public Computer() public Computer(String,String pic, String prodDesc, double =this.pic = dDesc = this.price = public public publicpubliclong getId() return void setId(long id) dDesc = this.price = public public publicpubliclong getId() return void setId(lo

20、ng id) this.id = Stringvoid ()return (String ) = String getPic() returnvoid setPic(String public public public public publicpublicthis.pic = double getPrice() return void setPrice(double price) this.price= price; String getProdDesc() return prodDesc;void setProdDesc(String =隐导入jar拷贝package import im

21、port import* jdbc工具类,提供获得连接、关闭连接的* author *public class DBUtil public ic Connection throws Exception Connection conn= null; try conn=+catch (Exception e) throw e;return public ic catch (Exception e) throw e;return public ic void try; catch (SQLException e) public ic void main(String throws Exception

22、/TODOAuto-generatedmethod隐新方package;import import import importimportimportimportpublic class public ListfindAll()throwsExceptionListcomputers= new ArrayList();Connectionconnimportpublic class public ListfindAll()throwsExceptionListcomputers= new ArrayList();Connectionconnementprepselect*from Result

23、Set rst =Computer c =new return public ComputerfindById(longid)throwsExceptionComputerc=null;Connectionconnementprepselect*from prep.setLong(1, id); ResultSet rst =puterwherec = new c = new return c;隐测新建测试很重要7.拷贝css&html请拷贝computer_list.html到项目下,改名为新建添加查package 拷贝computer_list.html到项目下,改名为新建添加查packa

24、ge importimportimport import import importimport;import import importimport;publicionServlet extends public void service(HttpServletRequest HttpServletResponsethrows ServletException,Stringuri=request.getRequestURI(); String path =HttpServletResponsethrows ServletException,Stringuri=request.getReque

25、stURI(); String path =new try Listcomputerstribute(computers,.forward(request, catch (Exception e) throw new 隐?xml web-app=1.0 encoding=UTF-h/xml/ns/j2ee/web-ActionServlet/servlet-web.ActionServlet/servlet-ActionServlet/servlet-*.do/url-/servletActionServlet/servlet-*.do/url-/servlet-隐修%page pageEnc

26、oding=utf-8 contentType=text/html;charset=utf-%page import=java.util.*,entity.* /meta http-equiv=Content-Type content=text/html; charset=utf-body div table cellSpacing=6 cellPadding=2 width=100% 主页;href=#笔记本订购&;商品列br tableordercellPadding=0width=100%tdbr tableordercellPadding=0width=100%td 型号td 产td

27、产品说明td 产品报价td Listcomputers= for(Computer c = td&td imgsrc=img/d007/height=90td td td td a br value=name=settingsubmit隐部署应测查看功能实现实现图示演示不同用商品数据存放在不同查看功能实现实现图示演示不同用商品数据存放在不同中图示演示流程不再直的方法,而是绑定一个Cart对用商品时,只调用Cart的add方法进行操作,而不再直接操作删除(修改)时也一如此以后只要操作Cart类的方法就OK了,不再直接操作。这是一个经典的计Cart和CartItem伪实现步14.新建商品条目类,作

28、用是Cart和CartItem伪实现步14.新建商品条目类,作用是为了更方便实现购物车Cart的实package import*author publicclass privatec;privatepublic Computer getC() return void setC(Computer c) this.c = getQty() return qty;void qty) public Computer getC() return void setC(Computer c) this.c = getQty() return qty;void qty) publicpublic public

29、=隐15.新建package import import *购物实现了商品的添加、删除、列表、清空、author public class Cart /items的所有商privanewist items publicadd(CartItem /先判断有没过该商品,如果买/则返回false,否则,添加到itemsfor(CartItem curr = items.get(i); if(curr.getC().getId() = item.getC().getId()return return true;public List list()return items;public void id)

30、for(public List list()return items;public void id)for(CartItemcurr=if(curr.getC().getId() = id) return;public clear()items.cle public void modify(long qty)for(CartItem curr = items.get(i); if(curr.getC().getId() = id)return;public doubletotal()double total= for(i=0;iitems.size();i+)CartItem curr = i

31、tems.get(i);total += curr.getQty() * 隐修添的地17.修改实功package importimport隐修添的地17.修改实功package importimportimportimportimportimport import;importimportimport import;publicionServlet extends public void service(HttpServletRequestHttpServletResponsethrows ServletException, IOException Stringuri=Stringpathif

32、(path.equals(/list) Stringuri=Stringpathif(path.equals(/list) =newtry Listcomputerstribute(computers,.forward(request, catch (Exception e) throw new else long id = =new Computer c = CartItemitem = new =Cartcart=(Cart)sesif(cart=null)/如果是第一/然后绑订到,需要先创建好cart对cart = new tribute(cart, flag=/已过该商品,则提示tribute(buy_error + .forward(request, else.forward(request, elsecatch (Exception e) thro

温馨提示

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

评论

0/150

提交评论