基于MVC1技术的物流管理网站开发毕业论文.doc

上传人:牧羊曲112 文档编号:4957832 上传时间:2023-05-26 格式:DOC 页数:43 大小:1.16MB
返回 下载 相关 举报
基于MVC1技术的物流管理网站开发毕业论文.doc_第1页
第1页 / 共43页
基于MVC1技术的物流管理网站开发毕业论文.doc_第2页
第2页 / 共43页
基于MVC1技术的物流管理网站开发毕业论文.doc_第3页
第3页 / 共43页
基于MVC1技术的物流管理网站开发毕业论文.doc_第4页
第4页 / 共43页
基于MVC1技术的物流管理网站开发毕业论文.doc_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《基于MVC1技术的物流管理网站开发毕业论文.doc》由会员分享,可在线阅读,更多相关《基于MVC1技术的物流管理网站开发毕业论文.doc(43页珍藏版)》请在三一办公上搜索。

1、基于MVC1技术的物流管理开发毕业论文目录IV一、数据库设计说明11.选题说明及需求介绍11.1选择该系统的原因与目的11.1.1原因11.1.2目的11.2.需求分析11.3可行性分析21.4开发环境2二、数据库设计说明3三、系统功能模块划分9四、实现过程及效果展示111.实现过程112.效果展示122.1前台主界面122.2前台搜索页面132.3前台找回密码界面142.4车牌号查询页面152.5国道查询页面152.6后台登陆界面162.7后台导航界面172.8货物详细信息界面182.9车辆信息界面19五、总结21六、参考材料23七、致谢25八、附录27 中文论文题目:基于MVC1技术的物流

2、管理开发一、绪论1.选题说明及需求1.1选择该系统的原因与目的1.1.1原因:第一,各种各样的物资运输公司在生活中起着重要的作用。由于物资种类的繁多、数量的庞大,对物资的管理也是一个很大的问题。为了更容易、更方便的及时了解到客户要运输的物资以及管理整个物流公司的流程,要是有一个简单的、容易操作的管理系统,将会大大的节省人力、物力,提高运输的效率。因此,我设计了这个物流管理。第二,物流公司每天都有很多的货物要运输进来或者运输出去,那么每天的数据量很大,要是去用手工的方式记录这些数据,不但效率不搞,而且容易出错。如果数据记录错误,说不定会导致不必要的后果。比如:要往A地运输1000吨煤炭,结果记录

3、成了B地并且将煤炭发往B地了,那这样就造成了很严重的后果。第三,对于一个部门或公司来说,数据是一笔宝贵的资产。纸质的数据有容易丢失、损坏的不足,但要是把这些数据保存到数据库中,不仅可以减少数据的丢失,节省空间而且在调用的时候提取容易。假如某公司每天产生100纸质的数据,那么一月会有多少呢?一年呢?我们可以想象下,那可能需要几个资料室,但是如果把它们保存到电脑上,却仅需要一台电脑。1.1.2目的:由于物资种类的繁多、数量的庞大,对物资的管理也是一个很大的问题。为了更容易、更方便的及时了解到客户要运输的物资以及管理整个物流公司的流程,要是有一个简单的、容易操作的管理系统,将会大大地节省人力、物力,

4、提高运输的效率。1.2.需求分析1. 了解物流公司的业务流程,包括货物、车辆的分派情况、客户订单的处理、合作伙伴的相关信息、系统管理人员等。系统分为前台和后台两部分。2. 实现客户通过前台发布货物信息的页面发布自己的信息,在发布前先验证客户是否登陆,如果没有登陆,则提示客户注册登录;只有登陆的客户才可以发布货物信息。3. 前台要提供客户和合作伙伴的注册。对于客户,要提供密码找回功能。4. 前台要提供一些辅助工具,比如车牌归属地查询、国道查询等。5. 前台要显示一些必要的信息,比如由于天气的原因,不能及时处理客户的订单,要一滚动消息的方式显示出来;还要显示最近的货物信息、合作伙伴的信息等。还有关

5、于货物运输的相关知识。6. 后台要实现登录系统的控制,只有注册了的系统管理员才可以登陆。对于系统管理员,提供添加、修改、删除、查询等功能。系统管理员可以对后台的信息进行操作。7. 后台要实现对客户和合作伙伴发布的信息进行审核,以防止乱填的信息造成不必要的后果。在审核的同时要与客户发布的信息相应的订单,订单编号要求自动生成。8. 后天要实现运输工具的添加、修改、删除等功能,车辆按照快慢程度分为快速、中速、慢速等。9. 根据订单上的容进行安排车辆。10. 要有动态信息的发布、删除、修改等。动态信息就是关于天气造成的不便,在后台添加后显示在前台。1.3可行性分析根据需求分析,本系统主要就是处理数据,

6、对数据的增加、修改、查询、删除。这些都是对存放在数据库中的数据的最基本的操作,而数据库提供了这些基本的操作,因此对数据的操作不会存在问题。而根据运输公司的业务流程,比如货物的流动方向都不是特别复杂,能够用程序来模拟实现。对于货物等的基本属性,都可以用数据库来设计实现。1.4开发环境1. 硬件环境:Windows XP、存512M、硬盘80G2. 开发工具:MySQL5.0、JDK1.6、Dreamweaver8.0、Fireworks8.0、Myeclipse6.0、tomcat6.0二、数据库设计说明数据库名称为wuliu,数据库包括12表,其中每表都包含一些字段,用来描述各个事物的属性。大

7、多数表中的字段都是从页面添加过来。分别如下:表2.1:物流动态表(db_active)列 名数据类型可否为空说 明idintNOT NULL该表主键titlevarcharNULL物流动态标题contenttextNULL物流动态容authorvarcharNULL发布人issuedatevarcharNULL发布时间表2.2:车牌表(db_carsource)列 名数据类型可否为空说 明idintNOT NULL该表主键provarcharNULL省份cityvarcharNULL城市numvarcharNULL表2.3:车辆类型表(db_cartype)列 名数据类型可否为空说 明idin

8、tNOT NULL该表主键typenamevarcharNOT NULL类型名表2.4:车辆信息表(db_carmessage)列 名数据类型可否为空说 明idintNOT NULL该表主键tradmarkvarcharNULL车牌brandvarcharNULL车辆名称styleintNOT NULL快中慢速carloadvarcharNULL载重carstatevarcharNULL车辆状态drivernamevarcharNULL司机名字drivertimevarcharNULL驾龄licencenumbervarcharNULL驾照号licencetypevarcharNULL驾照类型

9、linkmanvarcharNULL联系人linkphonevarcharNULL联系remarkvarcharNULL备注usernamevarcharNULL发布人issuedatevarcharNULL发布日期表2.5:会员表(db_customor)列 名数据类型可否为空说 明idintNOT NULL该表主键usernamevarcharNULLpasswordvarcharNULL密码emailvarcharNULLsexvarcharNULL性别questionvarcharNULL问题curesultvarcharNULL答案issuedatevarcharNULL注册日期表2

10、.6:动态信息表(db_dyinfo)列 名数据类型可否为空说 明idintNOT NULL该表主键titlevarcharNOT NULL动态信息标题contenttextNOT NULL动态信息容authorvarcharNOT NULL发布人issuedatevarcharNOT NULL发布时间表2.7:国道信息表(db_guodao)列 名数据类型可否为空说 明idintNOT NULL该表主键gdnamevarcharNOT NULL国道名称waylinevarcharNOT NULL路线waylenthvarcharNOT NULL全程长度表2.8:企业信息表(db_enterp

11、rise)列 名数据类型可否为空说 明idintNOT NULL该表主键enterprisersortvarcharNULL企业类型enterprisenamevarcharNULL企业名称enoperationvarcharNULL经营围workareavarcharNULL所属区域addressvarcharNULL地址phonevarcharNULLlinkmanvarcharNULL联系人handsetvarcharNULL手机faxvarcharNULL传真emailvarcharNULLhttpvarcharNULL网址introducevarcharNULL简介usernamev

12、archarNULL发布人enterprisekeyintNOT NULL审核状态picturevarcharNOT NULL图片issuedatevarcharNULL注册日期表2.9:货物信息表(db_goodsmeg)列 名数据类型可否为空说 明idintNOT NULL该表主键goodstypevarcharNULL货物类型goodsnamevarcharNULL货物名称goodsnumberintNULL货物数量goodsunitvarcharNULL单位fromprovicevarcharNULL起始省份startcityvarcharNULL起始城市toprovicevarcha

13、rNULL到达省份endcityvarcharNULL到达城市transporttimevarcharNULL运输时间phonevarcharNULLhttpvarcharNULL网址introducevarcharNULL简介linknamevarcharNULL发布人remarkvarcharNOT NULL备注cartypevarcharNOT NULL车辆类型需求issuedatevarcharNULL注册日期membernamevarcharNULL填写人ordercodevarcharNULL填写人ordernumvarcharNOT NULL订单号goodskeyvarchar货

14、物审核状态表2.10:物流知识表(db_knowledge)列 名数据类型可否为空说 明idintNOT NULL该表主键titlevarcharNULL标题contenttextNULL容issuedatevarcharNULL日期residevarcharNULL标识表2.11:管理员表(db_manager)列 名数据类型可否为空说 明idintNOT NULL该表主键managernamevarcharNULLpasswordvarcharNULL密码phonevarcharNULLemailvarcharNULL表2.12:订单表(db_orderd)列 名数据类型可否为空说 明or

15、dernumvarcharNOT NULL订单号goodsnamevarcharNULL货物名称consigntimevarcharNULL发货时间consigneevarcharNULL收货人cartypevarcharNULL车辆类型orderstatesvarcharNULL订单状态三、系统功能模块划分1.系统分为前台和后台两部分。2.前台主要的模块有:首页、物流动态、物流知识、货物信息、运输设备、企业信息、辅助工具七个模块。3.后台主要的模块有:合作伙伴管理、货物信息管理、订单信息管理、车辆信息管理、公告信息管理、物流知识管理、会员信息管理、管理管理员八个模块。如图:合作伙伴管理货物信

16、息管理管理管理员古城物流管理系统前台后台网站首页物流动态物流知识货物信息运输设备企业信息辅助工具订单信息管理车辆信息管理公告信息管理物流知识管理会员信息管理四、实现过程及效果展示1.实现过程1. 系统主要采用了jsp+Servlet+javabean的MVC开发模式、使用MySQL5.0数据库。2. 设计数据库。3. 收集各个页面所需要的资料,包括图片、文字效果等等。根据数据库设计前台和后台页面,大多数页面都是静态页面。4. 写一些工具类,比如验证码、分页、加密、乱码处理等。5. 根据数据库表写javabean;写各个模块所需要的接口,接口中基本包含对应与数据表的增加、更新、删除、查询等方法;

17、接口写好之后写每个接口的实现类,并且测试每个实现类的正确性。6. 接下来就开始完成Servlet,每一类要在页面上显示的信息对应一个Servlet,测试每个Servlet的正确性。7. 修改前面做的页面,将需要显示动态信息的页面修改为jsp页面,在这些页面上添加一定的代码,得到需要的数据。查看页面的外观是否美观,并且查看得到的数据是否是想要的数据,进而修改Servlet或者实现类。8. 给那些需要添加验证的页面添加验证,比如的格式、所填入的数据的类型、长度等。对页面不美观的页面进行修改。9. 测试每个页面、Servlet都没有问题之后,开始将所有的页面起来。10. 测试整个系统,检查是否有代码

18、或页面上的错误,有没有逻辑错误。对错误再进行修改,再进行测试系统,如此多反复几次。2.效果展示2.1前台主界面2.2前台搜索页面及搜索结果页面2.3前台找回密码界面 2.4车牌号查询页面 2.5国道查询页面 2.6后台登陆界面2.7后台导航界面 2.8货物详细信息界面 2.9车辆信息界面五、总结1. 收获1. 通过做这个系统,使我了解到了很多关于物流运输方面的知识。包括物流的基本职能、物流分类、物流管理以及运输方式。2. 做一个项目必须要考虑到各种情况,以便适应不同的情况。在项目开始之前,要收集很多相关资料,包括图片、文档、数据等等。3. 在项目开发开始的时候,首先要做好需求分析。对于项目来说

19、,需求非常重要,需求的一个小小的改动说不定会导致整个项目的失败。4. 在开发过程中,应该有个计划,第一步做什么,接下来做什么。不要哪个模块都想要做,那样只会导致模块序列纷乱,思路模糊不清,最后哪一个都做不好。5. 通过该项目,对页面的制作水平有了进一步的提高,了解到怎么样布局能够达到最好的效果;在完成了所有的页面和代码后,就是整合调试。在这个阶段会比较麻烦,要反复的测试调试。对于一个人开发的小系统,整合都很费事,那么对于团队开发的大项目,沟通合作就显得尤为重要。2. 不足1. 对于物流运输业的业务还有不了解的地方,因此整个系统还存在很多业务逻辑方面的不足,导致系统仅能满足部分业务需求,对于一些

20、特殊业务流程还存在一些欠缺。2. 页面在美观方面还存在一些不足,比如后台的页面比较单调等。3. 系统在人性化方面做的不够完善。比如有很多容要求客户去填写,而不是以选择的方式进行填写。4. 在代码优化方面也不够好,有些代码的执行效率不是很好,还存在一些重复的代码。5. 代码规方面,部分代码没有注意格式,也没有添加必要的注释。6. 系统设计的有些地方不合理。比如安排车辆发货以后,那些被安排的车辆就消失了,没有设计当货物运输到达目的地之后,车辆应该都返回来。六、参考材料1(美)埃克尔 著,昊鹏 译 Java编程思想机械工业2007-6-1 880页2 钟蔚,马文强,王殊宇 Java项目开发实例自学手

21、册 人民邮电 2008-09-01 3 (美国 )(Horstmann Gay S.)昊斯特曼 (美国)Gary Cornell 译者:叶乃文 邝劲筠 杜永萍 JAVA核心技术卷1:基础知识(原书第8版) 机械工业2008年 4 克娜 物流基础知识 机械工业 2004 年8月 5 新曼 精通JSP-WEB开发技术与典型应用 人民邮电 2007-2 6 唐友国,湛洪波主编 JSP开发详解 电子工业 2008-10-1 7 史斌星 史佳编著 Java基础及应用教程 清华大学 2007年5月 8 夏宽理 算法基础 高等教育 2003年10月 9 王珊 萨师煊 数据库系统概论(第四版)高等教育 200

22、6年5月10晓华 健 周慧贞编著 JSP应用开发详解(第三版)电子工业 2007年1月七、致谢感谢我的指导老师老师,你严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;你循循善诱的教导和不拘一格的思路给予我无尽的启迪。这片论文的每个实验细节和每个数据,都离不开你的细心指导。而你开朗的个性和宽容的态度,帮助我能够很快的融入我这个项目的开发过程中。感谢我来培训的时候帮助过我的所有的老师,有了他们的支持帮助,我才能够独自的完成我的毕业设计。没有他们的帮助,还不知道怎么来完成这个在大学中最重要的、也是最后一个标志大学圆满结束的毕业论文。感谢我的室友们,从遥远的家来到这个陌生的城市里,是你们和我共同维

23、系着彼此之间兄弟般的感情,维系着寝室那份家的融洽。四年了,仿佛就在昨天。四年里,我们没有红过脸,没有吵过嘴,没有发生上大学前所担心的任何不开心的事情;四年里,我们一起快乐过,一起悲伤过,一起走过了1000多个日日夜夜。只是今后大家就难得再聚在一起吃每年元旦那顿饭了吧,没关系,各奔前程,大家珍重。但愿远赴新疆的C和D平平安安,留守学校的D,E和F快快乐乐,挥师北上的G顺顺利利,也愿离开我们寝室的H和I开开心心。我们在一起的日子,我会记一辈子的。感谢我的爸爸妈妈,焉得谖草,言树之背,养育之恩,无以回报,你们永远健康快乐是我最大的心愿。在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利

24、完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!八、附录附录部分主要包括各种类中的部分代码及其代码的说明。1. 连接数据库类,这个类主要采用了Java开发模式中的单子模式。代码如下:package .wuliu.DB;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class DBManagerprivate static D

25、BManager db=null; private Connection con=null; DBManager()try Class.forName(.mysql.jdbc.Driver); catch (ClassNotFoundException e) System.out.println(找不到类);try con=DriverManager.getConnection(jdbc:mysql:/localhost:3306/wuliu,root,mysql); catch (SQLException e) System.out.println(连接失败!); public static

26、 DBManager getInstance() if(db=null) db=new DBManager(); return db; else return db; public static Connection getConnection() return DBManager.getInstance().con;2. javabean类,主要包括动态信息、车辆信息、管理员、订单、货物等的一些属性变量,所有的属性变量都定义为私有的,只为其他类提供了get()和set()方法进行设值和取值。下面给出管理员和订单的javabean。管理员代码:package .wuliu.bean;impor

27、t java.io.Serializable;public class Admin implements Serializable / 定义属性 private Integer id; private String managername;/ 用户名 private String password;/ 密码 private String phone; / private String email; / /* 默认构造方法 */ public Admin() public Admin(Integer id, String managername, String password, String

28、phone,String email) this.id = id; this.managername = managername; this.password = password; this.phone = phone;t his.email = email; / 设置属性值、获得属性值 public Integer getId() return this.id; public void setId(Integer id) this.id = id; public String getManagername() return managername; public void setManag

29、ername(String managername) this.managername = managername; public String getPassword() return this.password; public void setPassword(String password) this.password = password; public String getPhone() return phone; public void setPhone(String phone) this.phone = phone; public String getEmail() retur

30、n email; public void setEmail(String email) this.email = email; 订单代码: package .wuliu.bean;public class Orderd private int id;private String ordernum; / 订单号private String goodsname; / 货物名称private String consigntime; / 发布时间private String consignee; / 收货人private String cartype; / 车牌号private String orde

31、rstate; / 订单状态public Orderd(String ordernum, String goodsname, String consigntime,String consignee, String carnum, String orderstate, int id) super();this.ordernum = ordernum;this.goodsname = goodsname;this.consigntime = consigntime;this.consignee = consignee;this.cartype = cartype;this.orderstate =

32、 orderstate;this.id = id;public Orderd() public String getOrdernum() return ordernum;public void setOrdernum(String ordernum) this.ordernum = ordernum;public String getGoodsname() return goodsname;public void setGoodsname(String goodsname) this.goodsname = goodsname;public String getConsigntime() re

33、turn consigntime;public void setConsigntime(String consigntime) this.consigntime = consigntime;public String getConsignee() return consignee;public void setConsignee(String consignee) this.consignee = consignee;public String getCartype() return cartype;public void setCartype(String cartype) this.car

34、type = cartype;public String getOrderstate() return orderstate;public void setOrderstate(String orderstate) this.orderstate = orderstate;public int getId() return id;public void setId(int id) this.id = id;3. 接口类,在接口中基本有添加、修改、删除、查询等方法,他们都是抽象方法,每个方法要具体实现的功能在实现类中实现。使用接口,可以方便的添加一个或多个方法,只需要在实现类中实现它们。在其他类

35、调用的时候,他只需要知道方法名就可以,不需要知道底层具体是怎么实现的。下面给出合作伙伴和货物信息的接口。合作伙伴:package .wuliu.manage;import java.util.List;import .wuliu.bean.Enterprise;import .wuliu.logicbusiness.PageDiv;public interface EPManager public boolean AddEP(Enterprise ep);public int ReviewEP(Enterprise ep);public boolean DeleteEP(Enterprise

36、ep);public List GetSingleEP(int id);public List GetlistEP(PageDiv pagediv);public List GetlistEP();public List GetEP(PageDiv pagediv);货物信息:package .wuliu.manage;import java.util.List;import .wuliu.bean.*;import .wuliu.logicbusiness.PageDiv;import .wuliu.bean.*;public interface GoodsManager public bo

37、olean AddGoods(Goodsmeg goods);public boolean UpdateGoods(Goodsmeg goods);public boolean DeleteGoods(Goodsmeg goods);public Goodsmeg UniqueGoods(Goodsmeg goods);public Goodsmeg UniqueGoods1(Goodsmeg goods);public List GetGoods(PageDiv pageDiv);public List GetGoods1(PageDiv pageDiv, Customor usernumb

38、er); public List UiGetGoods();4. 实现类,都是实现了接口中定义的方法。实现类中就开始具体的操作数据表了,调用有关的方法实现添加、修改、删除、查询。下面是有关车辆类别的实现类:package .wuliu.imp;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import .mysql.jdbc.Connection;import .mysql.jdbc.Statement;import .wuliu.D

39、B.DBManager;import .wuliu.bean.Cartype;import .wuliu.manage.Cartypemanager;public class ImpCartype implements Cartypemanager java.sql.Connection con = null;java.sql.Statement st = null;/ 实现了数据库连接public ImpCartype() con = DBManager.getConnection();try st = con.createStatement(); catch (SQLException e) e.printStackTrace();/ 增加一条车辆类型public void addcartype(Cartype cartype) String typename = cartype.getTypename();String sql = insert into db_cartype(typename)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号