1、网上书店信息系统分析设计报告网上书店网站实验报告1、项目说明网上书店:顾名思义,网站式的书店。是一种高质量,更快捷,更方便的购书方式。网上书店不仅可用于图书的再线销售,也有音碟、影碟的在线销售。而且网站式的书店对图书的管理更加合理化,信息化。售书的同时还具有书籍类商品管理、购物车、订单管理、会员管理等功能,非常灵活的网站内容和文章管理功能。但网上书店的真实性是消费者的最大顾虑,这也是网上书店还不被大多数消费者所接受的原因之一。在网上书店买书,可以查到所买图书的更多信息,因为网上书店是一个网站,它有它独特的售书方式和功能。如用户注册会员功能等,会员类型有:高级会员、金牌会员等。有的网上书店有会员
2、积分设置,如达到一定积分时自动成为高级会员,高级会员会有优惠和特别的服务。还有就是支付方式了,一般网上书店都有三种类型的支付方式:汇款类支付、在线支付、其他支付方式,其中在线支付只要到支付平台开户后,将所获开户信息填入即可。当在网上书店购书后,用户所购图书都在网站上有记录,方便用户查询。2、需求分析网上书店和现实书店区别比较:网上书店的优势:涉及范围广,经营成本低,劣势:信用度如果低,影响生意;现实书店的优势:直观,信用度高。劣势:涉及范围有限,经营成本高;现在有部分现实书店已经开始从网上书店进货了。本系统开发的目的是为了学习这样去做一个交互式的网页以及了解这种强大的网络编程工具,方便客户端和
3、浏览器端之间的交流。数据库采用实用,易学的SQL Sever 2000,以Tomcat作为JSP的WEB服务器,XP作为系统运行平台。3、总体设计(1)实验目的: 1利用本次机会来了解JSP一般的技术及使用模式,并能够使用这种技术,建立 一个简单的论坛网站。 2通过本次学习,使自己巩固所学过的书本理论知识,加深对相关内容的理解。(2)实验要求: 要基本了解JSP编程技术,学会使用JSP开发一个小型网站的基本知识,巩固数据库基本理论,并用于开发一个小型的网站。 三技术简介 JavaServer Pages(JSP)是一种实现普通静态HTML和动态HTML混合编码的技术,许多由CGI程序生成的页面
4、大部分仍旧是静态HTML,动态内容只在页面中有限的几个部分出现。但是包括Servlet在内的大多数CGI技术及其变种,总是通过程序生成整个页面。JSP使得我们可以分别创建这两个部分。(3)系统设计特点: 网上书店具有: (1)提供了全面,详细的图书购物入口,轻松实现快捷购买。 (2)可以通过不同分类进行导航,用最方便,最快捷的方式找到你需要的图书。 (3)提供了图书购物所需的各种工具与网站,满足你的图书购买需求。(4)公正性很强 (大站.专站.小站)排列顺序分明.公平公正的图书网址TOP排行4、数据库设计本系统使用数据库引擎为HSQLDB。数据库文件SIMS(student informati
5、on management system)。该系统表:1 图书基本信息表(book) 2 图书分类基本信息表(bookcat) 3 客户基本信息表(storeuser) 4 订单信息表(orders) 5 订单条目详细信息表(orderdetails) = 1 = 字段名 描述 类型 id 图书编号 int catid 图书分类编号 int name 图书名称 varchar price 图书价格 int saleprice 销售价格 int descript 图书介绍 varchar author 图书作者 varchar contents 图书目录 varchar image 图书封面图片
6、存放路径 varchar = 2 = 字段名 描述 类型 id 图书分类编号 int catname 图书分类名称 varchar = 3 = 字段名 描述 类型 username 用户名 varchar password 密码 varchar name 客户姓名 varchar tel 客户电话 varchar address 客户地址 varchar email 客户电子邮件地址 varchar = 4 = 字段名 描述 类型 id 订单编号 int username 订单对应用户名 varchar time 产生订单的时间 smalldatetime delivery 订单对应送货方式
7、varchar payment 订单对应付款方式 varchar = 5 = 字段名 描述 类型 orderid 订单编号 int bookid 图书编号 int count 订购数量 int price 该条目对应价格 int建立数据库1、2、数据库连接package s2jsp.lg.dao.impl;import java.sql.*;public class BaseDao public final static String DRIVER = com.microsoft.jdbc.sqlserver.SQLServerDriver; / 数据库驱动 public final stat
8、ic String URL = jdbc:microsoft:sqlserver:/localhost:1433;DataBaseName=bbs; / url public final static String DBNAME = ; / 数据库用户名 public final static String DBPASS = sa; / 数据库密码 /* * 得到数据库连接 * throws ClassNotFoundException * throws SQLException * return 数据库连接 */ public Connection getConn() throws Clas
9、sNotFoundException, SQLException Class.forName(DRIVER); /注册驱动 Connection conn = DriverManager.getConnection(URL,DBNAME,DBPASS); /获得数据库连接 return conn ; /返回连接 /* * 释放资源 * param conn 数据库连接 * param pstmt PreparedStatement对象 * param rs 结果集 */ public void closeAll( Connection conn, PreparedStatement pstmt
10、, ResultSet rs ) /* 如果rs不空,关闭rs */ if(rs != null) try rs.close(); catch (SQLException e) e.printStackTrace(); /* 如果pstmt不空,关闭pstmt */ if(pstmt != null) try pstmt.close(); catch (SQLException e) e.printStackTrace(); /* 如果conn不空,关闭conn */ if(conn != null) try conn.close(); catch (SQLException e) e.pri
11、ntStackTrace(); /* * 执行SQL语句,可以进行增、删、改的操作,不能执行查询 * param sql 预编译的 SQL 语句 * param param 预编译的 SQL 语句中的?参数的字符串数组 * return 影响的条数 */ public int executeSQL(String preparedSql,String param) Connection conn = null; PreparedStatement pstmt = null; int num = 0; /* 处理SQL,执行SQL */ try conn = getConn(); / 得到数据库连
12、接 pstmt = conn.prepareStatement(preparedSql); / 得到PreparedStatement对象 if( param != null ) for( int i = 0; i 1) try bookTypeId=Integer.parseInt(bookTypeIdStr); catch (Exception e) e.printStackTrace(); if(bookTypeId=0) return null; bookTypeBean bookType=new bookTypeBean(); String sqlString=select * fr
13、om book_type where type_id=+bookTypeId; ResultSet rs=this.executeQuery(sqlString); try if(rs.next() bookType.setBookTypeId(rs.getInt(type_id); bookType.setBookTypeName(rs.getString(type_name); catch (SQLException e) e.printStackTrace(); return bookType; /*(6) 更新书藉分类:* param bookTypeId:类型ID号 * param
14、bookTypeName:类型名称 * return int:返回更新的行数 */ public int updateBookType(int bookTypeId,String bookTypeName) if(bookTypeId=0|bookTypeName=null|bookTypeName.length()=0) return 0; /-构造SQL语句- String sqlString=update book_type set type_name=+bookTypeName + where type_id=+bookTypeId; /-执行SQL语句- int i=this.exe
15、cuteUpdate(sqlString); return i; /*(7)新增一个书藉类型:*/ public int insertBookType(String bookTypeName) int i=0; /-构造SQL语句- String sqlString=insert into book_type(type_name) values(+bookTypeName+); /-执行SQL语句- i=this.executeUpdate(sqlString); return i; /*(8)删除一个书藉类型:* param bookTypeId:要删除的类型ID号 * return int
16、:返回删除的类型个数 */ public int deleteBookType(int bookTypeId) int i=0; /-构造SQL语句- String sqlString=delete book_type where type_id=+bookTypeId; /-执行SQL语句- i=this.executeUpdate(sqlString); return i; public ArrayList getBookTypeArray() return bookTypeArray; public void setBookTypeArray(ArrayList bookTypeArra
17、y) this.bookTypeArray = bookTypeArray; public String getBookTypeIdStr() return bookTypeIdStr; public void setBookTypeIdStr(String bookTypeIdStr) this.bookTypeIdStr = bookTypeIdStr; (9)网上书店系统中所有的报错信息都保存在一个“.properties”文件中,文件内容如下:book.bookNameNull=书藉名没有输入!book.typeIdNull=书藉所属类型没有选择!book.priceNotFloat=
18、价格不为数字!book.priceRebateNotFloat=折扣输入不正确!book.publishDateError=出版日期输入有误!book.pageCountError=页数不为数字!addbook.insertError=插入新书时出错!updatebook.updateError=更新书藉信息时出错!bookType.bookTypeHaved=书藉类型已存在!bookType.insertError=插入新的书藉类型时出错!booktype.updateError=更新书藉类型信息时出错!user.userNameNull=用户名输入为空!user.userPasswordN
19、ull=用户密码输入为空!user.passwordNotEqual=两次输入的密码不一致!user.insertError=插入新的用户时出错!user.certCodeError=验证码不对!user.userError=用户名或密码输入有误!user.sessionError=用户会话已失效!orderform.newError=生成新的订单时出错! orderform.saveError=保存订单时出错!(10):CREATE TABLE members ( member_id int auto_increment primary key, member_login varchar(20) NOT NULL, member_pas
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1