基于java Web 的在线拍卖系统_第1页
基于java Web 的在线拍卖系统_第2页
基于java Web 的在线拍卖系统_第3页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、华 北 科 技 学 院课程设计说明书技能训练类(三)学 号 : 201207034102班级: B121 设计题目: 在线拍卖系统 设计地点: 基础五 设计时间: 2015.3.10 至2015.4.17成绩评定:1、工作量:A(,B(,C(,D(),F()2、难易度:A(,B(,C(,D(),F()3、答辩情况:基本操作:A(B(,C(,D(),F()代码理解:A(B(,C(,D(),F()4、报告规范度:A(,B(,C(,D(),F()5、学习态度:A(,B(,C(,D(),F()总评成绩: 指导教师: PAGE PAGE 141、 课程设计的目的技能训练的内容围绕一个信息管理系统的实际开

2、发过程进行组织,重点在于程序设计开发部分。信息管理系统的题目由教师指定或学生自行拟定,学生根据教师提出的系统在应用环境、系统规模、数据量、业务流程等方面的要求,进行需求分析、数据库设计、数据库实施、程序开发和测试,最终完成系统。技能训练的目的和要求:使学生巩固和加强java基础与课程的理论知识。使学生掌握程序设计开发的步骤。model2 以上的开发系统的方法。使学生掌握使用数据库管理信息数据的方法。等程序设计语言连接和操作数据库的方法。使学生掌握调试程序的基本方法及上机操作方法。2、 软件需求分析和总体设计软件功能B/S 资源。包含的功能有:查看竟得物品浏览流拍物品管理种类管理物品浏览拍卖物品

3、查看自己的竞标功能模块框图下图所示(2-1-:物物类品物的页品品竞标的浏浏查览管管览看返流理理拍自回注拍种物卖己首销刷登录查看自己已经竞得的物品新登录查看自己已经竞得的物品新显添示加种种类类查看自己拍卖物品添加自己要拍卖物品查看当前拍卖物品种类竞标记录查看详细竞拍物品竞拍设计模式拍卖系统采用 Model2 设计,即代码结构。JSP+Servlet+JavaBean。2-2-1JSP 技术来表现页面,通过Servlet 技术来完成大量的事务处理工作。在model2 中,Servlet 用来处理请求的事务,充当着一个控制者的角色,并负责向客户端发送请求。Servlet JSP Bean JSP 页

4、面发送给用户。JSP 页面没有任何商业处理逻辑,JSP 页面只是简单地检索ervlet 先前创建的 Bean和对象,再将动态内容插入到预定义的 HTML 模板中。Model2MVC 架构模式,即(Model-View-Controlle。MVC 设计模式模式三部分组成。模型是应用对象,没有用户界面;视图表示在屏幕上的显示,代表流向用户的数据;控制器定义用户界面对用户输入的相应方式,负责把用户的动作转成对 Model 的操作;Model 通过更新 View 的数据来反映数据的变化。2-2-2优点:各司其职、互不干涉、有利于开发中的分工、有利于组件的重用 数据库设计数据库设计为五个表:auctio

5、n_user、kind、item、bid、stateauction_user:用户表。存放用户数据:字段名字段名User_idUsername字段说明id用户名字段类型intvarchar(50)字段约束PKNot UNIQUENot nullNot nullnullUserpassemail用户密码emailvarchar(50)varchar(100)2-3-1kind:种类表,存放种类信息。字段名Kind_idKind_name字段说明 种类名字段类型intvarchar字段约束PKauto_increment Not nullKind_descKind_desc种类描述varcharN

6、ot null2-3-2state:状态表,存放物品状态信息。字段名State_id State_name字段说明 物品状态名字段类型intvarchar2-3-3字段约束PKauto_increment default nullitem:auction_user,kind,state。字段名字段说明字段类型字段约束Item_id物品 idintPKauto_incrementItem_name物品名称varcharNot nullItem_remark物品标注varcharNot nullItem_desc物品描述varchardefault nullKind_id物品的种类IntForei

7、gn keyNot nullAddtime物品起拍时间dateNot nullEndtime拍卖物品截止dateNot null时间Init_price物品拍卖底价doubleNot nullMax_price物品拍卖最高doubleNot null价Owner_id物品的所有者IntForeign key Not nullWiner_id赢取物品者IntForeign keydefault nullState_id物品的状态intForeign keyNot null2-3-4bid:item。字段名字段说明字段类型字段约束Bid_id竞拍 id 号intPKauto_incrementUs

8、er_id用户 idintForeign keyNot nullItem_id物品 idintForeign keyNot nullBid_price竞拍价格doubleNot nullBid_date竞拍日期dateNot null2-3-5类图设计(1)类主要包括:data 类存放封装的数据:2-4-1Dao 类主要存放对数据库操作的代码:2-4-2Manager 类主要存放对实体类的操作代码:2-4-3Servlet 类主要存放处理页面请求的数据的代码:2-4-4(2)概念类图如下:Maneger+add()+search()+updata()ServletManeger+add()+s

9、earch()+updata()Servlet+doPost()+doGet()Dao+connect()dataAttribute1+get()+set()2-4-53、 程序实现说明如果未登录,点击任何连接进入登录界面:3-1登陆时候用户名与密码不匹配会有提示信息如果没有账号进入用户注册界面:关键代码实现:3-2if(aud.findUser(username, userpass)!=null) session.setAttribute(register,error);RequestDispatcher rq = request.getRequestDispatcher(/register

10、.jsp); rq.forward(request, response);elseum.addUser(au); session.setAttribute(register,ok);RequestDispatcher rq = request.getRequestDispatcher(/login.jsp);rq.forward(request, response);查看自己竞得物品界面:3-3配置 servlet:ViewWincom.blue.servlet.ViewWinViewWin/ViewWin浏览流拍物品界面:图 3-4关键代码是对数据库视图查询的操作:public ArrayL

11、ist getWinItem(int userid) ArrayList list = new ArrayList(); Win win = null;double winprice = 0;if(m.createCon()Stringsql=select*fromwinwherewiner_id=+userid+andstate_id=2; m.query(sql);while(m.next() try item = new Item(); item.setItem_name(m.getRs().getString(item_name); kind = new Kind(m.getRs().

12、getString(kind_name); winprice = m.getRs().getDouble(max_price); item.setItem_remark(m.getRs().getString(item_remark); win = newWin(item,kind,winprice);list.add(win); catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace();m.close();return list; 管理物品种类页面:3-5添加物品使用了存储过程向数据库添加。if(

13、m.createCon()String sql = exec Insert_Kind kind_name=?,kind_desc=?;try PreparedStatement ps =m.getCon().prepareStatement(sql); ps.setString(1,kind.getKind_name();ps.setString(2, kind.getKind_desc();int num=ps.executeUpdate(); catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace

14、();管理物品页面:3-6添加物品的时候关联种类表,物品种类下拉菜单是动态的。浏览拍卖物品界面:3-7查看自己竞标记录界面:3-8id,刷新数据库的实现:public voidupdateItemState() Dated= newDate();java.text.SimpleDateFormat dateFormat = newjava.text.SimpleDateFormat(yyyy-MM-dd); String s = dateFormat.format(d);/可以连接一次/将到期的物品如果init_pricemax_price则状态更新为2if(m.createCon()Stri

15、ngsql=updateitemsetstate_id=2 where endtime+s+and init_pricemax_price m.update(sql);m.close();/将到期的物品如果init_price=max_price则状态更新为3,说明没有人拍卖if(m.createCon()Stringsql1=updateitemsetstate_id=3 where endtime+s+and init_price=max_price m.update(sql1);m.close();4、 程序测试说明单步方法测试写好一个方法后,在对应类里写一个main 方法。测试该方法是否能达到指定功能,如果不能则需要修改代码。这种测试虽然比较费时,但可以避免很多以后的错误。功能点测试完成一个功能后测试还功能情况。经测试基本能正确实现全部功能。数据测试输入错误数据,测试程序反映。例:当登陆时候出现用户名与密码不匹配的时候提示错误信息:4-15、 程序总结通过三周的课程设计,我完成了这个简易的拍卖系统,算是完成了自己一个阶段的学习。做这个项目的过程中我收获了很多,具体如下: Server 2008JSP+JavaBean+Servl

温馨提示

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

评论

0/150

提交评论