《基于javaEE的网上游戏角色皮肤商店系统的实训报告(15页).doc》由会员分享,可在线阅读,更多相关《基于javaEE的网上游戏角色皮肤商店系统的实训报告(15页).doc(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-基于javaEE的网上游戏角色皮肤商店系统的实训报告-第 12 页基于JAVA开发设计实训课设报告桂林电子科技大学海洋学院课设选题:基于JavaEE设计的游戏角色皮肤商店专业:计算机科学与技术日期:2016年10月11日组长学号:组长姓名:目录一、 绪论1二、项目的需求分析2三、项目的概要设计33.1功能设计33.2数据库设计4四、项目的详细设计6五、总结17参考文献18一、 绪论随着网络的发展,基于计算机对信息管理的高效性,各种信息管理平台跃入人们的视野。其中,网上商店就是典型的信息管理系统(MIS)。本系统是基于JavaEE三层结构的B/S(Browser/Server)模型软件,包含以
2、下三个部分:表示层、业务逻辑层和数据访问层。结合MVC框架模式的分层结构,将应用分成Model(模型)、View(视图)、Control(控制)3个部分。3个部分以最少的耦合协同工作,从而提高了应用的可扩展性和可维护性。它使用了目前最为流行的Java语言,结合JSP技术,在MyEclipse集成开发环境下编写,用户界面友好。其中B/S结构得以让数据在浏览器上显示,数据处理在服务器上进行,用户不必安装客户端,而且数据通过服务器端的统一管理,保证其一致性。另外系统使用小型关系型数据库MySQL作为网站的后台数据库系统。本系统总体可分成两大基本功能:前台管理和后台管理。前台管理主要包括用户注册、登录
3、、注销、浏览商品、订购商品、提交订单、查看信息等功能。后台管理主要包括登录、维护、订单处理、确认订单、发送订单等功能。通过对各个模块的实现、集成,最后完成的系统可以为用户提供基本的服务,并且可以根据管理员的需要,对用户的信息以及商品信息实施管理。对于不同的使用者,系统的功能与业务逻辑是不完全相同的。对于用户而言,系统主要向用户展示一个友好美观的界面,方便用户浏览各类商品信息,查询商品信息,以及订购商品。而管理员则需要在后台维护这些数据。本系统的主要功能是实现用户购买,用户通过查询商品信息,找到满意的,将这些商品添加到购物车,进而完成购买。二、项目的需求分析网上皮肤商店基于JavaEE三层结构的
4、B/S(Browser/Server)模型软件,B/S模型是目前最为流行的体系结构,它无须开发客户端软件,维护和升级方便;可跨平台操作,任何一台机器只要装有WWW浏览器软件,均可作为客户机来访问系统;具有良好的开放性和可扩充性;可采用防火墙技术来保证系统的安全性,有效地适应了当前用户对管理信息系统的新需求。因此该结构在信息技术领域中获得巨大成功。结合MVC框架模式的分层结构,将应用分成Model(模型)、View(视图)、Control(控制)3个部分。3个部分以最少的耦合协同工作,从而提高了应用的可扩展性和可维护性。按这种模式设计的程序,多个视图可以对应一个模型,模型返回的数据与显示逻辑分明
5、,程序结构清晰,易于维护。它使用了目前最为流行的Java语言编写,拥有稳定、可移植、安全等优点,结合JSP技术,在MyEclipse集成开发环境下完成,用户界面友好。其中B/S结构得以让数据在浏览器上显示,数据处理在服务器上进行,用户不必安装客户端,而且数据通过服务器端的统一管理,保证其一致性。另外系统使用小型关系型数据库管理系统MySQL作为网站的后台数据库系统,体积小、速度快。由于对JavaEE及MySQL的熟悉,通过自身的专业知识结合实际情况,此系统的编写与实现是可行的。同时,网页的实现遵循兼顾美观与高效的原则,使整个网站在保证功能的前提下,给浏览者带来良好的视觉享受。伴随着计算机网络技
6、术的普及和应用,即使是非专业人士也已经对计算机的基本操作和维护有了一定的了解和认识,本网站在进行界面设计时,充分考虑到顾客及管理员的习惯,严格依据用户界面设计的原则和规范,操作简单明了,统计准确,适应力强,容易扩充,数据的输入等规范可靠。系统分成前台和后台两大部分。前台针对于普通用户。游客进入网站,可查阅图书信息,注册成为网站用户,用户名进行登录,登陆后可进行购买等操作,游客则不能。后台针对于管理员。管理员登陆后,可进行商品信息的删除操作,以及订单管理。系统严格依据用户界面设计的原则和规范进行设计,易用、规范、合理、美观协调。网上皮肤商店的主要功能就是让用户能够足不出户就可以购买到自己想要的商
7、品,所以网上商店系统主要提供如下功能: 用户能够使用本网站完成商品的浏览、查询和购买。 普通用户只能浏览商品信息,浏览分为3种方式:按类别浏览、按条件浏览、查询商品。 普通用户通过注册成为注册用户,注册后的用户可以登录。 注册用户登录后可以进行在线商品购买,购买的商品存放在购物车中,可以对购物车中的商品数量进行修改、删除。调整好购物车中内容后,可以把该内容保存到订单中,在保存订单的时候要求用户填写送货地址和联系方式。订单提交后用户可以开始新的购物过程。 对于后台系统,要求可以进行商品目录的维护,订单可以查询详细信息,对留言板的信息进行管理。三、项目的概要设计3.1功能设计表3-1给出了商店的模
8、块划分模块名子功能描述首页网站首页最新商品和特价商品信息,登录界面,类别分类管理员管理管理员登陆提供用户名、密码后可以登录系统用户管理用户登录提供用户名、密码后可以登录系统用户注册填写详细资料后成为正式注册用户商品浏览浏览所有商品列出所有商品,并且分页显示按类别查询根据选择的类别查询出所有商品按名称模糊查询根据名称和类别做模糊查询商品订购添加到购物车把需要的商品添加到购物车浏览购物车显示购物车中的内容删除购物车的商品购物车中的商品可以删除保存购物车到订单把购物车的内容保存到订单中后台订单管理浏览商品订单显示商品订单信息删除商品订单信息删除商品订单信息 表示已经完成了该订单表3- 1功能划分表3
9、.2数据库设计系统数据库命名为bookstore,8个数据表分别为admin(管理员)、user(用户)、replytable(回复)、catelog(商品分类)、book(商品)、orders(订单)、orderitem (订单项)、messa(留言)。1.商店管理员表(admin):管理员登陆是需要管理员账户和密码的,所以管理员数据表中必须包含账户(name)和密码(password),从功能上数据表的设计,如表3-2所示。列名数据类型空值namevarchar(45)非空passwordvarchar(45)非空表3- 2管理员数据表2.用户表(user):用户id(userid),用户
10、名(username),密码(password),性别(sex),年龄(age)。如表3-3:列名数据类型空值useridint(11) unsigned非空主键usernamevarchar(45)非空passwordvarchar(45)非空sexvarchar(45)ageInt表3- 3用户数据表3.商品分类表(catelog):id(catelogid)和类名(catelogname)。如表3-4:列名数据类型空值catelogidint(11) unsigned非空主键catelognamevarchar(45)非空表3- 4图书分类数据表4.商品表(book):商品id(book
11、id)、书名(bookname)、价格(price)、图片(picture)等,与商品分类表是一对多的联系,使用外键cat_id进行关联。具体如下表4-5:列名数据类型空值bookidint主键非空catelogidint外键非空booknamevarchar(45)非空priceint非空picturevarchar(45)非空表4 -5商品数据表5.订单项表(orderitem):订单项编号(orderitemid)、商品编号(bookid)、订单编号(orderid)。订单项表与订单和商品是一对多的关系,两张表通过订单号(orderid)和商品分类编号(catelogid)进行关联。具体
12、如表5-6所示。列名数据类型空值orderitemidint(11) unsigned主键非空bookidint(11) unsigned zerofill外键2非空orderidint(11) unsigned zerofill外键1非空quantityfloat非空表5- 6订单项表6.订单表(orders):订单编号(orderid)、用户编码(userid)、订单日期(orderdate)等。订单表与订单项、用户都存在一对多的关联,使用外键用户编码(orderid)和书号(ordeid)关联。如表6-7:列名数据类型空值orderidint非空主键useridint非空外键orderd
13、atetimestamp非空表6- 7订单表7.留言(messa):具体如表7-8。列名数据类型空值namevarchar(45)sexvarchar(45)emailvarchar(45)subjectvarchar(45)memovarchar(45)表7-8留言8.回复(replytable):具体如表8-9。列名数据类型空值namevarchar(45)subjectvarchar(45)replyvarchar(45)timetimestamp表7-8留言四、项目的详细设计从前面的需求分析中我们得知,可以将网上皮肤商店的功能分为前台功能实现和后台功能实现,因此模块课分为两类,前台和后
14、台。系统模块层次图,如图所示:图4- 1功能模块图普通用户管理员用户前台商品浏览模块个人信息管理购物车模块订单、结算模块留言板管理商品信息查看商品信息管理订单管理MyPetShop网站图4- 1系统流程图皮肤商店主界面模块设计的实现:图4 3主界面1.用户注册模块设计的实现,如图:图4 4用户注册2.用户登录模块设计的实现:图4- 5用户登录3.管理员登录界面设计,如图4-6:图4- 6管理员登录 4.在搜索栏中输入查询的信息,皮肤名,可实现查询功能,如图:图4- 7搜索栏5.用户选择自己要买的皮肤添加到购物车中,然后填写收货的相关信息生成订单。以及订单查看,如下图:图4-8皮肤购买图4-9查
15、看订单6.管理员的管理界面如下图4-10理员管理订单和留言板7.以下为留言板的功能界面8.添加皮肤到购物车图4- 11类图4- 12品添加9.用户FQA的界面如下:10.订单的删除图4- 13订单管理1.以下为购物车逻辑实现代码1/添加到购物车public String addToCart() throws ExceptionBook book=bookService.getBookbyId(bookid);Orderitem orderitem=new Orderitem();orderitem.setBook(book);orderitem.setQuantity(quantity);Ma
16、p session=ActionContext.getContext().getSession();Cart cart=(Cart)session.get(cart);if(cart=null)cart=new Cart();cart.addBook(bookid, orderitem);session.put(cart,cart);return SUCCESS;/删除购物车public String updateCart() throws ExceptionMap session=ActionContext.getContext().getSession();Cart cart=(Cart)
17、session.get(cart);cart.updateCart(bookid, 0);session.put(cart, cart);return SUCCESS;/确定订单public String checkout() throws ExceptionMap session=ActionContext.getContext().getSession();User user=(User)session.get(user);Cart cart=(Cart)session.get(cart);if(user=null | cart =null)return Action.ERROR;Orde
18、rs order=new Orders();order.setOrderdate(new Date();order.setUser(user);for(Iterator it=cart.getItems().values().iterator();it.hasNext();)Orderitem orderitem=(Orderitem)it.next();orderitem.setOrders(order);order.getOrderitems().add(orderitem);orderService.saveOrder(order);Map request=(Map)ActionCont
19、ext.getContext().get(request);request.put(order,order);return SUCCESS;2. 以下为购物车逻辑实现代码2/添加商品到购物车public void addBook(Integer bookid,Orderitem orderitem)/是否存在,如果存在,更改数量/如果不存在的话,添加入集合if(items.containsKey(bookid)Orderitem _orderitem=items.get(bookid);orderitem.setQuantity(_orderitem.getOrderitemid()+orde
20、ritem.getQuantity();items.put(bookid,_orderitem);elseitems.put(bookid,orderitem);/更新购物车的购买商品数量public void updateCart(Integer bookid,int quantity)Orderitem orderitem=items.get(bookid);orderitem.setQuantity(quantity);items.remove(bookid);/items.put(bookid, orderitem);/计算总价格public int getTotalPrice()in
21、t totalPrice=0;for(Iterator it=items.values().iterator();it.hasNext();)Orderitem orderitem=(Orderitem)it.next();Book book=orderitem.getBook();int quantity=orderitem.getQuantity();totalPrice+=book.getPrice()*quantity;return totalPrice;3.以下为查看和删除订单的逻辑实现代码String id=request.getParameter(id); /从表单获得 Stri
22、ng name=(String)session.getAttribute(username); /从表单获得 try /* 连接数据库参数 */ String driverName = com.mysql.jdbc.Driver; /驱动名称 String DBUser = root; /mysql用户名 String DBPasswd = ; /mysql密码 String DBName = bookstore; /数据库名 String connUrl = jdbc:mysql:/localhost/ + DBName + ?user= + DBUser + &password= + DB
23、Passwd; String query_sql = select book.bookname,book.price,orders.orderid,user.username,orders.orderdate from book,orders,user,orderitem where user.userid=orders.userid and orderitem.bookid=book.bookid and orderitem.orderid=orders.orderid and user.username=+name+; String delete_sql = ; Class.forName
24、(driverName).newInstance(); Connection conn = DriverManager.getConnection(connUrl); Statement stmt = conn.createStatement(); try if(id != null & id != ) out.println(已经完成了订单号为 + id + 的订单。); delete_sql = delete orderitem.*,orders.* from orderitem,orders where orderitem.orderid=orders.orderid and order
25、s.orderid=+id; elseout.println(=查看订单=); catch(Exception e) e.printStackTrace(); try stmt.execute(delete_sql); catch(Exception e) e.printStackTrace(); try ResultSet rs = stmt.executeQuery(query_sql); if(rs!=null)while(rs.next() 订单号: 皮肤名: 价格: 用户名: 订单时间: elseout.println(没有订单!);catch(Exception e) e.prin
26、tStackTrace(); stmt.close(); conn.close(); catch (Exception e) e.printStackTrace(); 五、总结(1) 系统完成情况1316040139 银杰通过这次课设终于完成了基于JavaEE设计的游戏角色皮肤商店系统的设计。尽管系统在功能和性能上可能还有一些缺陷,但是我已经完成了系统设计的任务和目标,达到了需求分析的基本要求,成功完成了JavaEE课程设计。(2) 未能完成的和有待改进之处 未完成的:数据库缺少一些功能表,后台管理功能缺少一些商品的管理的功能绑定游戏区号的角色,让角色与皮肤匹配等待改进:商品搜索的设计还不够完
27、善以及留言板的完善,后台管理的完善比如进行查看,修改,删除等操作。其中,商品信息管理和用户信息管理中,管理员可以添加用户以及商品相关信息,一些逻辑上的问题等(3) 课程设计期间的收获本系统从需求分析、系统总体设计到系统的具体实现对网上商店系统进行全面的论述。网上商店系统采用基于Java开发语言的JavaEE平台进行开发,运用了MVC框架技术Struts2,采用MySQL数据库管理系统以及开源框架Hibernate进行数据存储,对数据库表设计上满足3NF。本系统在前台界面,实现了用户的登陆,注册以及商品搜索。用户可以使用购物车,进行购买商品,商品价格,查看订单等。后台界面主要是实现了管理员的相关
28、操作,其中有用户信息管理,商品信息管理,商品类别管理以及订单管理。对于这些信息,管理员可以进行查看,删除等操作。其中,商品信息管理和用户信息管理中,管理员可以管理留言板及商品相关信息。在完成此次的课程设计的过程中,我跨越了传统方式下的教与学的体制束缚,通过自己的思考和设计,培养了自学能力和动手能力。并且由原先的被动的接受知识转换为主动的寻求知识,这可以说是学习方法上的一个很大的突破。在以往的传统的学习模式下,我们可能会记住很多的书本知识,但是通过课程设计,我们学会了如何将学到的知识转化为自己的东西,学会了怎么更好的处理知识和实践相结合的问题。在这次课程设计中,我认识到了自己的不足之处同时我也收
29、获了很多知识和经验,在今后的学习中,我一定勤于思考,并灵活运用所学知识,多进行编程实践。在总结反思和编程训练中,不断提升自己的编程能力。相信在我的努力下,我的程序设计水平一定会不断提高。我逐渐学会了当遇到问题时应该如何面对,如何寻找最有效的解决方案。在这次课程设计中我也知道了自己的动手能力不强,有待于进一步提高。我在这次课程设计中学到很多,我会更加自信的走下去。学习了系统化的开发思想。相信对我以后的学习工作有很大的帮助。然而,由于本人的水平有限,系统中难免存在着不够完善的地方,由于高等教育的不断改革创新,高校的招生机制也必将随之不断发展,因此本系统也必须随着用户需求的不断提出而逐步改进与完善自己,而这正是软件发展不断迭代求精的思想。系统的发展需要增加自身的可扩充性,使之能与其他软件配合使用,适应更多的应用平台。总之,通过我持之不懈的努力,相信系统的应用前景是非常可观的。参考文献1 郑阿奇,JavaEE项目开发教程(第2版),电子工业出版社,2013.2 耿祥义 张跃平,JSP大学实用教程(第2版),电子工业出版社,2012.3 脚本之家,jsp操作MySQL实现查询/插入/删除功能示例_JSP编程_脚本之家,网址:访问时间2016年10月3日4 Jsp+mysql 制作留言板(一) - - 博客频道 - CSDN.NET,网址:访问时间2016年10月6日
限制150内