毕业设计(论文)-基于JAVAEE的大学生跑腿网的设计与实现.doc_第1页
毕业设计(论文)-基于JAVAEE的大学生跑腿网的设计与实现.doc_第2页
毕业设计(论文)-基于JAVAEE的大学生跑腿网的设计与实现.doc_第3页
毕业设计(论文)-基于JAVAEE的大学生跑腿网的设计与实现.doc_第4页
毕业设计(论文)-基于JAVAEE的大学生跑腿网的设计与实现.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

盐 城 师 范 学 院毕业设计 基于JAVAEE的大学生跑腿网的设计与实现 学生姓名 学 院 信息工程学院 专 业 数字媒体技术 班 级 12(1) 学 号 指导教师 2016年5月20日 盐城师范学院毕业设计基于JAVAEE的大学生跑腿网的设计与实现摘 要伴随着中国“互联网+”产业的迅速发展,快递服务、网上订餐等业务发展迅猛,为人们提供了便捷的生活方式,但这些业务还需要一个中间环节,那就是跑腿送货,这就是本设计的课题来源。大学生作为享受现代科技的领跑者群体,其网上购物活动尤其频繁,而大学生中又有不少同学急需兼职机会,这就提供了良好的供给需求。因此本设计选择大学生作为主要客户群体进行系统开发。整个设计在Eclipse开发环境下开发。使用JAVA语言,利用Struts2+Spring+Ibatis等多种技术开发完成。系统支持用户注册登录、新建订单、接单、付款评价等一系列业务,经过测试,能够顺利完成跑腿网的整个交易业务。【关键词】跑腿网;Eclipse;JAVA ;Struts2;Spring;Ibatis 全套设计加扣 3012250582 Design and implementation of College Students errands network based on JAVAEEAbstractWith the rapid development of China Internet+ industry, the rapid business development including courier services, online meal ordering etc, which provides a convenient way of life for the people, but these businesses also need an intermediate link, that is to run errands delivery, which is the design of the source of the project. College students as the leader groups enjoy modern science and technology. Online shopping activities especially frequently, and some of college students are in urgent need of part-time opportunities, which provide a good supply and demand. Therefore, the design develop for college students as the main customer groups. The whole design is developed in Eclipse environment.It is based on JAVA language,using the Struts2+Spring+Ibatis technology develop the system. The system supports the users registration and login, new orders, answer sheets, payment evaluation and a series of business. After the test, the system can successfully complete the entire transaction business.【keywords】Errands system;Eclipse;JAVA ;Struts2;Spring;Ibatis 盐城师范学院毕业设计目 录1 课题概述11.1 课题设计背景及意义11.2 课题研究内容11.3 技术介绍11.4 开发环境22 系统分析22.1 可行性分析22.1.1 经济和技术可行性22.1.2 社会可行性32.2 功能分析32.3 数据流图33 系统设计63.1 系统设计63.1.1 系统结构描述63.1.2 总体结构设计63.1.3 系统详细设计73.2 数据库设计93.2.1 概念结构设计93.2.2 系统逻辑设计104 系统实现104.1 系统功能实现104.2 首页面浏览模块的实现114.3 用户注册登录模块的实现114.4 用户发布需求模块的实现134.5 用户接受订单模块的实现154.6 用户支付订单模块的实现184.7 用户评价订单模块的实现194.8 管理员模块的实现205 系统测试与性能分析225.1 测试环境与测试条件225.2 测试实例23结 论26参考文献27致 谢281 课题概述1.1 课题设计背景及意义随着网络技术的不断完善与发展,各种互联网公司不断如雨后春笋般不断涌现,丰富了人们生活的各个方面。近年来由于Online To Offline即线上到线下(O2O)模式的发展和兴起,各种服务网站不断建立,提高了人们工作和生活的效率。计算机在大学生的生活中成为了不可或缺的部分,在这个新的消费模式潮流引领之下,大学生作为新科技,新文化最直接的接触者和受益者,利用互联网平台为大学生提供快捷,高效的服务,是商业化发展的需求,也是解决大学生学习与生活之间的可行方法。大学生的网购物活动相当频繁,而且许多大学生急需兼职机会,大学生跑腿网提供了良好的供给需求。结合市场分析和调查,以及大学生心理和消费观念的分析,为此设计此系统。大学生跑腿网的设计,不仅提高了大学生学习和生活的效率,而且在互联网发达的时代,为大学生提供了兼职的机会,锻炼了社会能力,有利于大学生培养正确的消费观和价值观。1.2 课题研究内容在本系统的设计过程中,作者结合了市场以及本校周围的环境分析,对整个系统中的不同用户进行需求的详细设计和分类。本文主要研究大学生跑腿网的设计与实现,在整个过程中主要完成以下几个工作:a) 分析跑腿网系统在市场上的现状和发展趋势,探讨选择系统开发技术和开发平台;b) 研究在设计过程中所要涉及的相关技术知识,分析系统的功能需求,性能需求和安全性能,规划系统的整体设计;c) 根据需求分析和总体设计,实现基于JAVAEE的大学生跑腿网的设计与实现,应用所学知识解决开发过程中所遇到的各种技术问题;d) 对系统进行部署与测试,根据测试结果,继续完善系统。1.3 技术介绍系统主要是以JAVA作为开发语言,使用了Struts2+Spring+Ibatis的集成框架,使用Tomcat为Web服务器,MYSQL作为开发数据库。JAVA是一种优秀的面向对象的程序设计语言,本身就是一个完整的平台。它拥有一个庞大的类库,其中包含很多可重复使用的代码,提供比如安全性,跨操作系统的可移植性和垃圾自动收集等等服务的编程执行环境。JAVA的特性包括:简单性,健壮性,多线程,高性能,安全性等等1。Struts2主要负责流程控制,采用拦截器的机制处理用户请求,这样设计可以将控制器与Servlet API相分离,主要针对的是从JSP2页面到action类这一块的步骤3。 Spring主要负责各个类和对象的创建,包括action,service,dao,数据连接对象,Ibatis框架的核心对象sqlMapClient,Spring自身的事务处理扩展包括transactionManager4。 Ibatis主要负责对JDBC的封装,简化访问数据的程序,消除了几乎所有的JDBC连接数据库的代码,使用简单的XML和注解配置及映射5。Tomcat技术先进,简单易用,易于扩展,稳定性强,尤其是其开放源码的特点倍受广大JAVA Web开发者的青睐,是目前主流的轻量级Web应用服务器6。MYSQL数据库是一种被称为关系型数据库的管理系统,它所采用的是最常用的数据库管理语言SQL,很多大型公司的数据库所采用的都是MYSQL数据库,发展前景较好。1.4 开发环境系统开发配置的环境如表1-1所示:表1-1PC环境配置列表操作系统Windows 7JAVA开发工具包JDK 1.7WEB服务器Tomcat 7.0数据库MYSQLIDEEclipse2 系统分析2.1 可行性分析2.1.1 经济和技术可行性JAVA语言与其它开源语言一样,都是免费的,使用者无需为使用JAVA语言付出高昂的费用。并且在知识共享的今天,对于JAVA语言的学习资料也是共享的。在设计和完成本系统过程中,使用的开发工具Eclipse,其下载和使用也是免费的,本系统开发使用的框架jar包和数据库软件,服务器软件都是可以免费下载和使用,所以设计此系统在经济上是可行的。JAVA语言凭借其稳定性,可移植性,与平台无关性等优点,成为许多网站开发的首选语言。本系统使用SSI三大框架技术,结合自身对JAVA基础的学习和理解,并且结合实际情况,该系统的编写和实现是可行的。并且在网页的设计注重用户的视觉享受,在保证功能使用正常的情况下,给用户良好的视觉体验。2.1.2 社会可行性a) 跑腿网将传统的跑腿公司变成了互联网公司,使线下交易变得更加信息化,数字化,减少了跑腿公司在线下推广的人力物力的成本,另一方面,突破了时间和空间的限制,从而提高了效率。b) 跑腿网的设计重新定义了传统的流通模式,省去了中间环节,从而在一定程度上改变了整个社会经济运行的方式。2.2 功能分析 评价通常大学生跑腿网包含两个角色:有需求的普通用户和系统管理员,根据角色的不同,将系统分为前台和后台两个部分。前台部分:普通用户可以进行注册登录:用户用过注册新的账号,并且通过管理员审核其账号的真实性,便可以用注册的账号进行系统登录,账号的用户名和密码与数据库中的用户名和密码相一致,便可以登录系统进行相关操作。进入系统之后,用户可以浏览首页面,在首页面中,可以根据自己的需求来选择相应的服务。用户可以选择发布需求的按钮,进入发布需求的页面,用户将自己的需求发布出去,并需要支付一定的费用给接单者作为报酬。另一方面,用户也可以选择接单按钮,来帮助别人完成需求,并且可以得到一定的报酬。后台部分:管理员通过验证账号和密码进入管理页面,可以对用户的用户名和密码进行相关的操作,还有对新建订单和接受订单进行审核管理,并且有删除,修改订单的权限。2.3 数据流图数据流图主要以图形的方式来表达系统的逻辑功能,抽象地表示出数据在整个系统中的流向,是结构化系统分析方法的主要表达工具,数据流图只反映系统必须完成的逻辑功能,是一种功能模型。1. 顶层数据流图大学生跑腿网系统的顶层数据流图,用户将需求信息传递给跑腿网,跑腿网将用户的需求信息整合为信息数据传递给管理员,管理员将订单通过跑腿网作为中介传递给用户,如图2-1所示:图2-1 顶层数据流图用户的数据流图,包括用户注册登录信息,功能查看信息,订单结算,跑腿网与数据库中的订单信息表和用户信息表交互数据,将订单的信息传递给用户,如图2-2所示:图22 用户的数据流图管理员的数据流图,管理员登录后台,查看用户信息和订单信息,跑腿网与数据库中的订单信息表和用户信息表进行数据交互,将订单信息,用户信息,支付信息传递给管理员,如图2-3所示: 图2-3 管理员的数据流图2. 用户分解后的数据流图用户注册登录的数据流图,如图2-4所示:图2-4 用户注册登录的数据流图功能查看的数据流图,如图2-5所示:图2-5 功能查看的数据流图订单结算的数据流图,如图2-6所示: 图2-6 订单结算的数据流图3. 管理员部分分解后的数据流图用户信息的管理数据流图,如图2-7所示: 图2-7 用户信息的管理数据流图订单信息的管理数据流图,如图2-8所示: 图2-8 订单信息的管理数据流图3 系统设计3.1 系统设计3.1.1 系统结构描述本系统基于B/S(浏览器/服务器)架构,使用MVC三层架构的设计思想:视图层,控制层,模型层。在前端实现的是视图层(view),用户通过浏览器向服务器发出请求,由服务器过滤处理相应的请求,调用相应的action,操作相应的数据,返回相应的视图,呈现在用户的浏览器中。本系统遵循模块化设计原则,相比于jsp+servlet的设计模式,SSI框架设计降低了程序的耦合性12。3.1.2 总体结构设计从前面的需求分析可以得出,大学生跑腿网系统分为前台功能实现和后台功能实现,所以将系统分为两个模块,前台模块和后台模块。 系统模块图,如图3-1所示: 图3-1 系统模块图3.1.3 系统详细设计1.首页面浏览模块良好的界面设计是吸引用户使用的前提,现代人越来越注重审美观念,页面采用div+css样式设计,简洁美观,使用方便,给用户良好的使用体验。其模块设计流程图如图3-2所示: 图3-2 首页面浏览模块流程图2. 用户注册登录模块用户注册登录模块:需要先注册账号,再通过输入正确的账号和密码才能进入系统。其具体模块流程图,如图3-3所示: 图3-3 用户注册登录模块流程图3. 用户发布需求模块用户通过在首页面选择发布需求功能按钮,进入发布需求页面,新建用户需求,提交订单,寻找接单用户。其模块流程图如图3-4所示: 图3-4 用户发布需求模块流程图4. 用户接单模块用户在自身方便的情况之下,可以通过接单按钮进行接单,即替别人完成需求。其模块流程图如图3-5所示: 图3-5 用户接单模块流程图3.2 数据库设计数据库的开发是任何程序开发中最重要的环节,是信息系统开发和建设的核心技术。因其重要程度,软件工程师在设计之初在数据库中的设计是不断探索,精益求精的态度,在设计中要不断地思考数据库中数据对象和数据对象之间的关系,以此设计出更好的数据库系统13。数据库中的表设计原则是标准化和规范化。在设计中,采用数据驱动的方式,后期维护方便,并且大大增加了系统的灵活性和扩展性。在数据库中,实体、属性与关联是整个数据库中最重要的一个环节,同时也是设计一个良好数据库的前提条件。3.2.1 概念结构设计概念结构设计是通过对事物分析并抽象出的概念数据模型。首先要明确各种实体及其属性,实体之间的联系等,得到一个完整的实体属性图,再将各个实体属性图结合成一个全局视图,即要得到的概念数据模型。如下图3-63-7系统的实体图。 用户用户名 权限 密码图3-6用户属性图用户信息拥有用户名,密码和权限三个属性订单内容订单名订单时间收货状态订单类型支付费用 订单订单联系人评价配送员订单联系电话 图3-7订单属性 订单具有订单名,订单内容,订单时间,订单类型,订单联系人,订单联系电话配送员,评价,支付费用,收货状态等多个属性。 3.2.2 系统逻辑设计 通过对系统的具体数据分析,确定了数据中设计的字段,数据实体初步设计如下:用户表(tb_user):u_id(主键), u_name, u_password, u_status 订单表(tb_order): order_id(主键) , order_u_id, order_name , order_content, order_type, order_time, receive_state, order_linkman, order_linkphone, receive_u_id, order_comment, order_pay 下面就是这次系统设计中用到的数据库表信息:表3-1用户信息表(tb_user)属性数据类型是否允许为空字段长度字段描述 U_idInt否 11 编号(主键) U_namevarchar否 255 用户名 U_password varchar否 255 密码 U_statusInt否 11 权限 表3-2 订单信息表(tb_order)属性数据类型是否允许为空字段长度字段描述 Order_idInt否 11编号(主键) Order_u_idInt否 11用户编号(外键) Order_nameVarchar否 255订单名 Order_contentVarchar否 255订单内容 Order_typeInt否 11订单类型 Order_timeDatetime否 11订单时间 Receive_stateInt否 11收货状态 Order_linkmanVarchar否 255订单联系人 Order_linkphoneVarchar否 255订单联系电话 Receive_u_idInt否 11配送员 Order_commentVarchar否 255评价 Order_payvarchar否 255支付费用4 系统实现4.1 系统功能实现系统实现就是将系统分析的步骤一步一步地实现其功能。在这个实现的过程当中,要考虑到系统的可行性,还要考虑其存在的风险即安全性能和技术难点,这是系统设计最重要的组成部分。通过对大学生生活习惯和周围的调查和分析,从而制定了大学生跑腿网的总体设计结构,并且使用了自己所学的知识,完成了本系统。 4.2 首页面浏览模块的实现大学生跑腿网系统主要分为前台功能模块和后台功能模块,前台的首页面主要包括注册,登录按钮,功能选择按钮:发布需求和接受订单,针对于第一次使用本系统的用户,可以浏览帮助手册来迅速了解系统的功能需求。主要运用到CSS样式,前台使用JavaScript语言编写。大学生跑腿网的首页面如图4-1所示: 图4-1 大学生跑腿网首页面4.3 用户注册登录模块的实现当用户未登录的时候,选择“我要下单”或者“我要接单”的功能按钮时,会直接跳入登录页面进行登录。如图4-2所示。图4-2登录界面 用户在没有账户的情况下,通过注册按钮进入注册页面,如图4-3所示。图4-3 注册界面通过页面输入的数值,系统通过ibatis的配置文件连接数据库,输入数值与数据库中的数据进行配对,若数据正确,返回success,用户就可以登入系统,进行相应的操作;如果输入了错误的用户名和密码,系统则会有提示,没有注册过,可以在下方没有账户点击注册,注册成功之后,直接可以用刚刚注册的用户名和密码登入系统。这部分功能的代码如下:public String login() throws Exception if (on.equals(ck) / 记住密码Util.addCookie(user); / 设置cookie/ 调用登录方法user = userService.IsLogin(user.getU_name(), user.getU_password();if (user != null) / 判断用户是否存在session.put(user, user); / 把登录用户放入sessionif(user.getU_status()=1)return back;elsereturn login; else return unlogin;Ibaits中的数据库语句:select * fromtb_user where u_status!=2 and u_name=#u_name andu_password=#u_password4.4 用户发布需求模块的实现用户通过在首页面选择“我要下单”功能按钮,进入下单功能页面,用户可以在页面中查询到历史订单,并且可以新建订单发布需求。如图4-44-5所示: 图4-4 用户新建需求图 图4-5 搜索用户订单图用户点击搜索用户订单,将用户名作为参数传入后台进行搜索,将在数据库表tb_order中,order_u_id为当前用户的所有订单都搜索出来,用户对订单有查看详情,确认接单人完成订单,支付费用,评价接单人服务,以及对订单的删除等操作权限。用户点击新建订单,将需求发布到跑腿网上,系统会对用户填入的数据进行前台验证,验证成功之后会提交到数据库中,并且点击搜索用户订单就可以看到刚刚新建的订单。这部分的功能代码如下:/用户进入时查询订单public String selectOrderByUser() throws Exception user = (User) session.get(user);/强制类型转换 String id=Integer.toString(user.getU_id();/将用户id转换成String类型 paging = orderService.getPage(orderList,paging,id);/分页 orderList = orderService.selectOrderInfoById(limit,paging,id);/查询出订单表 return selectOrderByUser;/返回值与strut.xml文件中对应Iabtis中的数据库语句代码: select * from tb_order where order_u_id=$id limit #paging.start,#paging.rows/新建订单public String orderInsert() throws ExceptionString order_name = order.getOrder_name();/取得页面中输入的订单名String order_content = order.getOrder_content();/取得页面中输入的订单内容String order_type = order.getOrder_type();/取得页面中输入的订单类型String order_linkman = order.getOrder_linkman();/取得页面中输入的联系人String order_linkphone = order.getOrder_linkphone();/取得页面输入的联系方式String order_pay = order.getOrder_pay();/添加支付费用Order order = new Order();order.setOrder_name(order_name);order.setOrder_content(order_content);order.setOrder_type(order_type);order.setOrder_linkman(order_linkman);order.setOrder_linkphone(order_linkphone);order.setOrder_pay(order_pay);Date date = new Date();Timestamp t = new Timestamp(date.getTime();user = (User) session.get(user);int id=user.getU_id();/取得用户idorderService.insertOrder(order,t,id);/执行添加方法return orderInsert;Iabtis中的数据库语句代码: insert into tb_order(order_u_id,order_name,order_content,order_type,order_time,receive_state,order_linkman,order_linkphone,receive_u_id,order_pay) values(#id,#order.order_name,#order.order_content,#order.order_type,#t,4,#order.order_linkman,#order.order_linkphone,1,#order.order_pay)4.5 用户接受订单模块的实现用户通过在首页面选择“我要接单”功能按钮,进入接单功能页面,用户点击“开始接单”,可以搜索到非当前用户所发布的订单需求,当前用户可以根据自己的时间和能力来选择订单完成,用户还可以根据订单完成的状态来查看订单的详情。如图4-64-7所示:图4-6 搜索订单图图4-7 用户接受订单图这部分主要功能代码如下所示:/查询未接订单public String selectReceiveState() throws Exceptionuser = (User) session.get(user);/从session中取得用户String id=Integer.toString(user.getU_id();/将取得的用户id转换成String类型paging = orderService.getPage(orderList4,paging,id);/分页orderList = orderService.selectReceiveState(limit,paging,id);/执行查询方法return selectReceiveState;Iabtis中的数据库语句代码: select * from tb_order where receive_state = 4and order_u_id != $id and receive_u_id = 1 limit #paging.start,#paging.rows /查询已接但未完成的订单public String selectReceiveState3() throws Exceptionuser = (User) session.get(user);/从session中取得用户String id=Integer.toString(user.getU_id();/将取得的用户id转换成String类型paging = orderService.getPage(orderList3,paging,id);/分页orderList = orderService.selectReceiveState3(limit,paging,id);/执行查询方法return selectReceiveState;Iabtis中的数据库语句代码: select * from tb_order where receive_state = 3 and order_u_id != $id and receive_u_id = $id limit #paging.start,#paging.rows /查询已完成但下单人未确认的订单public String selectReceiveState2() throws Exceptionuser = (User) session.get(user);/从session中取得用户String id=Integer.toString(user.getU_id();/将取得的用户id转换成String类型paging = orderService.getPage(orderList2,paging,id);/分页orderList = orderService.selectReceiveState2(limit,paging,id);/执行查询方法return selectReceiveState;Iabtis中的数据库语句代码: select * from tb_order where receive_state in (1,2)and order_u_id != $id and receive_u_id = $id limit #paging.start,#paging.rows /查询已完成的订单public String selectReceiveState0() throws Exceptionuser = (User) session.get(user);String id=Integer.toString(user.getU_id();paging = orderService.getPage(orderList0,paging,id);orderList = orderService.selectReceiveState0(limit,paging,id);return selectReceiveState;Iabtis中的数据库语句代码: select * from tb_order where receive_state = 0and order_u_id != $id and receive_u_id = $id limit #paging.start,#paging.rows 4.6 用户支付订单模块的实现接单用户确认完成订单之后,下单用户需要确认收货,确认收货完成之后支付订单。支付订单界面如图4-8所示:图4-8 支付订单界面这部分功能主要代码如下所示:/用户确认收货支付订单public String updateReceiveStateto1() throws ExceptionorderService.updateReceiveStateto1(order_id);return updateReceiveStateto1;Iabtis中的数据库语句代码: update tb_order set receive_state =1 where order_id = #order_id 4.7 用户评价订单模块的实现用户支付完订单之后,可以对用户的服务进行评价服务。用户评价订单如图4-9所示:图4-9 用户评价订单图这部分功能的主要代码如下所示:/添加评论public String insertComment() throws ExceptionString order_comment = order.getOrder_comment();orderService.insertComment(order_comment,order_id);return insertComment;Iabtis中的数据库语句代码: update tb_order set order_comment =#order_comment,receive_state = 0 where order_id = #order_id 4.8 管

温馨提示

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

评论

0/150

提交评论