欢迎来到天天文库
浏览记录
ID:44945377
大小:415.00 KB
页数:32页
时间:2019-11-05
《第13章 JSP实例开发2—购物车》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第13章JSP实例开发2—购物车13.2系统业务流程13.3数据表设计13.4文件结构设计13.5公共模块设计13.1实例开发实质13.7查看购物车13.8修改商品购买数量13.9在购物车中移除指定商品13.10收银台结账13.6添加至购物车13.1实例开发实质在商场或超市中,人们购买很多东西时,往往要将购买的商品放在商场为购物者准备的一种特殊的车子里,这种车子就叫购物车。随着网络的发展,网上购物已经成为一种潮流。那么,如何才能保证用户在网上购物时,也能像在现实中一样将希望购买的商品“随身携带”呢?在网上商城应用中,也包含一个购物车模块,这个
2、购物车就是一辆虚拟的超市购物车,用户可以通过购物车模块实现和现实购物车完全相同的功能,其中包括:将商品添加至购物车,查看购物车,修改购物车中商品数量,在购物车中移除指定商品,结账等。本章设计的购物车系统采用JSP+Servlet+JDBC整合开发,使用的数据库为MYSQL5.0。通过本章学习,读者可以掌握JSP、Servlet和JDBC三者的结合使用,并且了解MYSQL5.0的实际项目中的应用,更加熟练的应用session开发具体项目。返回系统的业务流程如图所示:13.2系统业务流程返回本系统中使用的数据表分别为用户表,商品表,用户订单表,用户
3、订单商品表。数据表树形结构图如图所示13.3数据表设计返回13.4文件结构设计(1)本系统中用于存放商品图片的文件夹和存放类的文件夹的文件结构图如图所示:13.4文件结构设计(2)用于存放工程信息的文件夹和工程中JSP页面文件的文件结构图如图所示:返回13.5公共模块设计13.5.2编码转换类设计13.5.3交易流水号生成类设计13.5.4系统配置13.5.1数据库连接类设计返回数据库连接类设计本系统使用的数据库为MySQLServer5.0。将该数据库的驱动类库安装到系统后就可以编写数据库连接类,在数据库连接类DBConnector.java
4、中新建返回值为java.sql.Connection类型的方法getConnection,该方法用于返回数据库连接。首先需要在此方法中定义几个变量,这些变量用于得到数据库的用户名,密码和数据库连接URL,代码如下:Stringuser="root";//用户名变量Stringpsw="111";//密码变量Stringurl="jdbc:mysql://localhost:3306/shoppingcart?user="+user+"&password="+psw+"&useUnicode=true&characterEncoding=GBK"
5、;//数据库连接URL定义Connection类型变量conn,同时加载数据驱动,使用DriverManager的getConnection()方法初始化变量conn,同时将其返回,代码如下:Class.forName("org.gjt.mm.mysql.Driver").newInstance();//加载数据库驱动Connectionconn=DriverManager.getConnection(url);//初始化数据库连接变量returnconn;(详细代码参见教材)返回publicstaticStringtoChinese(Stri
6、ngstrvalue){try{if(strvalue==null){return"";//如果参数strvalue为空则返回空串}else{strvalue=newString(strvalue.getBytes("ISO8859_1"),"GBK");//将编码转换为GBKreturnstrvalue;//将转换后的字符串返回}}catch(Exceptione){return"";e.printStackTrace();//捕获异常,返回空串并输出错误信息}}编码转换类设计为了让JSP页面中可以显示汉语,我们需要改变其编码集为GBK,这时
7、就会产生问题:Servlet默认处理的编码集为ISO8859_1,但是页面中所传递数据的编码集却为GBK,此时就会出现传递数据无法被Servlet识别的情况。为处理这个问题,我们需要在公共模块中加入用于处理编码转换的类“Chinese.java”,该类中的方法toChinese()将编码转换后的字符串返回。主要代码如下:返回交易流水号生成类设计用户进行结账时,需要将其账单储存到数据库中,同时对该交易生成一个流水号以便日后查询。这个流水号由交易的日期时间以及用户的id组成。类“CodeCreator.java”中的方法createAccountc
8、ode()返回交易流水号,该方法代码如下:publicStringcreateAccountcode(Integeruserid){SimpleDat
此文档下载收益归作者所有