1、 毕业设计论文基于MVC架构的WEBSHOP管理系统的设计与实现摘 要当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。随着网络技术的迅速发展,网上购物成为一种时尚,电子商务的出现使我们从繁琐实际购物中解放出来,提高了我们的工作效率。本系统就是一个具有交互功能的基于MVC架构的WEBSHOP管理系统,本系统旨在在网上建立的一个商品交易市场,使得交易,变得更加快速灵活,从而节省投资和运营成本,并代替传统的人工管理。该系统采用瀑布式设计,包括商品模块,单价模块,名称模块等几个模块。基本实现了管理员对商品单价等的修改以与客户对其的查询。关键词:网上购物;基于MVC架构的WEBSHOP管理系
2、统;商品模块;单价模块;名称模块ABSTRACTIn todays society is fast forward to the information society, the role of information automation is becoming more and more big. With the rapid development of Internet technology, online shopping became a kind of fashion, the appearance of electronic commerce makes us liberate
3、d from complicated actual shopping, improve our work efficiency. This system is an interactive WEBSHOP management system based on MVC architecture, this system is to set up an online commodity trading market, make the deal, become more quickly and flexibly, so as to save investment and operating cos
4、ts, and instead of the traditional manual administration. The system adopts the design of the waterfall, including commodity module, unit module, the name of the module, etc. Several modules. Basically achieved the administrator of commodity price changes and customer queries.Key words:Online shoppi
5、ng; The WEBSHOP management system based on MVC architecture; Commodity module; The unit price module; The name of the module.- 139 - / 144目 录摘要. .IABSTRACT.II1前言.12相关技术. .22.1 SQL Server数据库.22.2 Tomcat服务器. .22.3 JSP. .22.4 Eclipse. .32.5 struts1. .32.6 MVC . . .43系统需求分析. . .43.1 可行性分析. . . 53.1.1 开发
6、背景. . 53.1.2网上购物的发展.53.1.3网上购物的好处. . . 53.2技术可行性分析 . . . .63.3经济可行性分析. . . . .63.3.1实体店的劣势. .63.3.2网上商店的优势.63.4系统功能分析 . . . .63.5开发环境 . . .64系统概要设计或详细设计. .8 4.1系统的架构设计.84.2系统的UI设计. . . .94.3各模块概要设计. . . .114.3.1商品模块. . .114.3.2单价模块. .124.3.3名称模块. .124.4数据库表设计. .124.5 复杂算法的设计. .164.5.1商品模块. . .174.5.
7、2单价模块. . .184.5.3名称模块. . .194.6开发环境的设定. .195系统的实现 . . . 245.1商品模块的实现.245.2单价模块的实现.255.3名称模块的实现. .27结论.29参考文献.30致.31附录A. . . . .32附录B. . . . .43附录C. . . . .851 前言随着计算机网络技术的快速发展,网络/联网应用,在全球围的普与,当今社会,信息自动化的作用也越来越大。电子商务的出现,使我们从各种实务中解放出来,提高了我们工作的效率。在计算机网络支持下,弥补数据库和稳定的开发平台,原有的软件和硬件发展成一套开源的体系结构,可扩展计划或易于维护、
8、良好的机器界面在线的商品交易系统,实现统一管理的商品,供应商,客户的计算机系统服务详细准确。购物过程更容易接受,快捷、方便,很适合现代生活的步伐。该论文主要从商品,单价与名称等方面研究网上购物系统。2 相关软件与技术介绍2.1 SQL Server数据库SQL Server是微软公司开发的一个关系数据库管理系统,以Transact_SQL作为它的数据库查询和编程语言。TSQL是结构化查询语言SQL的一种,支持ANSI SQL92标准。是一个高性能的、多用户的关系型数据库管理系统;它是专为客户/服务器计算环境设计的,是当前最流行的数据库服务器系统之一;它提供的置数据复制功能、强大的管理工具和开放
9、式的系统体系结构为基于事务的企业级信息管理方案提供了一个卓越的平台。SQL Server所使用的数据库查询语言称为Transact-SQL,它是SQL Server的核心,Transact-SQL强化了原有的SQL关键字以进行数据的存取,储存与处理等功能,Transact-SQL扩充了流程控制指定,可以使你方便的编写功能强大的存储过程,他们存放在服务器端,并预先编译过,执行速度非常块,触发是一种特殊的存储过程,用来确保SQL Server数据库引用的完整性,你可以建立插入,删除和更新触发以控制相关的表格中对数据列的插入,删除和更新,你还可以使用规则(Rule),缺省(default)以与限制(
10、Constraints),来协助将新的数值套用到表格中去。2.2 Tomcat服务器Tomcat 服务器是一个免费的开放源代码的Web 应用服务器。Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司与个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP规总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分
11、软件开发商的认可,成为目前比较流行的Web 应用服务器。在本系统设计过程中,利用Tomcat在本地调试JSP编写出来的网页。在本地调试的好处是无需连接互联网即可以打开系统页面,并能够快速刷新页面,为设计带来极大的便利。2.3 JSPJSP(全称JavaServerPages)是由Sun Microsystems公司倡导和许多公司参与共同建立的一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。JSP技术是以Java语言作为脚本语言的,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于的应用程序。 JSP使Java代码和特定的预定义动作
12、可以嵌入到静态页面中。JSP句法增加了被称为JSP动作的XML标签,它们用来调用建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们。标签库提供了一种和平台无关的扩展服务器性能的方法。 JSP被JSP编译器编译成Java Servlets。一个JSP编译器可以把JSP编译成JAVA代码写的servlet然后再由JAVA编译器来编译成机器码,也可以直接编译成二进制码。2.4 eclipseEclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插
13、件集,包括Java开发工具(Java Development Kit,JDK)。2.5 struts1图2.1 struts1的工作原理 (1)初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自动启动的Servlet,在启动时总控制器会读取配置文件(struts-config.xml)的配置信息,为struts中不同的模块初始化相应的对象。(面向对象思想) (2)发送请求:用户提交表单或通过URL向WEB服务器提交请求时,请求的数据通过协议传递给web服务器。 (3)form填充:struts的总控制器ActionServlet在用户
14、提交请求时将数据放到对应的form对象中的成员变量中。 (4)派发请求:控制器根据配置信息对象ActionConfig将请求派发到具体的Action,对应的formBean一并传给这个Action中的excute()方法。 (5)处理业务:Action一般只包含一个excute()方法,它负责执行相应的业务逻辑(调用其它的业务模块)完毕后返回一个ActionForward对象。服务器通过ActionForward对象进行转发工作。 (6)返回响应:Action将业务处理的不同结果返回一个目标响应对象给总控制器。 (7)查找响应:总控制器根据Action处理业务返回的目标响应对象,找到对应的资源
15、对象,一般情况下为jsp页面。 (8)响应用户:目标响应对象将结果传递给资源对象,将结果展现给用户。2.6 MVC MVC全名是Model View Controller,是一种软件设计典,是模型(model)视图(view)控制器(controller)的缩写,用业务逻辑和数据显示分离的方法来组织代码。这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器
16、,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。模型视图控制器(MVC)是Xerox PARC在二十世纪八十年代为编程语言Smalltalk80发明的一种软件设计模式,已被广泛使用。后来被推荐为Oracle旗下Sun公司Java EE平台的设计模式,并且受到越来越多的使用ColdFusion和PHP的开发者的欢迎。模型视图控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。3系统需求分析3.1可行性分析3.1.1 开发背景随着计算机网络技术的快
17、速发展,网络/联网应用,在全球围的普与,当今社会,信息自动化的作用也越来越大。电子商务的出现,使我们从各种实务中解放出来,提高了我们工作的效率。在计算机网络支持下,弥补数据库和稳定的开发平台,原有的软件和硬件发展成一套开源的体系结构,可扩展计划或易于维护、良好的机器界面在线的商品交易系统,实现统一管理的商品,供应商,客户的计算机系统服务详细准确。购物过程更容易接受,快捷、方便,很适合现代生活的步伐。网上购物成为潮流。3.1.2 网上购物的发展 全球信息化的进程正改变着人们的生活方式,全球正逐步进入网络经济时代。网上购物的出现给人们的生活方式带来了前所未有的变化,作为占世界人口五分之一的中国也深
18、刻的感受到了这股浪潮的冲击。网上购物在当今发达国家已显示出了较强的发展势头,它是推动国家经济增长方的一支崭新的力量。例如,GFK(捷孚凯集团)一份针对德国网上购物者的调查指出,在2007年上半年,德国的在线购物销售额达到了53亿欧元。GFK预计,2007年全年德国在线购物销售额达到了110亿欧元之多。相较之下,我国网上购物还是比较滞后的,但经过近几年的发展,越来越多的人认识到“网上订货,送货上门”的方便,也有越来越多的人开始接受网上购物。CNNIC在其发布的中国互联网络热点调查报告中显示:在我国有17.9%的网民在半年有过网络购物经历,有过网络购物经历的被访者中有超过90%的人今后会继续进行网
19、络购物;有63.7%没有购物经历的网民表示今后会尝试网络购物。这些数据都表明我国网上购物市场有巨大的潜力。3.1.3 网上购物的好处 首先,对消费者来说可以在家“逛商店”,订货不受时间、地点的限制;随时可以获得大量的最新的商品信息,可以买到当地没有的商品。无需亲自到现场,省时省力而且价格较一般商场的同类商品更便宜。其次,对于商家来说,由于网上销售经营成本低、没有库存压力、经营规模不受场地限制等。将来必然会有更多的企业选择网上销售,通过互联网对市场信息的与时反馈适时调整经营战略,以此提高企业的经济效益。综上可以看出,网上购物突破了传统商务的障碍,无论对消费者还是企业都有着巨大的吸影响力和吸引力,
20、在新经济时代无疑是达到“多赢”效果的理想模式。3.2技术可行性分析随着我国今年来上网费的降低,网民总数与网上购物者显著增多。现在人们已经离不开网络,网上商店成为时代的产物。网上开店好处多多,运用互联网平台建立自己的网上商店系统。随着网络技术的发展,支撑电子商务应用的技术越来越多:Web技术、电子、EDI技术、条形码技术、数据仓库与数据挖掘技术等等。3. 3 经济可行性分析3.3.1 实体店的劣势店面成本高,商品信息与顾客需求不符,需花钱雇服务人员,服务员对商品不了解,易积货。3.3.2 网上商店的优势投资少,回收快,无所谓存货,不需门面店,启动资金少,只需一台电脑即可。适合个人和小商店网上创业
21、。解决了实体店的劣势,规模越大价格越低,比在实体店购买方便,而且方便顾客不同店家的同类商品;销售地点不受限制,小店铺可做大生意,网上商店不受店面限制,即使实际你只拥有一个小地摊,在网上你却可以拥有一座百货大楼,上万种商品供你销售;销售不受时间限制,不需专人看守,可时刻经营。网上商店无限延长了营业时间,可全天24小时不停运转,而且不受天气影响,只要能上网就可正常营业;网上商店易宣传,人气旺,成千上万的网民都有可能成为你的顾客。3.4 系统功能分析本系统分为前台和后天两部分共3个模块分别是商品模块,名称模块,单价模块。在前台用户可通过注册浏览商品信息价格等。后台管理包括商品信息管理,价格管理,名称
22、管理等以与各种即时信息的发布管理。前台:浏览商品:客户可以浏览网上商城的查看想要商品信息。查询商品:客户可以输入条件,查询自己感兴趣的商品。后台:商品管理,添加修改删除商品信息3.5 开发环境安装配置JSP运行环境,安装配置eclipse,tomcat5.0,以与jdk1.5。4系统概要设计或详细设计4.1系统的架构设计本系统采用MVC的设计方式,MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。图4.1MVC流程网上商店系统
23、卖出单价消费税买进原价率消费税区分适用终了日适用始日单价模块商品名商品略称价格变更可否名称模块商品模块进原价名称略称button图4.2 网上商店模块分布4.2系统的UI设计图4.3 登入页面输入数值后点击确定,数值从数据库里找然后进入系统首页面图4.4系统首页点击管理機能进入详细功能画面图4.5 详细功能画面图4.6 商品台账保守图4.7单价台账保守图4.8 名称台帐保守4.3各模块概要设计4.3.1商品模块(1)概要:可以进行商品表的追加修正删除等操作,一旦论理删除的数据再检索,无法检索出来。(2)机能:商品情报的登入,商品所属部门的设定,价格可否变更的设定,仮JAN的登入(3)制限条件:
24、只有商品code能登入,JAN正规行的检查4.3.2单价模块(1)概要:可以进行单价表的追加修正删除等操作,一旦论理删除的数据再检索,无法检索出来。(2)机能:商品单价和消费税率的基本情报的登入,商品单价适用期的设定,仮JAN数据单价的登入,单价变更的场合相关联的数据表示,输入数值位数不满的情况下在数值前面添零补足(3)制限条件:输入日期要包含在适用开始日和终了日之间,检查设定适用期的合理性,仮JAN表存在的检查,仮JAN数据的单价登入后仮JAN里的该数据删除,复数单价表的期间的设定场合下表间的一天以上的空闲当做错误处理4.3.3名称模块(1)概要:可以进行名称表的追加修正删除等操作,一旦论理
25、删除的数据再检索,无法检索出来。(2)机能::名称基本情报的设定,名称code名称区分的设定,区分IDAPPELLATION_CLS条件下从区分表里得到画面的名称区分,输入的名称code不满4位的情况下前面补零处理3.3制限条件:名称code、名称、略称、位置必须输入,进行位置的重复检查4.4 数据库表设计表4.1Table一览表ID表名字段名1区分 TM_KBN2商品TM_HIN3単価TM_PRC4名称 TM_APP商品表逻辑设计:表4.2 商品表项目ID项目属性ARTICLE_CODE商品数字JAN_CODEJAN数字ARTICLE_NAME商品名文字ARTICLE_KANA商品略称文字B
26、RANCH_CODE1大部門数字BRANCH_CODE2中部門数字BRANCH_CODE3小部門数字PRICE_UPD_FLG価格変更可否文字图4.9 商品表的物理设计表4.3 单价表逻辑设计項目ID項目属性ARTICLE_CODE商品数字JAN_CODEJAN数字USE_DATE_S_DT_FIND適用開始日(検索)数字USE_DATE_S_DT適用開始日数字USE_DATE_E_DT適用終了日数字CO_TAX_RATE_CD消費税率区分文字BEFORE_TAX_SALE_PRICE売上単価税抜価格数字SALE_PRICE売上単価税込価格数字SALE_EXCISE_TAX売上単価消費税額数字
27、COST_RATE仕入原価率数字BEFORE_TAX_STOCK_PRICE仕入原価税抜価格数字STOCK_PRICE仕入原価税込価格数字STOCK_EXCISE_TAX仕入原価消費税額数字 売上消費税区分是0:外税的场合、売上単価税抜価格必须输入 売上消費税区分是1:税的场合、売上単価税込価格必须输入 売上消費税区分是2:非课税的场合、売上単価税抜価格必须输入 仕入消費税区分是0:外税的场合、仕入単価税抜価格必须输入 仕入消費税区分是1:税的场合、仕入単価税込価格必须输入 仕入消費税区分是2:非课税的场合、仕入単価税抜価格必须输入 仕入消費税区分未入力的场合、不必输入图4.10 单价表的物理
28、设计表4.4 名称表的逻辑设计項目ID項目属性APPELLATION_CODE名称数字APPELLATION_CLS名称区分文字APPELLATION名称文字APPELLATION_ACRONYM略称文字BUTTON_POSITION位置数字图4.11 名称表的物理设计Struts_config.xml文件的配置Struts_config.xml文件是一个XML文本文件,它用来储存应用程序的配置信息(如 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。config文件,包括默认的配置设置,所有的子目录都继承它的配置设置。如果你想修改子目录的配置设置,你可以在该子目录下新建一个co
29、nfig文件。它可以提供除从父目录继承的配置信息以外的配置信息,也可以重写或修改父目录中定义的设置。 在运行时对Web.config文件的修改不需要重启服务就可以生效。config文件是可以扩展的,你可以自定义新的配置参数并编写配置处理程序以对它们进行处理。4.5 复杂算法的设计4.5.1 商品模块 当画面检索按钮按下后如果JAN区分是1的情况下,当输入JAN时会报JAN入力。 的错误信息。其关键代码如下:if (!BaseCheck.isEmpty(form.getBranchCode1()&!BaseCheck.isEmpty(form.getBranchCode2()&!BaseChec
30、k.isEmpty(form.getBranchCode3() TmBmnD db=new TmBmnD(conn);TmBmn_st st = new TmBmn_st();st.setBranchCode1(form.getBranchCode1();st.setBranchCode2(form.getBranchCode2();st.setBranchCode3(form.getBranchCode3();ReturnValue retValue = db.seletByPK(st);if (retValue.isError() form.setErrorCode(retValue.ge
31、tErrorCode();form.setErrorMessage(retValue.getErrorMessage();form.setMode(SEARCH);return;对于画面输入值的检查代码如下: logic.checkBody(form); /結果評判 if (!form.isError() / 場合 form.setMethod(form.getMode(); / 元 if (ADD.equals(form.getMode() form.setSuccessCode(2001000); / ID(登録,) else if (UPDATE.equals(form.getMode(
32、) form.setSuccessCode(2001010); / ID(更新,) else if (DELETE.equals(form.getMode() form.setSuccessCode(2001020); / ID(削除,) form.setBodyReadOnly(false); / 部分入力可 form.setBodyCanView(true); / 部分表示 form.setHeadReadOnly(true); / 部分入力不可 /画面遷移 return mapping.findForward(TOJSP);4.5.2 单价模块图4.12 日期围图如果输入的检索开始日不在
33、适用日期围则报错误信息if (outst.getUseDateEDt() pareTo( BaseCheck.convertDateToYYYYMMDD(form.getUseDateSDt() = 0) messList.setMessage(useDateSDt, null, 1000470, Integer.MIN_VALUE, 適用開始日); form.setErrorCode(BUSSINESSERROR); form.setErrorMessList(messList); return;4.5.3 名称模块更新时,当画面上的名称code不和检索的code一样时报指定位置他端末設定可
34、能性。的错误信息if (!(out.getAppellationCode().equals(form.getAppellationCode() String formatCode=BaseCheck.getInputCheckFormat(MT0100_buttonPosition).split(,); messList.setMessage(buttonPosition,form.getButtonPosition().toString(),1000920,Integer.MIN_VALUE,null,formatCode23);/ 指定位置他端末設定可能性。4.6开发环境的设定Tomcat
35、的设定:图4.13Tomcat的设定图4.14 Tomcat的设定图4.15Tomcat的设定图4.16 Tomcat的设定图4.17 Tomcat的设定图4.18 Tomcat的设定Webshop 的部署图4.19 webshop的部署选中Tomcat Manager图4.20 webshop的部署图4.21 webshop的部署5 系统的实现5.1 商品模块的实现 该模块实现了对商品信息的增删改查业务,在追加、更新的场合下按下追加修正按钮首先进行画面输入项目的检查,位数不满的填零补足;在进行部门code的检查时,当输入的值是数据库中没有的值时报错误信息。当所有检查都通过时进行追加操作。对部
36、门的检索check代码如下:public void bblk006(MT0050Frm form) throws Exception logMethodStartInfo(form, bblk006);try if (!BaseCheck.isEmpty(form.getBranchCode1()&!BaseCheck.isEmpty(form.getBranchCode2()&!BaseCheck.isEmpty(form.getBranchCode3() TmBmnD db=new TmBmnD(conn);TmBmn_st st = new TmBmn_st();st.setBranch
37、Code1(form.getBranchCode1();st.setBranchCode2(form.getBranchCode2();st.setBranchCode3(form.getBranchCode3();ReturnValue retValue = db.seletByPK(st);if (retValue.isError() form.setErrorCode(retValue.getErrorCode();form.setErrorMessage(retValue.getErrorMessage();form.setMode(SEARCH);return; else if (retValue.getHitCount() 0) TmBmn_st out = (TmBmn_st) retValue.getDataValue();form.setLblJanName(out.getBranchName();return; else
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100