基于J2EE的网上购物配送管理系统设计.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 J2EE 网上 购物 配送 管理 系统 设计
- 资源描述:
-
精品文档就在这里 -------------各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有-------------- -------------------------------------------------------------------------------------------------------------------------------------------- 基于J2EE的网上购物配送管理系统设计.txt曾经拥有的不要忘记;不能得到的更要珍惜;属于自己的不要放弃;已经失去的留作回忆。收稿日期:2003-09-01。纪寿文,博士,主研领域:生产物流规划与 仿真,物流配送,AGVS等。 基于J2EE的网上购物配送管理系统设计 纪寿文 林晓宇 (清华大学深圳研究生院现代物流研究中心 深圳518057) 李克强 缪立新(清华大学汽车系 北京100084) 摘 要 本文采用J2EE技术设计了物流企业电子商务的在线购物和配送管理系统。文中详细介绍了系统的逻辑及功能结构、在 线购物模块和登录注册模块的流程及其J2EE设计方法、采用MVC模式设计控制模块的方法,并给出了核心流程代码。文中也简单 介绍了配送管理模块采用的CW算法。 关键词 J2EE 在线购物 物流配送 CW算法 THE DESIGN FOR WEB SHOPING AND DISTRIBUTING MANAGEMENT BASED ON J2EE Ji Shouwen Lin Xiaoyu (Modern Logistics Research Center ofShenzhen Graduate School, Tsinghua University, Shenzhen518057) Li Keqiang Miao Lixin (Automobile Department, Tsinghua University,Beijing100084) Abstract Web shopping and dirtributing system for logistics corporation electronic commerce is designed by using J2EE technology in the paper. The logistic and function structure,flow chart and designmethods based on J2EE ofweb shopping,entry and registermodules are introduced particular- ly.The designing method for control module by usingMVC mode is described,and the core flow code is given.The CW algorithm used in distributing management module is also introduced. Keywords J2EE Web shopping Logistics distribution CW algorithm 1 引 言 电子商务的出现,极大地方便了最终消费者,使消费者不必 再跑到拥挤的商业街,一家一家地挑选自己所需的商品,而只要 坐在家里,在因特网上搜索、查看、挑选,就可以完成他们的购物 过程,这些就是所谓的在线购物[1]。 在线购物的成功主要取决于购物系统的功能完善和物流配 送系统的可靠运行。购物系统如果功能完善、验证可靠,使用方 便,则便于用户的浏览和购物。而用户在提交购物订单和支付 货款后,物流配送则成为实现在线购物最终成功的关键,物流配 送的核心问题则是配送车辆的调度。 本文面向企业的电子商务,将对在线购物系统和物流配送 系统统筹考虑,实现信息的共享和车辆的优化调度,为企业提供 了一个易于操作的低费用物流管理系统、基于先进的优化网络 技术的车辆调度以及配送系统。物配平台使得用户可以随时掌 握实时的物流信息并根据客户的要求远程调度产生最佳的配送 方案。 该系统的设计中完全采用了面向对象的技术,在实际开发 中采用大量的JAVA技术,例如Servlet、JSP、JavaBean、JDBC、EJB 等,是一套完全基于J2EE的最新技术体系,具有良好的可平台 无关性、可扩展性等[2]。 使用本在线购物系统,企业就可以拥有自己的网络商城,让 企业在技术方面花费最少,从而全力以赴进行货源开发和业务 经营,迅速地展开销售工作。在线商店具备普通商店的大多数 特点,同时又比普通商店具有投资小,运营时间长,无人职守等 特点。 2 系统结构 系统包含在线购物模块和物流配送模块,其中在线购物系 统的核心是购物车模块,物流配送系统的包含配送方式选择、配 送路线选择、配送管理等,核心是CW调度算法。两个模块通过 订单信息有机的集成为一个整体,如图1所示。 图1 集成系统结构 2·1系统逻辑结构 从逻辑上讲,本系统分为四个层次。分别为用户层、表现 层、业务处理层、数据资源层。详细分析了物流配送企业的需 求,设计系统的逻辑层次结构如图2所示。 2·2系统功能结构 适应现代电子商务快捷的需求,系统中传递的订单是电子 第21卷第3期 计算机应用与软件Vol·21,No·3 2004年3月 Computer Applications and Software Mar·,2004图2 系统逻辑结构图 化的。因此,根据使用对象的不同把集成系统划分为调度员、客 户、管理员三个大模块,如图3所示。给客户使用的就是所谓的 在线购物系统,而在服务器端使用系统的是调度员和管理员。 调度员主要进行车辆调度,也是一个相对的“用户”。管理员主 要进行客户管理、权限管理、地图信息管理等。 图3 集成系统功能模块图 3 在线购物子系统的设计与实现 3·1在线购物子系统的功能与流程 在线购物是一堆接口定义清晰的独立模块组成。 控制模块:它来分发请求到各个业务处理逻辑,屏幕跳 转控制,对应的组件处理。 登录和注册:登录和注册模块要求用户在访问某些页面 时必须登录。 购物车模块:购物车跟踪用户购物过程。 类别模块:根据用户查询需求提供一个货物类别视图。 客户模块:表示客户信息:地址,联系方式等。 各模块之间的信息流程如图4所示。 图4 在线购物子模块与信息流程图 3·2在线购物系统的数据库 采用SQL设计在线购物系统的数据库表,主要包括客户信 息表、货物信息表、订单信息表、订单细目表。是允许数据库访 问的WEB应用程序开发的非常重要的一部分,它将直接影响系 统的长期有效性和产品化程序。 客户信息表中存储了客户的所有信息。其中,customerID是 数据库系统自动生成的。addToMap和nodeID两字段是与另一 子系统GIS信息表相关联的,用来表示电子地图信息。 货物信息表描述了每种货物所具有的详细信息。除了货物 自身的信息,还有货物分类的有关信息。我们对货物进行二次 分类,分别用baseClass,subClass来描述货物所属的分类,便于查 询和管理。 3·3采用MVC模式设计与实现控制模块 MVC模式是通过将客户的请求导入单一的对象—控制器。 这个控制器随之处理所有的请求,决定下一个要显示的视图,并 且实现所有为保护系统而需要的安全请求。同时,控制器并不 处理商业逻辑,商业逻辑由专门的模型(MODEL)提供。如图5 所示。 图5 MVC模式 经过这样的处理,JSP页面主要起到表达的作用,而由 Servlet控制页面间的跳转,系统商业逻辑和数据由Model来提 供,可以是EJB或JavaBean。 在线购物系统中的ControlServlet就是一个控制器。接收客 户端响应,请求业务逻辑,最后指示跳转页面,如图6所示。 图6 在线购物系统MVC模式图 ControlServlet具体代码如下,限于篇幅,只列出与控制功能 相关的代码,并略去部分调用Model的代码。 在ControlServlet中由if条件语句来判断接收页面的请求, 执行相应逻辑,做出处理后,最后由gotoPage()方法跳转到相应 的页面。 pubilc class ControlServlet extends HttpServlet{ static final private String CONTENT TYPE=″text/html; charset=gb2312″; SCBean scb=new SCBean(); public void init() throws ServletException{} public void doGet(HttpServletRequest resuest, HttpServletResponse response) throws ServletException; IOException{ doPost(request,response);} if(getPara.equals(″登录″)){ String lonName=ChineseCharSet.toByteString (request.getParameter(″logName″)); String password=ChineseCharSet.toByteString (request.getParameter(″Password″)); DAOFactory SQLServerFactory=DAOFactory.getDAOFactory (DAOFactory.SQLSERVER); CustomerDAO custDAO=SQLServerFactory.getCustomerDAO(); Customer cust=custDAO.findCustomer(longName); if(cust !=null&&cust.getPassword().equals(password)){ gotoPage(″/goodsList.jsp″,request,response); 第3期 纪寿文等:基于J2EE的网上购物配送管理系统设计29 }else{ gotoPage(″/loginfailed.html″,request,response); }} else if (getPara.equals(″注册″)){ gotoPage(″/register.jsp″,request,response);} else if (getPara.equals(″放入购物车″)){ gotoPage(″/shoppingCart.jsp″,request,response);} else if (getPara.equals(″删除″)){ gotoPage(″/shoppingCart.jsp″,request,response);} else if (getPara.equals(″查看购物车″)){ gotoPage(″/shoppingCart.jsp″,request,response);} else if (getPara.equals(″清空购物车″)){ gotoPage(″/shoppingCart.jsp″,request,response);} else if (getPara.equals(″提交订单″)){ gotoPage(″/shoppingCart.jsp″,request,response);} } 3·4购物车模块 购物车模块跟踪用户一次的购买过程。 购物车模块需求: 必须能够跟踪用户购买的货品内容(item)。购物车中的每 个item有唯一标示ID,此外,还有item归属的货物的ID,属于的 种类、名字和单品报价。 每个item必须和一个非负的数量有对应关系,客户可以增 删改和改变item数量,或者清空购物车。 购物车的设计: 购物车是和一个session关联的,因为,归属与某个用户,跨 越多个请求。设计的关键在于在哪里存放购物车的状态信息, 我们使用了有状态的session EJB。此外,使用EJB层存放这些状 态信息,客户端可以不用局限于WEB客户端。购物车的结构如 图7所示。 图7 购物车结构 图7是购物车模块的结构图,客户端使用ShoppingCartLo- calHome来创建ShoppingCartLocal。ShoppingCartEJB这个bean中 包含了所有要求的操作。购物车ShoppingCartEJB包含了一个货 品内容的CartItem对象的Collection,这个CarrItem类是个普通的 可序列化远程传输的类。 购物车模块的实现: 购物车被实现成一个有状态的session EJB,里面包含一个 货品内容(item)的Collection。EJB同时提供出各种方法,来增删 改里面的内容,甚至清空。 EJB层的组件可以直接访问购物车EJB。WEB层维护一个 EJB层的控制器,这个控制器有个方法getShoppingClientFacade() 返回ShoppingClientFacadeLocal接口,这个接口的getShoppingCart ()方法返回当前用户的购物车session EJB引用。 4 车辆调度核心算法———CW算法与实现 CW算法由Clarke和Wright提出,该算法简单易用[3]。本文 将配送货物的体积约束引入CW算法在中,以改进的CW节约 启发式算法来进行车辆的优化调度。 4·1算法原理与求解步骤 假设以Cij表示车辆从点i行驶到点j的费用,可以得到点i 和点j连接在一条线路上的费用节约值。 s(i,j)=Ci0+C0j-Cij 若各项任务要求在一定的时间范围内完成,按费用节约值 s(i,j)连接点i和点j时,可能会使j后面的任务的执行不满足 时间要求。当连接点i和点j所在线路时,若车辆到达j点的时 间比原线路上j点任务的开始时间提前,则车辆在j后面的任务 处有可能需要等待;若连接后到达j点的时间比原线路上j点任 务的开始时间推迟,则j后面的任务在执行时可能会发生延迟。 以EFj表示连接点i和点j所在的线路后,车辆到达j点的 时间比原线路上车辆到达j点时间的推迟量(或提前量),则EFj 可如下得到: EFj=si+Ti+tij-sj 显然,EFj<0时,车辆到达j点任务的时间提前;EFj=0时, 到达时间不变;EFj>0时,到达时间推迟。 其步骤如下: ①首先计算各个点i和点j之间线路的费用节约值s(i,j), 形成集合M,并按照从大到小对s(i,j)进行排序。其中: s(i,j)=ci0+c0j-cij ②若M为空,则终止叠代,否则对M中的第一项s(i,j)考 察是否满足下列条件之一,如满足则转下步,否则转⑥。 (a)点i和j均不在已构成的线路上; (b)点i和j在已构成的线路上,但不与车场相连; (c)点i和j位于已构成的不同线路上,均不与车场相连, 且一个是起点,一个是终点。 ③考察点i和j连接后的线路上总货运量Q,若Q≤q,则转 下步,否则转⑥。 ④计算连接点i和j所在的线路后,车辆到达j点的时间比 原路线上车辆到达j点的时间的变化量EFj:EFj=si+Ti+tij- sj。 (a)若EFj=0,转⑤; (b)若EFj<0,则计算Δj-,当|EFj|≤Δj-,转⑤,否则转⑥; (c)若EFj>0,则计算Δj+,当|EFj|≤Δj+,转⑤,否则转⑥。 式中,Δj-为线路上j点后面的各任务处均不需要等待的到 达j点时间的最大允许提前量,其中:Δj-=min r≥j{Sr-ETr}。Δj+ 为线路上j点后面的各任务不违反时间约束的到达j点时间的 最大允许推迟量,其中:Δj+=min r≥j{LTr-Sr}。 ⑤连接点i和点j,计算车辆到达各任务时的新时间。 ⑥令M=M-s(i,j),转②。 4·2 CW算法类的设计 因为我们采用面向对象的程序设计语言java,在编码之前, 建立了面向对象的模型。ResultList、Task、ScheduleValueList、Item 这四个类都是辅助的类。ResultList用来存储计算结果;Task类 用来保存一些调度所需的数据;ScheduleValueList、Item都是计算 过程中的算法需要的中间数据。 30 计算机应用与软件2004年5 应用程序的部署 基于J2EE的web应用程序是一组Servlet、JSP页面、标记 库、HTML文档、图像、样式表以及其它WEB内容的集合。构成 应用程序的组件必须被打包在一起进行传输和部署。J2EE应 用程序中打包后的组件被存储在一个特定类型的JAR文件中, 这个JAR文件被称为企业应用程序归档或EAR(Enterprise Archive)。同时J2EE应用程序还需要一些关于各个不同模块如 何关联以及部署环境的信息,这些信息被记录在一些被称为部 署描述符(DD)的XML文件里。图8显示了一个EAR文件的结 构。 图8 EAR的结构 部署描述文件web.xml是一个XML文件,包括如下内容: ServletContext初始化参数: Servlet/JSP定义; MIME类型映射; 错误处理页面; Session配置; Servlet/JSP映射; 首页文件列表; 安全约束。 web应用部署描述文件web.xml应该放入主web应用目录 的WEB-INF子目录中,可以用来初始化Servlet、指定MIME(Mul- tipurpose Internet Mail Extensions)类型、指定J2EE资源等等。 参考文献 [1]梅绍祖、李伊松、鞠颂东,电子商务与物流,人民邮电出版社,2001·8· [2] Marci Frohock Garcia,Jamie Reding,EdWard Whalen,Steve Adrien Deluca 著,孙岩、黄波、张宁译,SQLServer 2000系统管理员宝典,北京:清华 大学出版社,2001·7· [3]视崇隽、刘民、吴澄,“供应链中车辆路径问题的研究进展及前景”, 《计算机集成系统-CIMS》,2001,Vol.7(11):1~6· (上接第4页) 4 术语权重重构 获得查询q的TAGq查询集后,重新调整术语权重,构造新 的向量Q′。其基本思想是:给定一个查询方案,根据节点的路 径度,强化(strengthen)叶子节点权重,弱化(weaken)图TAGq中中 间节点的权重,从而优化用户查询的目的。 TWA(TermWeight Adjustment Algorithm,术语权重调整)算法: 输入:(1)术语关联图TAGq查询方案GQT; (2)查询术语/权重集合Q={(q1,w1),…,(qn,wn)}。 输出:查询术语/权重集合Q′。 TWA算法: 1)构造空的术语/权重集合Q′=Φ。 2)计算每个节点的路径度: a)令GQT中所有节点的路径度为0; b) for GQT中每条起始路径P=(t1,…,tk) do{ for i=1,2,...,k do path degree(ti)=path degree(ti)+1;} 3)对每个以t为叶子节点的起始路径P=(t1,…,tk,tk=t): a)修改t权重:Wt=Wt+Wti*l/path degree(ti)(1≤i<k); b)修改Q′: Q′=Q′U{(t,wt)}; c)修改Wti权重:Wti=Wti-Wti*l/path degree(ti),修改Q′ (由于同一个术语节点可能出现在多个起始路径中,可能会多次 修改该术语权重。): Q′=Q′U{(ti,witi)}; 4)输出Q′,算法结束。 例子3 设例子2对应的查询术语/初始权重见表1。通过 权重调整算法(令l=0.1),得到表1中不同查询方案的术语权 重。不同的查询方案使得术语A1,m1和A2,1的最终权重不同。 表1 查询术语/权重优化前后对照表 A1A2A3AnA1,m1A2,1A3,k3An,mnA1,1,1,k1 初始权重0·200 0·200 0·200 0·200 0·400 0·400 0·400 0·400 0·600 GQp1路径度1 1 1 1 2 0 1 1 3 权重0·197 0·197 0·180 0·190 0·387 0·000 0·410 0·410 0·629 GQp2路径度1 1 1 1 1 1 1 1 3 权重0·197 0·197 0·180 0·190 0·393 0·393 0·410 0·410 0·623 5 结 论 本文引入术语关联网络TAN概念,检查查询术语的可达关 系,建立术语关联图TAG,构成新的查询,接着利用术语权重调 整算法计算新的术语权重,形成基于术语关联的查询。本文贡 献之处在于利用TAN发现查询中存在的术语关联,并利用术语 关联重新计算术语权重,从而突出用户查询目的。 本文只研究了术语之间的isa联系来体现概念之间的泛化/ 细化联系。由于术语之间存在多种关联,各种关联的性质存在 较大差异。以后的研究内容主要分析可达术语之间的关联种类 和距离,对于不同的可达关联予以不同的考虑,如予以不同的权 重和伸缩因子等。 参考文献 [1] Panagiotis G.Ipeirotis,Luis Gravano,Mehran Sahami.Automatic classifica- tion of text database through query probing,WebDB 2000. [2] Luis Gravano,Hector Garcia-Molina,Anthony Tomasic,GLOSS:Text-Source Discovery over the Internet,Vol.24,No.2,June 1999,ACMTransactions on Database Systems. [3] Luis Gravano,Querying Multiple Document Collections across the Internet, 1997,PHD Thesis. [4] Ricardo Baeza-Yates,Berthier Ribeiro-Neto.Modern Information Retrieval, 1999,ACMPress. [5] Weiyi Meng,King-lup Liu,Clement Yu,et al,Estimating the Usefulness of Search Engines,International Conference of Data Engineering,1999. [6] J.Kleinberg.Authoritative Sources in a hyperlinked environment.In Proceed- ing of the 9thAnnual ACM-SIAM symposium on Discrete Algorithms,pp.668 ~677,January 1998. 第3期 纪寿文等:基于J2EE的网上购物配送管理系统设计31 ---------------------------------------------------------精品 文档---------------------------------------------------------------------展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




基于J2EE的网上购物配送管理系统设计.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/2000767.html