外埠肉交易中心管理系统

摘 要为了加大对肉类食品安全的责任体系搭建。防止不合格的肉类制品在市面上的流通。通过加强建设外埠肉的溯源系统建立良好的问责机制,保证肉类在市面流通时信息的完整性。通过建设肉品检疫站,并且对合格的肉类办理严格的验证和换证等手续。统一管理和经营好外埠肉市场。作为农产品经营者和菜市场,餐饮店,超市的中间的信息管理系统。外埠肉交易中心管理系统在操作上更显人性化,性能优良,稳定性高。从流通主体还有安全检验上面抓效率。保证肉类制品等信息真实可靠,系统操作简便,责任分工明确的肉类制品的溯源体系。保证从肉品供货商到追溯系统再到买方的信息紧密相连,环环相扣而不出错。本文先介绍了外埠肉追溯背景及现状,外埠肉责任确定的可行性,详细的说明RFID的含义及主流的追溯技术,本文所研究的是基于RFID追溯的交易中心管理系统,阐述了追溯系统的意义,也详细的介绍了系统的运行机制。详细说明了与系统相关的关键技术和需求分析、概要设计、详细设计、编码实现及测试等。旨在建设一个信息可靠透明实用的肉类溯源系统。本文对RFID用于食品质量安全溯源进行了详细的解释。主要利用Java web技术完成信息管理系统界面的设计,并有效的实现了肉类溯源信息的封装。通过将肉品批次信息和标签挂钩进行绑定,系统能够有效地对肉类进行责任溯源。关 键 词:管理系统 ;RFID; 溯源系统; Java WebABSTRACTIn order to increase meat safety system. To prevent unqualified meat products in circulation on the market. By strengthening the construction of outside meat traceability system establishing good accountability mechanisms to ensure when meat is in circulation and integrity of the information. By building a meat Depot, and condemned meat go through rigorous verification and replacement procedures. Unified man
 *好棒文|www.hbsrm.com +Q: 3 5 1 9 1 6 0 7 2 
agement and run out of meat market. As agricultural operators and markets, restaurants and supermarkets in the middle of the information management system. Outside meat trading center in the operation of the system more humane, good performance and high stability. From the circulation efficiency of safety inspection agents also caught above. Ensure that meat products, and other information is true and reliable, the system is simple, the Division of responsibility clear traceability system for meat products. Guarantee from a meat supplier closely linked to traceability system to the buyers information, connected without errors.This article first introduces the other place meat back background and present situation of outside meat is responsible for determining the feasibility of detail meaning and mainstreaming of RFID traceability technology, this paper is based on the trading center of RFID traceability management system, explains the significance of traceability system, also described in detail how the system works. Detailed descriptions of key technologies associated with the system and demand analysis, preliminary design, detailed design, coding and testing. Aimed at building a reliable transparent meat traceability system information.This paper on RFID for food quality and safety traceability is explained in detail. Mainly using Java Web technologies to manage information system interface design, and efficient meat traceability information package. By linking batch information and labelling of meat products by binding system to effectively trace meat with responsibility.KEY WORDS: Management system; RFID; traceability system; Java web第1章 绪论 11.1 选题背景 11.1.1 RFID技术的日益成熟 11.1.2 外埠肉交易中心管理系统的提出背景和现实意义 11.1.3 RFID在溯源系统中扮演的重要角色 21.1.4 基于RFID溯源系统的优势 21.2 外埠肉交易中心管理系统的总体框架 2第2章 相关技术说明 42.1 溯源系统的机制说明 42.2 J2EE技术 52.2.1 Servlet技术 52.2.2 JavaBean技术 52.2.3 JDBC技术 62.2.4 Struts框架 62.2.5 JSP技术 62.3 HTML和JS技术 72.4 B/S结构概述 8第3章 可行性分析及需求分析 93.1 可行性分析 93.1.1 技术可行性 93.1.2 经济可行性 93.1.3 社会可行性 93.2 功能需求 103.2.1 业务流程 103.2.2 系统功能需求 113.2 数据字典 123.3 系统性能 143.3.1 系统响应时间 143.3.2 系统稳定性 143.3.3 系统适应性 14第4章 总体设计 164.1 系统功能模块设计 164.1.1 外埠肉管理系统用户管理功能模块设计 174.1.2 进场登记功能模块设计 174.1.3 模块查询功能设计 184.1.4 理货出厂功能模块设计 184.1.5 商品交易功能模块设计 194.2 数据库设计 204.2.1 外埠肉数据库模型的构建 204.2.2 表设计 204.3 方案选择 244.3.1 技术的使用 244.3.2 开发工具选择 25第5章 详细设计与实现 265.1 系统模型层的设计与实现 265.2 系统控制层的设计与实现 275.2.1 Struts环境的搭建 275.2.2 Action的响应过程 285.2.3 数据库处理的实现 295.3 系统视图层的设计与实现 295.3.1 前台的处理 305.3.2 Ajax处理 30第6章 系统测试 326.1 功能测试 326.2 性能测试 35第7章 结束语 367.1 总结 367.2 展望 36参考文献 38致 谢 39第1章 绪论本章主要就RFID的技术的应用背景及其相关原理,并就RFID在溯源的应用及所面临的一些问题进行了阐述,也对肉类溯源构建的意义进行了分析说明。 1.1 选题背景1.1.1 RFID技术的日益成熟 RFID(Radio Frequency Identification)技术,又称无线射频识别该技术起源于英国,最早的应用可追溯到第二次世界大战中用于区分联军和纳粹飞机的“敌我辨识”系统(1)。20 世纪 60 年代开始商用。从分类上看13.56MHz一下的RFID技术已经相对成熟。RFID系统主要由数据采集和后台数据库网络应用系统两大部分组成(2)。工作时,读写器发射功率同时与标签通信,标签对读写器发射功率进行响应。RFID一般采用圆极化的天线,无论收信天线的极化方向如何,感应出的信号都是相同的,不会有什么差别(电磁波在任何方向上的投影都是一样的)。所以,采用圆极化方式,使得系统对天线的方位敏感性降低。因而,大多数场合都采用了圆极化方式。而线极化方式对天线的方向要求较高。当然在实际条件下,电磁波传播途中遇到反射折射,会引起极化方向偏转,有时一个信号既可以被水平天线接收,也可以被垂直天线接收,但无论如何,天线的极化方向常常是需要考虑的重要问题(3)。1.1.2 外埠肉交易中心管理系统的提出背景和现实意义随着时代的发展,人们对自己的健康问题越来越关注。我国是肉类制品的生产和消费大国。肉类制品的安全性一直是个备受争议的话题,也是一件关系国计民生的大事情。前些时候,一些不法商家利用瘦肉精或者给牲畜注射激素等手段谋取暴利。为了防止这些不合格的肉类制品在市面上的流通。肉类追溯体系的建设迫在眉睫。肉类产品的质量安全问题是制约畜牧业发展的重要因素。肉类溯源系统的建立,具有十分重要的现实意义。肉类溯源系统的建立将有助于畜产品质量控制和产品召回,是肉类产品质量安全的有效保障,也是消费者健康的有效保证。肉类产品溯源系统的建立将加强畜牧业的信息化管理实现肉类产品优质优价,有利于规范肉类产品市场。肉类产品溯源系统的建立将提高畜牧业生产现代化水平,促进畜牧业健康可持续发展(4)。1.1.3 RFID在溯源系统中扮演的重要角色RFID技术经历几十年的发展应用,技术本身已经非常成熟,在我们日常生活中随处可见,应用于防伪实际就是在普通的商品上加一个RFID电子标签,标签本身相当于一个商品的身份证,伴随商品生产、流通、使用各个环节,在各个环节记录商品各项信息。1.1.4 基于RFID溯源系统的优势RFID技术能实现快速的扫描,能够重复地被使用,而且它的数据的存储容量较传统的条形码要大许多。体型mini,形状多变。并且RFID在读取的时候并不受尺寸和大小的影响。另外RFID它携带的信息经密码的保护,安全性高。RFID的信息存储在芯片中,这样使得RFID的强的抗污染能力和长的使用寿命。RFID还能穿透非透明的材质。当RFID的标签进入检测磁场,就能够很快的读取出标签信息。有效的识别距离很长,可达到30米左右(5)。1.2 外埠肉交易中心管理系统的总体框架外埠肉交易中心管理系统作为连接肉类产品经营者和菜市场,超市等的中间层。它对数据有着存储和传输和处理功能。追溯系统作为追溯源头控制点和关键信息采集点,充分利用溯源电子秤、肉类蔬菜流通服务卡、条码标签等技术手段,将相关肉类信息与大卖场、连锁超市、平价超市、加工企业和重点团体采购企业销售信息进行对接,实现肉类来源和流向追溯的全程跟踪和可溯源的信息化管理系统。本系统首先通过对外埠肉类进行信息采集和登记,然后将采集的信息和rfid的挂钩进行绑定,通过挂钩读取出外埠肉类的产品信息,进行一人一卡刷卡交易(6)。通过挂钩的写入和读取完成数据的交互。总体框架见下图:图1-1 系统的总体框架图 肉品配送专卖门店由溯源秤和内置的读卡程序组成,获取从商品配送的总部服务器从肉品配送进场pc上传来的进场数据。应用服务器接收进场数据和交易数据存入到内网服务器当中。第2章 相关技术说明本章先将溯源系统的运行机制进行了说明,然后将外埠肉管理系统所用到的关键技术和系统框架和系统结构进行了相关的阐述。相关技术有用于前台显示处理的JSP,Html,JS ;和用于后台处理的技术:Servlet,JDBC,Ajax,JavaBean及框架的使用如:Struts和系统结构B/S。2.1 溯源系统的机制说明RFID 标签中含有的全球唯一的追溯码快速获得食品的信息。食品安全监管中心可以由各级政府的质量检查检疫机构和工商部门等组织组成(7)。根据 RFID 信息, 可以快速查找问题的根源并控制生产。由于食品供应链上节点信息涉及到企业的内部信息, 为了使企业内部问题不被外界所知, 采用节点企业将企业所有信息都交给中间的代理商的方式, 代理商作为第 3 方的角色参与到食品供应链中来, 代理商只将能完成食品追溯的必需产品标识信息传递到食品监管中心。图2-1肉类追溯子系统功能示意图如上图所示的肉类追溯子系统流程图。要求进入市场的摊户需要对自己的信息进行备案,并需要将备案实名,实名后对摊户发放服务卡。摊户分为经营者和供应商,提供进入市面的肉类。肉类制品在入场前要进行信息的确认。对肉类进行电子台账建立之后,袒护可以进行持卡申报,完成验货登记操作。而不建立台账的批次肉类,需要确定肉类批次信息。并补上电子台账的信息后,写入到摊户的服务卡中。肉类入场之后,需对肉类的安全进行检测,质量检测通过的,需要录入到电子台账中。不通过的退回到原来的摊户。检验通过的肉类制品可以在市面上进行流通交易。顾客消费后,对交易打单,交割单传送到查询机器上,消费者可以自助地进行打票。并将信息导入到电子台账中。完成操作后的信息需要传输到城市总的追溯平台,供以后责任的评判。2.2 J2EE技术2.2.1 Servlet技术Servlet 是与平台无关的服务器端组件,是按 SUN 公司的 Servlet 标准写的 Java 类。Servlet 可以在实现了 SUN公司的 Servlet 标准容器(tomcat 容器、Weblogic 容器 等,提供了支持运行 Servlet 的一些底层封装)中运行。Servlet 容器负责 Servlet 和客户通信以及调用 Servlet 的方法,Servlet 和客户的通信采用“请求响应”模式。Servlet 可以在容器的支持下处理 HTTP 请求和响应,动态生成 HTML。Servlet 运行在 web 容器中,web 容器可以控制 Servlet 对象生命周期,控制请求由 Servlet 对象处理。容器和Servlet 的接口由 Java Servlet API 定义的,Servlet 在生命周期中会被 web 容器调用。2.2.2 JavaBean技术JavaBean是由Sun公司研发的一个可以重复使用的Java Web标准组件。它的作用是建立了数据库与JSP页面之间的桥梁。在Java文件中,经常会碰到一些只写了get和set方法,并且这些方法访问类型都是public。具有这样属性的文件被称为JavaBean。在开发的过程中,用户可以调用封装在JavaBean里面的方法,方便对属性值操作,从而达到代码重复利用的目的。JSP与JavaBean的结合是目前小型B/S应用开发的最常见的结合方式。使用这种方式能很好地实现页面与业务的分离。JavaBean主要负责业务处理,将数据封装起来,可以直接供JSP调用并将数据显示出来。使用JavaBean 的好处是可以减轻JSP页面上的代码量,提高页面的访问速度。2.2.3 JDBC技术JDBC是Sun公司为各种常用数据库提供的一种要用于执行SQL语句的无缝连接技术的API。利用它可以完成对数据库的精确查找、更新等操作。它用java编写的类和接口为程序开发人员提供了一个标准的API。这个API提供了标准的编写和考虑了对所有不同应用程序的设计。这个APi也可以使用JDBC开发的程序可以跨平台运行,而且不受数据库供应商的限制。Java语言具有一次编译,随处运行的特点,由于JDBC API由Java语言编写的,自然也会继承Java的特性。每个JDBC程序至少要有一个驱动程序且每个驱动程序只属于一种DBMS为了方便开发者可以有针对性的选择驱动程序(9),Sun公司在开发JDBC的同时提供了一个驱动管理器,其目的是方便第三方的驱动程序可以连接到指定的数据库,这样就可以将数据库供应商所提供驱动程序插入到驱动器中,但前提条件是所提供的所有的驱动程序都必须满足驱动管理器的要求,否则不会被识别,而不能正常工作。2.2.4 Struts框架Struts是Apache基金组织的一个开源项目,它是对经典设计模式MVC的一种实现。主要用作大型的项目开发。通过继承 Action 类来实现具体的执行类。具体 Action 类的功能一般都在 execute方法中完成。ActionServlet 表示 MVC 结构中的控制器部分,它需要完成控制器所需的前端控制及转发请求等职责。其次,ActionServlet 被实现为一个专门处理 HTTP 请求的 Servlet,它同时具有 servlet 的特点。在 Struts 1.1 中它主要完成以下功能:接收客户端请求;据客户端的 URI 将请求映射到一个相应的 Action 类;从请求中获取数据填充 Form Bean;调用 Action 类的 execute() 方法获取数据或者执行业务逻辑;选择正确的视图响应客户。 2.2.5 JSP技术JSP是由Sun公司领导开发的一种动态网页开发技术。它是在HTML语言基础上插入Java代码和JSP标签,从而形成了*.jsp文件。在执行JSP文件时,首先它会向Web服务器发出请求,Web服务器在处理请求时,首先会执行其中的Java代码段,这些Java代码可以实现连接数据库和网页的重定向作用;然后执行HTML代码并将结果一起返回给用户。这样就实现了建立动态网页所需要的功能。这种动态网站开发技术主要有很多优点。可将内容的生成和显示分离,并能够在任何Web或应用程序服务器上运行。可重用组件,简化了开发Web交互式应用程序的过程,能够进行快速的开发和测试。拥有自己的标签库,供开发者方便使用。可以提高开发的速度和维护的效率。在JSP界面中可以用JDBC实现数据库连接,既快捷又安全(8)。HTML和JS技术HTML是一种可以加入文本,表格,图片,音乐,动画,视频等内容的超文本标记语言。HTML一直被用作万维网的信息表示语言。用HTML语言编写的文本文件称为HTML文档。事实上,每一个HTML文档都是一种静态网页,这个网页里包含了HTML指令标签,这些指令标签并不像C++或Java那样的程序语言,它只是一种将网页中的资料进行排版并显示的标志结构语言。易学易懂,非常简单。而且他能独立运作在各种操作系统平台上,并需要通过浏览器将网页的效果显示出来。JavaScript是一种脚本语言,它可以使用在HTML,JSP等Web网页中,动态的完成有某种操作所产生的动作,例如:单击按钮,移动鼠标,按下键盘等操作。JavaScript不仅是一种脚本语言,同时还是一种面向对象的语言,具有面向对象语言的特点,操作方便,使用灵活,功能强大,备受网页开发者亲睐。Ajax 是异步的JavaScript和XML,它不是一项新技术,而是一种可以实现动态交互的网页开发技术。Ajax技术是一个可以构建动态的,响应迅速的Web应用程序,并可以使Web应用程序界面达到传统桌面程序的应用效果。在传统Web的开发中,采取的是请求-刷新-显示的开发模式,每个请求都要通过一个单独的页面显示出来,页面的刷新其实指的就是重新请求该页面。所以每发送一次请求,页面就会刷新一次。当用户单击按钮或超链接向服务器发送请求时,由服务器直接接收并处理,处理完毕后,再将处理结果返回给客户端的浏览器。然后在服务器处理的过程中,浏览器一直处于休眠状态。Ajax更趋向于传统桌面程序,使Web页面越来越独立化。Ajax中的客户端页面与服务器的接口不再是一一对应的关系,而是由多个接口共同合作完成请求页面上所需要的功能。在用户行为与Web服务器之间有一个Ajax引擎,通过这个引擎,客户端页面可以根据用户的请求调用服务器端相对应的接口,并将结果显示在浏览器上。Ajax的工作原理其实就是创建一个XmlHttpRequest对象,并且该对象向服务器发送异步请求,当获取从服务器返回的数据,便使用JavaScript的DOM模型对象更新页面。在使用Ajax开发的程序中,最主要的特点就是将同步请求转换成异步请求。异步请求表示客户端和服务器端之间不需要时间等待,也就是说在服务器接受请求后在处理的过程中,客户端不必处于休眠状态等待结果,Ajax实现了用户与服务器之间的过渡。2.4 B/S结构概述 B/S结构即通常所说的浏览器/服务器模式,在WEB流行起来的一种网络的结构模式,WEB浏览器作为客户端的最重要的应用软件。客户机上只需安装浏览器就能实现和数据库的交互。这就使得电脑只要能够联网就能访问而不必使用其它专门的软件。 基于B/S架构开发的软件,维护和升级方式简单,提升了工作效率。只需要管理服务器就行了。因为所有的操作都是基于服务器端进行的。这样的方式也降低了成本,而且安全性高。但是这种架构的服务器端的数据负荷很大。因为后台软件都是安装在服务器端的,需要处理大量的用户请求,如果服务器端一旦瘫痪,后果极其严重。 B/S建立在广域网上,有较好的重用性,面向不同的用户群体,并且能够以丰富的表现方式同用户进行交流。是目前的流行趋势。本系统的B/S结构图如下:图2-2 系统的B/S结构图第3章 可行性分析及需求分析本章的主要就系统的可行性和需求展开,旨在对外埠肉管理系统的全面考虑。可以在定义阶段较早的认识到系统方案的缺陷,就可以节省大量的财力和物力。避免许多专业性的问题。也通过系统的业务流程图详细的将系统的功能需求描绘出来,将系统的执行顺序体现出来。详细了说明了各个功能模块的业务流程及其原理,并构建了系统的数据字典。3.1 可行性分析3.1.1 技术可行性 本系统主要拥有进场登记,理货管理和交易管理与追溯等功能,能够通过Java Web技术实现系统的开发工作。由于平时有做过Java Web项目的开发,拥有一定的开发经验,技术上是可行的。3.1.2 经济可行性 由于系统属于追溯系统的子系统,属于中小型的信息管理系统。开发周期2个月左右,计算机开发所需的软硬件均已具备,同时也拥有免费的办公场所和廉价的网络设备。支出成本很低。3.1.3 社会可行性随着人们对食品安全意识的加强,追溯系统已拥有了存在的社会基础。该软件没有抄袭和侵权等违法等情况。而且没有被申请过专利,该软件的功能齐全,便于操作使用,容易上手。3.2 功能需求3.2.1 业务流程管理员登录进入系统后,可以执行用户信息管理,经营者信息管理,进场登记,理货出厂,肉类交易和模块查询等操作。系统具体流程如图3-1所示。图3-1 业务流程图如上述流程图所示,用户在系统首页通过输入用户信息进入管理系统,信息不正确给出提示,重新输入匹配正确后进入管理系统。用户信息输入正确进入系统后,能够看到一系列的管理菜单列表,外埠肉进入市场前需要将检验检疫信息录入追溯系统。检验检疫不合格进行无害化处理。先记录外埠肉品入场信息,分配新的批次信息和追溯码。同时提供核查功能,有效保障入场肉品质量,并实现问题批次在全市流通环节内的预警。对外埠肉进行分批,对肉品批次信息和标签挂钩进行绑定,并在系统中进行记录。理货出厂时,需要记录肉品出场信息,写入经营者的肉菜流通服务卡,打印出场凭证。外埠肉品换证中心在规定时间内将追溯信息上传市级肉菜追溯管理平台。通过读取挂钩信息可以对肉类进行交易。交易后数据存入数据库。3.2.2 系统功能需求根据系统的业务需求,外埠肉交易中心管理系统大致可以分为六大功能模块;有用于管理用户信息模块,用于支持进场登记处理的模块,用于理货出厂管理的模块,用于商品交易的模块,用于查询各模块的信息的功能模块,以及用户使用的帮助文档。编号功能名称功能说明1用户管理用户通过在登录界面输入用户名和密码之后,进入系统管理界面用户可以根据自己的权限,注册新用户或者修改个人信息,超级管理员能够对用户进行添加和删除和查询等操作。操作员也能对经营者的信息进行管理。2进场登记对肉类的相关信息进行登记操作,外埠肉品进场信息:进场日期、经营者编码、经营者名称、交易凭证号或动物产品检疫合格证号或肉品品质检验合格证号、商品编码、商品名称、重量、单价、产地编码、产地名称、运输车牌号、供货屠宰厂或批发市场编码、供货屠宰厂或批发市场名称。3理货出厂管理外埠肉信息录入完成后,将信息与挂钩进行绑定,这样能够保证外埠肉在流通过程中信息的可靠性,绑定挂钩后将外埠肉出厂,外埠肉进入市面,带有RFID的标签能够对肉类的流通进行跟踪4交易管理消费者持有实名卡购买外埠肉类,通过读取标签,获取肉类的产品信息,然后完成交易。这样就形成了一个有效的信息闭环,能够有效的确定肉类流通的各个环节的责任问责机制。5模块查询这个功能模块主要是对进场登记,理货出厂管理及交易管理的信息进行查询操作。通过这个模块操作可以很清楚的获取每个环节的信息。6帮助文档帮助文档主要就系统的操作流程及相关细节对系统进行了完整的介绍表3-1 功能需求列表3.2 数据字典作为连接经营者和消费者的中间数据信息管理系统。数据的准确性和重要性极其重要。从每个实体出发,筛选并设计出有效的数据库系统能大幅提高系统的运行效率,且能提高系统的商用价值。数据字典作为每个数据库的中心,拥有着非常重要的信息。它是对数据流图中包含的所有元素的定义的集合。它由数据项,数据结构,数据流,处理过程,数据存储等构成,详细的数据字典设计见下表。序号信息数据项数据描述数据类型1产地黑名单黑名单标识黑名单的标识字段整型产地编码产地的序列号字符串型(长约30位)修改者修改信息的操作员字符串型(长约30位)修改时间修改信息的时间日期类型删除者删除产地信息的操作员字符串型(长约50位)删除时间删除产地信息的时间日期类型2经营者经营者标识标识经营者的字段整型经营者编码经营者的序列号字符串型(长约200位)经营者名称经营者的姓名字符串型(长约30位)经营者性质经营者的经营的方式字符串型(长约30位)法人代表经营负责方字符串型(长约30位)联系电话经营者的联系方式字符串型(长约20位)信息更新状态标识信息的更新状态字符串型(长约20位)行政编码经营者所在地的行政号字符串型(长约230位)3RFIDRFID标识标识RFID的字段整型RFID编码对RFID按顺序编码字符串型(长约20位)挂钩编码有RFID功能的挂钩编码字符串型(长约30位)4进场登记进场标识标识进场的字段整型来源标识标识产品来源的字段整型产品标识标识产品的字段整型用户标识标识用户的字段整型进场批次号产品进场的批次号字符串型(长约30位)进场日期产品进场的日期日期类型合格证号肉类的合格证编号字符串型(长约30位)重量产品的重量字符串型(长约30位)价格产品的价格字符串型(长约30位)产地编码产地的序列号字符串型(长约30位)进场状态进场的状态标识字段字符串型(长约30位)进场备注对进场信息进行备注字符串型(长约30位)进场头数进场的生猪头数字符串型(长约30位)5用户信息用户标识标识用户的字段整型用户名称用户的姓名字符串型(长约30位)工号操作员的工号字符串型(长约30位)登录密码操作员的登录密码字符串型(长约30位)用户说明对用户的职能进行描述字符串型(长约30位)登录时间用户最新登录的时间日期类型6产品信息产品标识标识产品的字段整型产品编码产品的序列号字符串型(长约30位)产品名称产品的品名字符串型(长约30位)产品说明对产品的描述字符串型(长约30位)7理货信息理货标识标识理货的字段整型用户标识标识用户的字段整型进场标识标识进场的字段整型理货时间记录理货的时间日期类型理货重量记录理货的数量字符串型(长约30位)挂钩编码具有RFID标签挂钩的编码字符串型(长约50位)理货状态理货的状态字符串型(长约50位)8交易明细信息交易明细标识标识产品的交易明细整型交易标识标识交易的字段整型交易追溯号用于追溯交易来源的字段字符串型(长约30位)商品数量交易的商品数量字符串型(长约30位)重量交易的商品重量字符串型(长约30位)9交易基本信息交易标识标识交易的字段整型经营者标识标识经营者的字段整型产品标识标识产品的字段整型用户标识标识用户的字段整型交易类型消费者的购买类型字符串型(长约30位)交易时间消费者的交易时间日期类型商品数量交易的商品数量整型重量交易的商品重量字符串型(长约30位)价格交易的商品的单价字符串型(长约30位)支付状态是否订单已经支付字符串型(长约30位)支付方式支付是使用现金或者刷卡字符串型(长约30位)交易状态交易是否完成的标识字符串型(长约30位)表3-2 数据字典3.3 系统性能3.3.1 系统响应时间使用计算机的用户群体最讨厌等待系统的迟钝,一般情况下,超过三秒的响应时间会严重影响工作的效率,使用户体验变得十分差劲。一般时间的消耗都集中在动态页面的加载和与服务器的连接上。在保证网络畅通的情况下,内存的大小也是极为重要的一部分。还有就是算法的优化上面,简单的排序查找方式例如冒泡排序,它的效率要低于快速排序。所以在算法上涉及增删改查操作的尽量使用相对复杂的算法进行优化。3.3.2 系统稳定性因为外埠肉系统所处的信息量比较大,所以保证系统的长时间的正常运行是个非常关键的任务。为了防止数据的的出错和流失,数据库采用了数据冗余技术。在信息管理系统中,通常查询等操作会产生大量的数据,通过分页等技术能保证显示的条理性。系统应该支持长时间的操作而不出现死机,闪退等现象。应该支持多线程的操作。3.3.3 系统适应性因为系统是使用Java语言编写。系统的可移植性很好。而且在主流的浏览器上都能保证正常工作,软件的操作步骤简单,界面人性化。使用方便,高效。系统具有很好的兼容性,而且内存占有率也不高。系统是在windows7 环境下开发的。系统最低的运行要求:CPU:p4?1.8GHz以上;内存:256MB以上;能够运行IE5.0以上或者Netspace?4.0?版本的机器;分辨率:推荐使用1024?x?768像素;Web服务器;CPU:P4?2.0GHz;内存:1GB以上;硬盘:80GB以上;网卡:KMb/s速度;数据库服务器;CPU:P4?2.0GHz;内存:1GB以上;硬盘:80GB以上。软件环境:本系统的软件环境:操作系统:UNIX/Linux/Windows?2000或以上版本;数据库:SQL?Server?2005;浏览器:IE6.0及以上;第4章 总体设计本章主要介绍外埠肉交易中心管理系统的整体设计思路。构建好了每个数据库表。从系统的总体结构和模块外部出发。为系统设计了一个大致的框架。4.1 系统功能模块设计外埠肉交易中心管理系统由五大部分组成:用户管理,进场登记,理货出厂管理,商品交易模块,及各个模块信息的查询。用户管理模块下,用户可以对自己的信息进行管理,管理员可以添加和删除用户,能对用户记录进行查询。在进场登记模块,操作员能够录入肉类的进场信息并能对不正确的信息进行校正。理货模块,操作员将录入信息绑定到挂钩,可以对不当的信息进行修改;理货完成的产品,将在市面上流通;在交易模块,操作员在通过读取标签获取产品信息并与消费者达成交易。查询模块主要对各个阶段的信息进行统一的查询操作,系统的总体框架图见4-1。图4-1总体框架图4.1.1 外埠肉管理系统用户管理功能模块设计这个功能模块是用户的信息管理。管理员可以注册和删除用户。用户自己可以对自己的信息进行修改。用户可查询操作员。用户登录系统,完成验证后进入管理菜单界面对自己的信息进行管理。图4-2 外埠肉管理系统用户管理模块4.1.2 进场登记功能模块设计这个模块首先对外埠肉的信息进行录入。用户输入信息后,录入后的肉类信息存入到数据库。操作员可以对进场信息进行查询。也可以对进场信息进行修改。详细信息见图4-3。图4-3 进场登记管理模块图4.1.3 模块查询功能设计这个模块根据用户输入的条件可以分别对用户,进场登记,理货出厂管理,交易明细管理进行统一的查询。详细信息见图4-4。图4-4 模块查询功能模块图4.1.4 理货出厂功能模块设计该模块首先可以根据输入的查询信息查询数据库,然后将返回的信息已HTML的形式输出到前端,未理货的外埠肉需要与挂钩进行绑定信息。理货完成后信息存入数据库,并将挂钩的状态改变为出厂,已理货完成的商品和出厂等价。详细信息见图4-5。图4-5 理货出厂管理模块图4.1.5 商品交易功能模块设计这个模块首先要获取到已经出厂的肉类商品,然后根据顾客的需要,输入交易的信息,交易完成后,将数据存入数据库。并改变交易的状态字段。详见图4-6图4-6 元数据审核模块图4.2 数据库设计4.2.1 外埠肉数据库模型的构建 外埠肉交易中心管理系统作为一个信息管理系统。操作的数据量较大。数据库结构的设计对系统的运行效率影响较大。用PowerDesigner软件对数据库的建模如下图。图4-7 数据库模型(PowerDesigner建模)外埠肉管理中心交易系统所用到的表有来源流通节点信息表,进场登记表,产品信息表,经营者信息表,RFID信息表,理货出厂表,用户信息表,交易明细理货关联表,交易明细信息表,交易基本信息表这10张表。4.2.2 表设计进场登记信息表 In_Register这张表用于录入外埠肉的进场登记信息。它包括1个主键,4个外键,是系统中非常核心的数据库表。存取的内容包含进场的肉类的基本信息。序号字段名数据类型键描述1R_IDNUMBER主键进场登记ID(自增)2Source_IDNUMBER外键来源ID(自增)3Product_IDNUMBER外键产品ID(自增)4User_IDNUMBER外键用户ID(自增)5Operator_IDNUMBER外键经营者ID(自增)6PicihaoVARCHAR(50)批次号7R_dateDATETIME登记日期8R_certVARCHAR(50)合格证9weightDECIMAL重量10priceDECIMAL价格11P_codeVARCHAR(50)产品编码12remarksVARCHAR(50)备注13R_stateVARCHAR(50)进场状态14R_numberVARCHAR(50)进场数量表4-1 负责单位 In_Register2.来源信息表 SOURCE这张表用于存取肉类的来源的信息;包括来源标识,来源编码和来源名称。序号字段名数据类型键描述1Source_IDNUMBER主键来源ID(自增)2Source_CodeVARCHAR2(20)来源编码3Source_NameVARCHAR2(20)来源名称表4-2 来源信息SOURCE经营者信息表 Operator这张表用于存取经营者的信息。包括经营者的ID、名称、编码、联系方式、状态、经营性质、经营类型及法人代表和更新时间。序号字段名数据类型键描述1Operator_IDNUMBER主键经营者ID(自增)2Operator_CodeVARCHAR2(30)经营者编码3Operator_NameVARCHAR2(30)经营者名称4Admin_CodeVARCHAR2(60)行政编码5Operator_ProVARCHAR2(20)经营性质6Operator_TypeVARCHAR2(30)经营类型7CorporateVARCHAR2(30)法人代表8TELVARCHAR2(30)联系方式9UpdateDATETIME更新时间10Operator_StateNUMBER经营者状态表4-3 经营者信息 Operator产品信息表 Product这张表存取了产品的相关信息。包括产品ID、编码、名称和描述。序号字段名数据类型键描述1Product_IDNUMBER主键产品ID(自增)2Product_CodeVARCHAR2(50)产品编码3Product_NameVARCHAR2(50)产品名称4ExplainVARCHAR2(200)产品描述表4-4 产品信息 DATA_THEMERFID信息表 RFID这张表记存取了RFID标签的信息。其中含有:RFID的标识,RFID的编码和挂钩编码。序号字段名数据类型键描述1RFID_IDNUMBER主键RFID的标识(自增)2RFID_CodeVARCHAR2(30)RFID的编码3Hook_CodeVARCHAR2(30)挂钩编码表4-5 RFID信息 RFID用户信息表 User这张表存取了用户的基本信息。包括了用户的ID,姓名,工号,登录密码,描述和登录时间。序号字段名数据类型键描述1User_IDNUMBER主键用户ID(自增)2User_NameVARCHAR2(50)用户姓名3Serial_NumVARCHAR2(50)工号4PasswordVARCHAR2(20)登录密码5User_DesVARCHAR2(200)用户描述6Login_Time Datetime登录时间表4-6 用户信息 User理货出厂信息表 TALLY这张表用于存取肉类的理货出厂信息。包含了理货标识,用户标识,进场标识和理货重量,挂钩编码及理货状态。序号字段名数据类型键描述1Tally_IDNUMBER主键理货ID(自增)2User_IDNUMBER外键用户ID(自增)3R_IDNUMBER外键进场ID(自增)4Tally_WVARCHAR2(50)理货重量5Hook_CodeVARCHAR2(60)挂钩编码6Tally_StateVARCHAR2(10)理货状态表4-7 理货出厂信息 TALLY交易信息关联表 Trade_Link这张表存取了交易关联的信息。包含了交易明细关联的标识,理货标识和交易明细的标识。序号字段名数据类型键描述1Trade_Link_IDNUMBER主键交易关联ID(自增)2Trade_Detail_IDNUMBER外键交易明细ID(自增)3Tally_IDNUMBER外键理货ID(自增)表4-8 交易信息关联 Trade_Link交易明细信息表 Trade_Detail这张表存取了交易明细的信息。包含了交易明细的标识交易的标识,交易追溯号和商品数量和质量。序号字段名数据类型键描述1Trade_Detail_IDNUMBER主键交易明细ID(自增)2Trade_IDNUMBER外键交易ID(自增)3Trade_Trace_NumVARCHAR2(20)交易追溯号4Goods_QuaNUMBER商品数量5WeightVARCHAR2(20)商品重量表4-9 交易明细信息 Trade_Detail交易基本信息表 Trade这张表存储了交易的基本信息。包含了商品数量,价格,重量,编码,名称及交易的日期,类型和状态等信息。序号字段名数据类型键描述1Trade_IDNUMBER主键交易ID(自增)2Operator_IDNUMBER外键经营者ID(自增)3Product_IDNUMBER外键产品ID(自增)4User_IDNUMBER外键用户ID(自增)5Trade_TypeVARCHAR2(50)交易类型6Trade_DateDATE交易日期7Goods_NumVARCHAR2(50)商品数量8WeightNUMBER商品重量9PriceVARCHAR2(50)商品价格10Trade_StateVARCHAR2(50)交易状态11Goods_CodeVARCHAR2(50)商品编码12Goods_NameVARCHAR2(50)商品名称表4-10 交易基本信息 Trade方案选择4.3.1 技术的使用 外埠肉交易中心管理系统是基于JAVA WEB开发的一款信息管理软件,系统开发采用Struts的后台框架。前台界面用JSP进行显示,而后台的处理通过Servlet业务逻辑处理和用JavaBean实现对数据库的操作。系统采用B/S的系统结构。局部的客户端和服务器端的交互使用Ajax技术进行处理。4.3.2 开发工具选择 本系统的开发主要用到了用于编写Java文档和JSP格式文档的软件Eclipse,数据库的处理软件MySQL和服务器软件Tomcat。 JAVA EE Eclipse作为一个开源的编程软件,避免了版权问题的困扰。Eclipse中可以添加各种插件。虽不及Myeclipse的简便性。但是对于大多数的开发来说还是实用性非常好的。Eclipse的核心并不大。主要依赖于插件对功能进行扩展。但是eclipse具有优秀的集成环境。能够完成大量开发工程的搭建,有着良好的调试功能。节省了开发时间。MySQL是很好的关系数据库管理系统。尤其在Web应用方面。它以占用的内存较小,运行速度快而著称。它也是一个开源免费的软件。支持多线程的运行方式,充分的利用了CPU的资源。虽然个头不大,但是能够支持大型的数据库的开发和处理等工作。Tomcat作为一个主流的Web应用服务器。它技术先进,小巧便捷,使用方便。但它配置的时候十分关键。稍微配置不当,就会造成严重的后果。Tomcat是由Apache推出的一款免费的开源服务器,它具有处理HTML文件的功能,它作为一个JSP和Servlet的容器,提供了一个可以让JSP和Servlet运行的平台。第5章 详细设计与实现本章主要介绍了外埠肉交易中心管理系统具体的设计及其实现,详细地介绍了系统后台框架Struts的搭建。Struts作为MVC的实现框架。具有模型层,视图层和控制层。本章具体阐述了系统相关实体类的构建和系统前台视图层的处理方式及后台具体的处理方式。本章从系统中的重点难点出发,详细地解释了系统的具体的实现流程。5.1 系统模型层的设计与实现 外埠肉系统的实体模型主要包含提供商品的经营者或生产者,操作系统的管理员,可以被进场登记,生产,消费,理货的商品。用于绑定商品信息的挂钩及参与交易的消费者构成。这些模型的构建通过设计实体类的来实现。通过了解经营者、管理员、商品、挂钩、消费者的具体属性对实体类进行实现。将这些实体类的模型封装在一个个.java文件中。实体类中封装了一系列的get和set方法。方便对实体类的参数进行设置。也完成了模型层和视图层及控制层的分离。public class UserBean { private String NAME; private String PWORD; private String CODE; private String rolename; private String JOBCODE; private String REMARK;} 如上面的代码所示,这个用户类包含了用户名、密码、工号、备注、身份等属性 public String getRolename() { return rolename; } public void setRolename(String rolename) { this.rolename = rolename; } public String getNAME() { return NAME; } public void setNAME(String name) { NAME = name; } public String getPWORD() { return PWORD; } public void setPWORD(String pword) { PWORD = pword; } public String getCODE() { return CODE; } public void setCODE(String code) { CODE = code; } public String getJOBCODE() { return JOBCODE; } public void setJOBCODE(String jobcode) { JOBCODE = jobcode; } public String getREMARK() { return REMARK; } public void setREMARK(String remark) { REMARK = remark; }以上这段代码,是实体类设置属性的方法,通过get方法取到值,通过set方法设置值。这样的方式保证了数据的安全性。其它实体类的构建类似,不再赘述。5.2 系统控制层的设计与实现外埠肉系统采用struts 的框架构建。需通过Struts的xml文件对action操作进行配置。Action是一个抽象类,必须实现以后才能执行,执行的方法是execute()方法。Struts的ActionServlet接收到一个请求,然后根据struts-config.xml的配置映射到相应的位置。控制层具体也可以分为Action层,Dao层和Service层。Dao层负责数据库的交互工作,Service层负责系统的业务逻辑处理。Action层归属于业务层的一部分,但却是核心。5.2.1 Struts环境的搭建web.xml配置web.xml对配置任何的Java Web应用都是必要的。首先配Struts,ActionServlet。元素是用来声明ActionServlet。元素:是用来用来定义Servlet的名称。元素:用来是用来指定Servlet的完整类名。但在Struts框架中只能有一个Servlet,因为Servlet支持多线程。代码如下: action org.apache.struts.action.ActionServlet ///声明ActionServlet的初始化参数 config /WEB-INF/struts-config.xml 0 配置元素,用它来指定ActionServlet可以处理的URL;在显示层中所有以*.do为扩展名提交的URL,都会交由这个Servlet来处理。*.do可以改写成你想要的任何形式,例如:/do/* ,此时该Servlet会处理所有以"/do"为前缀的URL。 action *.do struts-config.xml的配置 //date-sources元素用来配置应用程序所需要的数据源 //用来配置表单验证的类 // 用来配置异常处理 // 用于声明全局的转发关系action-mappings元素描述了请求特定路径的action类的映射关系。代码配置如下: 5.2.2 Action的响应过程已配置好相关的XML文件后。根据用户查询queryUser及Action的响应流程举例。代码如下 用户的信息表单
public ActionForward queryUser(ActionMapping mapping,ActionForm form, HttpServletRequest request,HttpServletResponse response) throws UnsupportedEncodingException{ return new ActionForward("/jsp/user/queryuser1.jsp"); }通过action指定的路径寻找useraction.java文件下的queryUser方法,经queryUser方法处理后将内容返回到前台页面。数据库处理的实现根据用户的请求,需要对外埠肉系统的数据库进行CRUD操作。数据库具体的实现通过DAO加Service的方式实现。Action首先获取到用户的请求,根据相应路径找到Action的实现方法。然后构建实体类,通过实体类调用DAO层方法。最后调用Service里面的方法完成CRUD操作,并返回到前台界面。下面的代码是对进场登记信息的插入过程:public ActionForward forone(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) throws IOException{ response.setContentType("text/xml;charset=utf-8"); PrintWriter out=response.getWriter(); 第一步:获取用户的输入信息 第二步:构建实体类,调用dao层的处理函数 第三步:调用sql语句,将入场登记数据插入到数据库中 第四步:返回到jsp界面 return new ActionForward("/jsp/censorship/check.jsp"); } 其余的删除,更新等数据库操作,执行的方式大同小异,不再详细说明 系统视图层的设计与实现 系统前台页面遵循,配色合理,便于操作的原则设计。前台界面设计由CSS,JS和HTML组成。本系统前台采用JSP动态网页技术进行显示。方便前台操作和后台处理。5.3.1 前台的处理菜单折叠代码,在管理菜单栏实现对菜单的隐藏。代码如下: var whichEl; var imgmenu; function showsubmenu(sid) { whichEl = eval("submenu" + sid); imgmenu = eval("imgmenu" + sid); if (whichEl.style.display == "none") { eval("submenu" + sid + ".style.display="";"); imgmenu.background="<%=path+"/" %>images/main_47.gif"; } else { eval("submenu" + sid + ".style.display="none";"); imgmenu.background="<%=path+"/" %>images/main_48.gif"; } } 以下代码是控制鼠标移动与背景色的变化function changeback(){ if (event.fromElement.contains(event.toElement)||source.contains(event.toElement)||source.id=="nc") return if (event.toElement!=source&&cs[1].style.backgroundColor!=clickcolor) for(i=0;i 0){ document.all(my_message1).innerHTML = ""; document.all(my_message2).innerHTML = ""; document.all(my_message1).innerHTML = "已占用!"; }else{ var flag = examine_right(); if(flag == true){ form1.submit(); } } } } 第6章 系统测试本章主要将系统的功能测试和性能测试进行了说明。系统集成各个功能模块后,能够正常的运行。数据在接口上能够正常的传输。符合预期要求。6.1 功能测试首先运行系统,进入到用户登录界面,系统运行正常图6-1 外埠肉系统的登录界面登录进入外埠肉系统后,首先看到的是系统的管理菜单列表,进入之后,默认显示进场登记页面,系统登录功能正常。图6-2 系统的管理菜单页面 在进场登记界面,不输入任何信息,进场登记的输入检测功能正常。详见下图:  图6-3 系统的进场登记输入检测进场登记功能测试如下图所示,用户在输入完整的入场信息后,点击确认按钮,系统弹出添加成功的对话框,查看数据库时发现数据已成功插入数据库。进场登记功能正常。 图6-4 进场登记成功 系统可以通过进场日期查询出已经进场的肉类制品,在理货出厂阶段,查询出的已进场状态的商品。将商品的信息和挂钩进行绑定。商品的状态变为已出厂状态,能够在市面上进行流通。查看数据库可以发现信息已经与挂钩绑定好。详细测试图见图6-5和图6-6.图6-5 理货出厂之查询进场记录图6-6 理货出厂操作根据理货日期查询出已经理货的商品,然后进行交易,交易后,商品状态变为已经交易。然后通过模块查询可以从进场阶段、理货阶段和商品交易阶段的关键信息,完成溯源确认。详细见图6-7和图6-8.图6-7 商品交易图6-8 交易成功6.2 性能测试 通过软件的功能测试之后,为了提高系统的性能,减少程序bug,方便后期维护,增强系统的稳定性和鲁棒性,需要对系统的使用性能进行测试。系统在win7环境下的Chrome浏览器、360浏览器、IE浏览器等主流的浏览器上均运行正常,系统的兼容性好。 然后用专门的压力测试软件WebRunner,通过模拟真实用户的操作,生成压力负载从而测试出系统的压力测试性能,系统稳定性较好。完全符合性能的需求。 系统运行时,单个操作的反应时间低于3秒钟,执行效率高,符合预期的用户需求。系统运行过程中占用内存低于256M,资源占有率低。连续运行4小时未发现断线,死机,闪退等现象,容错性高。 系统采用了加密的方法,安全性能相对较高,但是系统的可拓展性能较差。第7章 结束语7.1 总结 毕设题目确定后,通过查阅文献,调查研究,书写文档,并且学习了有关Struts,Java Web技术后。让我对系统有了大致的认识,对先进的溯源技术有了一定的了解。也确定使用Struts构建系统的后台框架。本系统主要由用户管理模块,进场登记模块,理货出厂模块,商品交易模块和模块查询这五大功能模块组成。外埠肉交易中心管理系统每天也需要对大量的信息进行操作。溯源信息的完整性和准确性是对客户的消费权益的一种保障,这是容不得马虎的。从软件设计的各个阶段来看。保证各步骤的高效性,在实现和测试阶段进行调整和优化。程序加载动态页面迅速,CRUD操作时效率高。凡是从用户的角度出发,才能开发出一款优秀的软件。虽然没有使用新兴的技术对系统进行开发。但是系统开发的重要性也不是局限在几种新的技术方面。系统讲究的是它的高效的性能,强大的容错性和功能的完善性及好的可操作性。技术上可以不用多少创新。但是在思路上要求创新。算法的优化,数据库的优化,界面的优化才是更加直接的问题。开发时不追求求新求变。在整个毕设期间,我碰到过许多的难题,但是在老师和同学的帮助下都一一克服了。一个软件都是逐步开发出来的。踏实地做好每个阶段的工作。才能开发出一款优良的软件系统。系统仍存在不小的缺陷,需要后期的维护完善。7.2 展望时代的发展,人们从物质和精神上都得到了延伸。随着食品安全问题越来越受到社会的关注。问责制的建立自然站到了风口浪尖处。由于溯源对可获取的信息的准确性要求很高。保证生产,检查,销售环节的数据的客观有效性。形成信息的闭环非常之重要。要做到对各个环节进行严格把关。减小不可控因素的影响。相对于传统的条码技术。RFID的使用将大幅度提升流通标签的真实性。RFID 就目前来说,使用的成本还是较高。这也是难以普及的一个关键问题,尤其对低利润的农产品生产行业。但是RFID在溯源系统中的使用日益增多。这是市场的一个发展趋势。RFID具有唯一的标识信息,安全性能高,容易快速读取验证和很长的保质期而备受生产商家和客户的青睐。所以在溯源过程中,产品的信息不易丢失,增强了产品的可追踪性。在一定程度上规范了市场行为。追溯技术有着良好的市场前景,以后可以推广到各行各业。参考文献(1)吴永祥. 射频识别(RFID)技术研究现状及发展展望[J]. 中文核心期刊. 2006年第十二卷第11-2期 (2) 陈晓东,刘建珍. 基于RFID的畜产品溯源系统[J];科技博览. 2008:233(3)王佳. RFID智能仓库管理系统的开发与应用[J]. 上海电力学院学报. 2014年s1期(4) 余雷. 基于RFID电子标签的物联网物流管理系统[J]. 微计算机信息. 2006(02)(5) 姜启军. 食品供应链企业社会责任管理分析[J]. 上海海洋大学学报.2012(06) (6) 李家峰,盛雯雯. 基于RFID的食品可追溯物联网系统解决方案[J]. 硅谷. 2011(18) (7)肖静,刘子玉,李北伟;基于RFID的食品供应链追溯管理系统研究[J];农机化研究;2012.02(8) 钱晓雯;基于Web的网上问卷系统的设计与实现[J];北京邮电大学;2011年(9) 陆钟石. Java安全体系结构设计与实现[D]. 北京邮电大学 2010致 谢这次毕设的完成,在此要感谢所有给予帮助的老师,同学,亲人和朋友。通过这次毕设,让我无论从做事还是做人上,都有了突破。这首先归功于我的导师吕嘉老师。在整个毕设过程中,吕老师给予了我许多帮助。在我找不着方向的时候指引我;在我碰到难题的时候,能在第一时间帮助解决。在书写论文的时候,吕老师给我指出了平时的坏习惯,并且给了我宝贵的建议。我会尽量在很短的时间内改正的。 通过四年的大学学习,在此还要感谢所有计算机系的老师和同学们。使我成长起来,并对这个系充满感情。经过半年的校外实习,也更让我懂得Java,数据结构,数据库等几门课程的重要性,想起这些课程的同时,也会想起学校里老师的教诲以及那些在学校学习的时光。我也要感谢整个物联网学院,是这个学院让我结识到了许多优秀的老师和朋友。最后,感谢河海大学,这四年是河海大学培养了我,为我们所有学生提供了一个优秀的学习环境,让我成为一个有能力走上社会的人。谢谢。
目 录
先导入struts的jar包,首页要在web.xml中添加相应的struts配置,然后在config所对应的目录下添加struts配置文件strutsconfig.xml。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/1692.html

好棒文