第一篇:基于JAVAEE的网上药店销售平台的设计与实现
毕 业 论 文(设 题目:基于JAVAEE的网上药店销售
平台的设计与实现
(英文):Based on JAVAEE online pharmaciessell platform design andimplementation 学
院:科学与技术学院 专业:软件设计 姓名:曾祥武
学号:
2012041543147
指导教师:钟桂凤 日
期:2016年4月
计)
基于JAVAEE的网上药店销售平台的设计与
实现
摘 要
随着计算机技术的不断发展,应用软件迅速普及,大到厂矿校企,小到图书、餐饮、医药管理等,随处都可看到它的身影。在以往依靠人工为主的医药管理方面,计算机和计算机管理系统逐步唱起了主角,凭借省时、省力、低误差等优点,从根本上改变了医药管理的传统模式,节省了人力资源,提高了工作效率。
该系统是基于JAVA EE 技术开发的Web应用,以典型的MVC模式架构为基础。通过SSH框架来实现,系统基于B/S分布式结构,适应范围广阔。
关键词:JAVA EE;SSH
Based on JAVAEE online pharmaciessell platform
design andimplementation
Abstract
With the continuous development of computer technology,the rapid expansion in the application software,a wide range to factories and mines or a small range to books, food, medicine, management.It can be seen in everywhere.In the past mainly rely on artificial medicine management,computers and computer management system in a plumb position gradually,with the advantages of the saving, energy saving, low error, fundamentally change the traditional pattern of medicine mannagement, save the human resources improve the working efficiency.The system is based on Jave EE Web application of the technology development,based on the typical pattern of MVC architecture.Through SSH framework to implement,distributed system based on B/S structure,wide adaptation Keywords: JAVA EE,SSH
目录
1前言..............................................................6 1.1 课题背景......................................................7 1.2 课题意义......................................................7 1.3 课题开发环境..................................................7 1.4 国内发展现状..................................................7 2相关技术介绍......................................................8 2.1 系统设计采用的核心技术........................................8 2.1 系统开发环境..................................................9 3可行性研究和需求分析.............................................11 3.1 可行性分析...................................................11 3.1.1经济可行性................................................11 3.1.2技术可行性................................................11 3.1.2操作可行性................................................11 3.1.3系统功能需求描述..........................................12 4数据库设计....................................................13 4.1 数据分析.....................................................13 4.2 数据库表设计.................................................14 4.2.1 数据库 E-R 图............................................14 4.2.2 数据库表.................................................15 5详细设计与实现...................................................18 5.1 系统前台基本功能的设计与实现...............................18 5.1.1注册..................................................18 5.1.1.1实现效果.........................................18 5.1.1.2实现过程.........................................19 5.1.2 登录..................................................26 5.1.2.1 实现效果........................................26 5.1.2.1 实现过程........................................27 5.1.3 商品展示模块..........................................32 5.1.3.1 实现效果........................................32 5.1.4 购物车模块............................................38 5.1.4.1 实现效果........................................38 5.1.4.2 实现过程........................................38 5.1.5 关键字搜索............................................44 5.1.6 在线客服..............................................46 5.1.6.1 实现效果........................................46 5.1.6.2 实现过程........................................46 5.2 系统后台管理功能设计与实现.................................47 5.2.1商品信息管理模块......................................47 5.2.1.1实现效果.........................................47 5.2.1.2实现过程.........................................47 5.2.2 用户信息管理模块......................................62 5.2.2.1 实现效果........................................62 5.2.2.2实现过程.........................................62 5.2.3 订单管理模块..........................................66 5.2.3.1实现效果.........................................66 5.2.3.2 实现过程........................................66 6.系统测试........................................................74 6.1软件测试概述.................................................75 6.2测试内容.....................................................75 结论..............................................................75 参考文献..........................................................76 致谢..............................................................77
1.前言
1.1 课题背景
在日常医药管理中,面对众多的药品和众多不同需求的顾客,每天都会产生大量的数据信息。以传统的手工方式来处理这些信息,操作比较繁琐,且效率低下。此时,一套合理、有效、实用的医药销售系统就显得十分重要,利用其提供的药品查询、药品分类功能,可以进行高效的管理、销售,更好的为顾客服务,于是,网上药店应运而生。
网上药店是能够通过电子商务交易市场实现与个人消费者在互联网上进行医药商品的交易,其主要功能是网上药品零售和在线药学服务。同时,网上药店与实体药店相比具有药品便宜、购药方便、保护隐私等优点,实体零售药店很少见的药品,消费者可以在网上药店购买到。当今社会,使用网上购物的消费者也是越来越多,网上购物的方便与快捷也令网上药店这一模式越发的普及。1.2 课题意义
随着科学技术的发展,计算机领域不断取得新的研究成果。并不断地代替和延伸脑力劳动方面发挥越来越重要的作用,无论是工业还是日常生活都越来越离不开计算机,尤其是在商店里,随着规模不断扩大和产品的不断增加,要处理大量的产品数据信息显得尤为的重要.本系统主要是管理药品的销售管理和在线发布、客户在线咨询,其功能包括:后台登陆、登陆的权限、不同的用户登陆到不同的后台、根据登录到后台的用户权限不同能实现对信息的添加、删除、修改、查询等一项或多项功能。系统使用动态页面设计,并用Mysql进行后台数据库的链接设计,以此形成整个管理系统。1.3 课题开发环境
主要开发工具:MyEclipse 10,MySQL、Tomcat6.0 主要技术包括:Java EE轻量级框架SSH 1.4国内发展现状
自2005年9月29日国家食品药品监督管理局正式发布《互联网要批交易服务审批暂行规定》以来,经监管部门批准,可以在互联网上进行药品交易的单位共有69家,其中38家可向个人售药,现如今全球的发展趋势来看,医药电子商务必将成为未来的大势所趋。
2.相关技术介绍
2.1 系统设计采用的核心技术
该系统采用目前最流行的SSH框架进行设计。Java的开源框架非常多,SSH便是由这众多的框架集合而成的。SSH 在Java EE项目中表示了3种框架,即 Spring + Struts +Hibernate。Struts是一个优秀的MVC框架,对Model,View和Controller都提供了对应的组件。Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,是为了解决企业应用开发的复杂性而创建的。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了轻量级的对象封装,可以应用在任何使用JDBC的场合,可以在Servlet/JSP的Web应用中使用。
本网站主要采用Struts2+Spring+Hibernate框架技术。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 Java EE 应用程序开发提供集成的框架。,以下对它们做一个简单的介绍:
(1)Struts2框架技术
Struts 是一款优秀的MVC框架,但随着时间的流逝,技术的进步,Struts1的局限性也越来越多地暴露出来。而Struts 2是Struts的下一代产品。是在 Struts 和WebWork的技术基础上进行了合并,全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。因为Struts 2和Struts 1有着太大的变化,但是相对于WebWork,Struts 2只有很小的变化。
(2)Spring框架技术
Spring是一个开源框架,是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
(3)Hibernate框架技术
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的Java EE架构中取代CMP,完成数据持久化的重任。2.1 系统开发环境
(1)Eclipse Eclipse 是一种基于 Java 的可扩展开源开发平台。就其自身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括为人熟知的 Java 开发工具。
虽然大多数用户很乐于将 Eclipse 当作 Java 集成开发环境(IDE)来使用,但 Eclipse 的目标却不仅限于此。Eclipse 还包括插件开发环境,这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
(2)MySQL MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
因此本系统选用MySQL 5.5进行开发。(3)Tomcat Tomcat是Apache 软件基金会的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成,是一个免费的、开放源码的、支持JSP和Servlet技术的容器。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。Tomcat6.0也很受广大程序员喜爱。
目前最新版本是6.0,本系统将使用该版本。
3.可行性研究与需求分析
3.1可行性分析 3.1.1经济可行性
现代网络高速发展,影响着人类生活的方方面面。电子商务也应运而生,蓬勃发展。足不出户就能获取方便快捷的购物途径、享受超值的购物乐趣和优质的在线服务;商家也可以无需真实的店铺,不但降低投入、节省资金和摈弃传统贸易的落后方式,更重要的能通过电子商务平台扩展商机、捕获机遇,赢得更大利益。互联网用户的庞大规模是电子商务市场欣欣向荣的重要推动力。
利用电子商务和信息化从事网络贸易的企业和个人,正成为社会经济领域的主体,在国民经济中发挥着重要的作用,随着这类群体的不断扩大,传统的商业规则和商业秩序受到冲击,重新解构,新的基于互联网的电子商务经济体系正在构建。政府的指引、主导和监督、相关法律法规的制定和实施、电子商务行业行规制度的完善等都是促进我国电子商务良好发展的重要因素.3.1.2技术可行性
本系统采用轻量级的Java EE架构而成,由Struts、Hibernate、Spring三大框架整合的集成框架。框架一般具有即插即用的可重用性,成熟的稳定性和高度集成易用性。Java EE 复杂的多层结构决定了日益复杂的Java EE 项目需要运用框架和设计模式控制软件的质量,SSH框架是目前Java EE Web 项目开发的主流框架,具有良好的团队可协作性,被广泛的应用于多个软件系统中,所以框架的稳定性很好,技术上具有很强的可行性.3.1.2操作可行性
目前SSH 框架流行与各大网站项目建设,比如淘宝,京东,凡客等大型网上购物网站,其中一部分项目就是综合运用SSH技术。
网上购物主要是资金流,商流,物流的结合,资金流的应用目前广泛体现在网银的使用,如支付宝等第三方安全支付软件,商流就是各大购物网站及B2B;B2C,C2C 市场的广大商家和买家。物流体系的配套设施也在逐步完善和提高,因此从资源,市场,顾客这些市场和经济方面以及开发环境技术方面,电子商务网站,也就是网上商城是完全可以趁工操作的。3.1.3系统功能需求描述
本系统分为前后台两部分,前台主要包括已登录用户和未登录用户,任何用户都可以进行商品的浏览,当已注册用户登录后,即刻进行商品的购买,查看自己的购物车以及添加、删除、修改自己购物车中的商品,确认后即生成订单。未登录用户如已注册即可直接登录,未注册则可进行注册用户操作。后台管理员登录进入管理员中心,可进行商品管理,商品一二级分类管理,订单管理和用户管理.系统用例图如3-1所示
图3-1 系统用例图
4.数据库设计
4.1 数据分析
1)对于本系统的数据库的需求而言,由于主要是用于信息的提供、保存、更新和查询等;因此,需要分析该系统功能所隐含的对数据应用的需求,从而确定数据库的结构。
2)用户注册、登录、验证等功能需要对用户信息建立数据表,其中的数据项包括用户id,用户名,密码,收货人,邮箱,手机号码,收货地址,激活状态,激活码.3)查看商品分类信息和商品详细信息等功能既需要对商品一二级分类进行管理,也需要针对每一个商品进行管理,由于此系统商品属性有两层分类,于是此处我们至少需要三张数据表.4)用户购物后产生的订单需要进行管理,包括订单的基本信息和详细信息等;因此需要一张购物车的数据表。
5)订单生成后,在订单处理的过程中,用户需要付款,确认收货等,修改订单的状态,所以需要记录订单的状态,包括订单包含的商品,收货人,收货地址以及订单的状态。
6)后台系统管理员需要对该系统进行管理,所以需要建立管理员信息数据表,其中的数据包括管理员ID、管理员用户名、密码。
综上所述,至少要创建如下的数据结构和数据项
用户信息表,包括用户ID,用户名,密码,收货人,邮箱,手机号码,收货地址,激活状态,激活码。
管理员信息表,包括管理员ID,管理员用户名,密码。商品一级分类信息表,包括一级分类ID,一级分类名
商品二级分类信息表,包括二级分类ID,二级分类名,所属一级分类 商品信息表,包括商品ID,商品名,商品市场价,商品商城价,商品图片地址,商品描述,商品是否热门,商品上传时间,商品所属二级分类ID。
购物车信息表,购物车ID,购买商品数量,购买商品总价,购买商品的ID,购物车所属的订单表 订单信息表,订单ID,订单总价,订单生成时间,订单状态,订单收货人名,收货人联系方式,收货人地址,收货人用户ID 4.2 数据库表设计 4.2.1 数据库 E-R 图
图 4.1 数据库 E-R 图
4.2.2 数据库表
本系统的数据库命名为shop,分为八张数据库表。a.用户表,如图4.2.1所示
图 4.2.1 用户表
b.一级分类表,如图4.2.2所示
图 4.2.2 一级分类表
c.二级分类表,如图4.2.3所示
图 4.2.3 二级分类表 d.商品表,如图4.2.4所示
图 4.2.4 商品表
e.购物车表,如图4.2.5所示
图 4.2.5 购物车表
f.订单表,如图4.2.6所示
图 4.2.6 订单表 g.管理员表,如图4.2.7所示
图 4.2.7 管理员表
5.详细设计与实现
5.1系统前台基本功能的设计与实现 5.1.1注册 5.1.1.1实现效果
用户单击注册后需要输入用户名、密码、确认密码,E-mail以及姓名,电话,地址,其中用户名,密码,确认密码和E-mail为必填项,姓名,电话以及地址将作为用户的收货人姓名以及联系电话和收货地址。当填写的用户名在数据库中已存在时,当光标从用户名栏离开,将提示用户名已存在,否则则提示用户名可使用;信息填写完整以及正确后提交会根据所填写的邮箱向用户邮箱发送一封包含注册激活码的邮件,用户需打开该邮件中的网址进行激活,成功激活后的用户将可以进行登录操作。界面设计如图5.1.1.1所示
图 5.1.1注册界面
5.1.1.2 实现过程 a.异步校验代码 如图5.1.1.2.1所示
图5.1.2 当用户名存在时,如图5.1.3所示
图5.1.3 当用户名不存在时,如图5.1.4所示
图 5.1.4 b.注册功能实现代码 注册所属页面:regist.jsp 信息填写后提交到user_regist.action userAction中设置模型驱动接收JSP中传过来的数据,代码如下:
Action中实现regist方法,代码如下:
Service中实现save方法,代码如下:
其中有一工具类UUIDtils、MailUitls用于向用户邮箱发送激活邮件,工具类代码如下: MailUitls.java:
UUIDUtils.java:
DAO层中再实现save方法,代码如下:
在Struts.xml中配置返回值信息,msg返回值为全局变量页面,用于信息的通知,配置以及页面代码如下:
Msg.jsp页面:
界面效果如5.1.4所示
图 5.1.4 c.邮箱激活
收取到的邮件如图5.1.5所示
图 5.1.5
Action中active方法的实现,代码如下:
Service层中findByCode方法的实现,代码如下:
激活成功后界面如图5.1.6所示
图 5.1.6
5.1.2登录 5.1.2.1 实现效果
已注册的用户且激活后的用户输入注册的用户名和密码,以及填写正确的验证码后提交,若用户名存在且密码正确,则登录成功,若用户名不存在或密码不正确则提示用户名不存在或密码不正确,若验证码输入错误则提示验证码错误重新输入。
登录界面如图5.1.7所示
图5.1.7
5.1.2.2 实现过程
登录页面:login.jsp,代码如下:
用户信息提交到user_login.action中,代码如下:
验证码类CheckImaAction.java的代码如下:
Dao层中login方法的实现,代码如下:
登录成功后界面如图5.1.8所示
图5.1.8
验证码输入错误界面如图5.1.9所示
图5.1.9
用户名输入错误或密码输入错误或用户未激活提示界面,如图5.1.10所示
5.1.3商品展示模块
图5.1.10 5.1.3.1 实现效果
用户通过点击一级分类显示所有一级分类下的商品,如图5.1.11所示;点击二级分类显示所有二级分类下的商品,如图5.1.12所示;点击商品则进入商品详细页,如图5.1.13所示。
图 5.1.11
图5.1.12
图5.1.13 5.1.3.2实现过程 a.点击一级分类显示商品
商品显示页为productList.jsp,代码如下:
中findByCid的实现,代码如下:
Service层中findByCid方法的实现,代码如下:
Dao层中findByCid方法的实现,代码如下: b.点击二级分类显示商品
Action中findByCsid方法的实现
Service中findByPageCsid方法的实现
Dao层中findByCsid方法的实现
c.点击商品显示商品详情页 Action中findByPid方法的实现
Service中findByPid方法的实现
Dao中findByPid、findCount、findByPage方法的实现
购物车模块 5.1.4.1 实现效果
用户添加商品到购物车,根据购物车的商品数量单价等计算出单价和小计,提交后生成订单。5.1.4.2 实现过程
购物车页面为orderlist.jsp,页面代码如下:
orderAction中的实现代码:
orderService中的实现代码:
orderDao中的实现代码:
界面效果如图 5.1.13 所示
图5.1.13 5.1.5 关键字搜索 关键字页面代码如下:
Action中findByPname方法的实现
Service中findByPname方法的实现
Dao层中findCountPname、findByPagePname方法的实现
界面效果如图所示5.1.14所示
图 5.1.14 5.1.6 在线客服 5.1.6.1 实现效果
用户点击后会添加客服QQ通过QQ在线联系网站客服.5.1.6.2 实现过程
在线客服页面代码,如图5.1.15所示
界面效果如图5.1.16所示:
图 5.1.16
5.2系统后台管理功能设计与实现 5.2.1 商品信息管理模块 5.2.1.1 实现效果
管理员可以查看,修改,删除商品一级分类、二级分类一级商品信息,界面设计如图5.2所示
图5.2.1 5.2.1.2 实现过程 a.一级分类
一级分类管理页面为edit.jsp、add.jsp、list.jsp,如图5.2.2所示
(a)list.jsp页面
(b)Add.jsp页面
(c)Edit.jsp页面
图5.2.2 页面代码如下:
Add.jsp,如图5.2.3所示
第二篇:教学资源共享平台设计与实现
教学资源共享平台设计与实现
摘要
随着多媒体信息技术和计算机网络技术的日益普及,网络教学作为教育的一种形式在世界范围内得到迅猛的发展,它突破传统教育过程在空间和时间上的限制,实现了教育资源在更大范围上的共享。网络教育资源建设是影响网络教育发展,保障网络教育质量的重要因素之一。怎样有效解决资源的网络共享问题,提高教学资源的可利用率,如何实现教学资源信息化的优化管理,充分发挥网络信息共享资源在高校教学中的作用等问题便成了每个高校迫切需要解决的问题。现在许多高校已经成功的搭建了自己的网络资源共享平台,有许多的成功经验,而作为新型高等本科院校,教学资源平台的建设还往往处于起步摸索阶段,因此有必要借鉴其它高校的成功经验,加快教学资源平台的建设,改善现存的资源共享访问瓶颈,为高校科研教学提供良好的资源服务。
通过创建交互式网页应用的网页开发技术手段,数据不再和页面以及网站混粘在一起,它独立了跟着用户走。在基于数据的应用中,用户需求的数据,可以从独立于实际网页的服务端取得并且可以被动态地写入网页中。帮助用户即师生解决管理、维护、存储、分享内容,并且通过用户对资源的访问密集度来作出整个网络资源的分布调整计划,使系统网络资源平台的共享性得到充分的发挥。
[关键词] 资源共享
管理系统
存储分享系统
ABSTRACT
目录
一、前言...........................................................................................................................................4
二、需求分析.................................................................................................错误!未定义书签。
(一)、系统需求...................................................................................错误!未定义书签。
(二)、功能需求...................................................................................错误!未定义书签。
1.权限设置......................................................................................错误!未定义书签。
三、总体设计.................................................................................................错误!未定义书签。
(一)、基本设计概念和处理流程.......................................................错误!未定义书签。
(二)、系统层次模块图.......................................................................错误!未定义书签。
(三)、数据库设计...............................................................................错误!未定义书签。
1.数据库需求分析..........................................................................错误!未定义书签。
四、详细设计与设计.....................................................................................错误!未定义书签。
五、结论与体会.............................................................................................错误!未定义书签。参考文献.........................................................................................................错误!未定义书签。
教学资源共享平台设计与实现
一、前言
目前,大多数的校园网络平台是针对用户使用功能定制的,没有一个统一的校园网教学资源库的建设。教师在使用网络资源时,仍然需要到校园网以外的网上搜索资源,使得某些共享教学资源重复被搜索、下载,降低了他们的利用率。为了提高共享教学资源的利用率,建立一个规范、丰富、实用、可广泛共享的高校网络教学资源共享系统,已经成为亟待解决的问题。
第三篇:PLC一体化教学实验平台设计与实现
题目:
2013 PLC组态一体化教学实验平台
设计与实现
单位部室:阳煤职教中心实践教学部 专 业:机电一体化与自动控制 作 者:陈志鹏 指导教师:
年10月23日
PLC组态一体化教学实验平台设计与实现
摘要: 随着阳煤集团高产高效矿井的建设,矿井机电设备向着高电压、大功率、控制系统高科技方向发展,PLC在煤矿应用上越来越广泛,它的简化接线、性能可靠、事故率低、编程容易、控制多样等特点,为越来越多的工程师所喜欢,有着广阔的发展前景。同时PLC是一门实践性非常强的课程,实验环节至关重要。针对如何在低成本条件下进行PLC一体化教学,同时保证教学效果,提出了PLC电气控制系统设计与组态监控设计相结合的PLC一体化教学课程。实践表明,监控组态技术的应用可以大大提高学生的编程技巧和动手能力,丰富学生的工程实践经验,达到一体化教学的目的。
关键词:PLC ;一体化教学 ;教学实验平台 ;组态控制技术 PLC简介及它在煤矿生产方面的应用
PLC称作可编程逻辑控制器(Programmable Logic Controller,PLC),它主要用来代替继电器实现逻辑控制。随着技术的发展,这种采用微型计算机技术的工业控制装置的功能已经大大超过了逻辑控制的范围,因此,今天这种装置称作可编程控制器,简称PC。但是为了避免与个人计算机(Personal Computer)的简称混淆,所以将可编程序控制器简称PLC。PLC自1969年美国数据设备公司(DEC)研制出现,现行美国、日本、德国的可编程序控制器质量优良,功能强大。PLC主要特点有:
① 可靠性高,抗干扰能力强。② 配套齐全,功能完善,适用性强。③ 易学易用,深受工程技术人员欢迎。④ 系统的设计、建造工作量小,维护方便。⑤ 体积小,重量轻,能耗低,通用性强。
随着煤矿机械化程度的不断提升,PLC在实际生产中得到了广泛
PLC一体机 的应用。例如:主井箕斗提升就是利用了PLC控制系统实现了定量装载。地面主提升绞车均采用了双PLC加可控硅模块控制系统。煤矿井下采煤机、综掘机、主要扇风机、主排水泵等大型控制设备的核心元件均采用PLC,井下各种低压磁力启动器核心元件也逐步为PLC所代替。地面厂的数控机床等也已经采用了PLC控制,随着现代化管理水平的不断提高,PLC和组态软件的有效结合在煤矿生产领域中得到了越来越广泛的应用。
2 组态控制技术简介及应用
组态控制技术属于计算机控制技术,利用组态控制技术构成的计算机测控系统的原理框图所示可以看出它们是由传感器、下位机、上位机等几部分组成。虽然从结构上看与一般计算机测控系统
组态控制技术框图
基本相似,但是采用组态技术的计算机控制系统从硬件设计到软件开发都具有组态性,系统的可靠性和开发速度都得到了大幅度提高。通常认为,组态技术是计算机控制技术综合发展的结果,是技术成熟化的标志。在组态概念出现之前,要用计算机实现某一控制任务,都是通过编写程序(如使用 C等)来实现的。编写程序不但工作量大、周期长、而且可靠性差。组态控制技术的出现,解决了这个问题,对于过去需要几个月的工作,通过组态几天就可以完成。
目前,国内外许多自动化设备生产厂家,如德国西门子公司、日本三菱、台湾研华、中国时利和等,生产了众多供选择的工业标准机 箱、工业级元件、总线结构过程通道板卡、工控机接口模块等,为推广硬件组态奠定了基础。在软件设计上由于采用成熟的组态软件进 行系统设计,软件开发周期大大缩短了。组态软件是在自动控制系统监控层一级的软件平台和开发环境,能以灵活多样的组态方式(而不是编程方式)提供良好的用户开发界面和简捷的使用方法,其予设置的各种软件模块可以非常容易地实现和完成监控层的各项功能,并能同时支持各硬件厂家的计算机和I/O设备,与高可靠的工控计算机和网络系统结合,可向控制层和管理层提供软硬件的全部接口,进行系统集成。需要指出,组态软件不仅是组态控制技术中的重要组成部分,而且由于具有远程监控、数据采集、数据分析、过程控制等强大功能,在自动化系统中占据主力军的位置,逐渐成为工业自动化系统中的灵魂。实例介绍PLC一体化教学实验平台的设计与实现 下面用西门子公司的Step7 Pro(内部包含有模拟器PLCSIM)和WINCC组态软件来仿真PLC基础实验--机械手实验。
3.1软件准备与硬件连接
首先需要一台装好了Step7 Pro和 WINCC的计算机,然后准备一台型号为S7-200(300,400)的西门子PLC。S7-200的编程口通过一条通信电缆(PC/PPI)与计算机的USB通信口连接,这样就可以在计算机上进行编程和监控了。
编程下载
仿真模拟
3.2 控制要求及I/O分配
机械手最开始处于左上端(左限位行程开关处于动作状态)。运行过程为:下将YV2--夹紧YV5--上升YV1--右移YV4--下将YV2--放松YV5上升YV1向左返回初始位置。自动控制:按下自动控制的起动按钮,机械手运行上述控制过程。按下停止时,机械手必须运行完当前周期停在初始位置。
I/O分配
梯形图
打开Step7 Pro根据控制要求进行程序的梯形图的编制,程序通过编译后下载到PLC中。下载完成后,关闭Step7 Pro,打开WINCC进行组态设计。
3.3 WINCC组态设计
利用WINCC组态软件建立监控系统,在工作台实时数据库中建立 对应的变量,都为开关型。然后设置好组态软件与PLC的串口通信方式。至此,已经将组态软件中的变量与外部PLC设备的端子进行连接,当PLC的输入、输出继电器状态发生变化时,将直接反映到组态软件的变量。最后建立监控画面模拟机械手实际工作情况。WINCC组态软件内部提供基本绘图工具,同时提供了丰富的元件库,用于画较复杂但常用的元件图形,如电机、阀门等。利用这些元件进行组态,可建立监控画面。对于各个元件对应设置相应的动画连接。监控画面中指示灯分别用颜色的变化指示机械手的工作状态,即当放下物体时,下移指示灯为绿色,否则显示红色,其它灯工作情况相似。接下来将元件的动作与变量的变化进行动画连接,即可利用监控画面控制机械手的动作情况。当没有实际装置时,通过监控画面可以让学生有实际操作的感受,从而增加工程实践的经验。
组态软件最突出的特点就是实时多任务。其用户是自动化工程设计人员,目的就是让用户迅速开发出适合自己需要的可靠的应用系统。典型应用实例如图。
I/O分配流程图
梯形图
传统PLC实训课与组态一体化教学
传统PLC实训课的被控对象多为工业设备,一般都有体积大、质量大、价格高等特点,很难在实验室配备。为了尽可能模拟被控对象,使缺乏实际知识的学生增加感性认识,许多学校在PLC实验室安装了模拟盘,如十字路口交通灯模拟盘、洗衣机模拟盘等,实验相应内容时,将PLC输入端/输出端连接到模拟盘对应的发光二极管上。这种模拟盘方法,一则限制了实验内容,二则不形象,不直观,三则连线很多,耽误时间。实践证明,教学效果并不理想。但是,即使这种模拟盘,在阳煤职教中心实践部微机控制实验室中也只有两套。从一体化教学角度上讲,这种配置远远不能满足为学生开设实验课的需要。另外,随着申办示范校工作的深入展开,PLC实验室也有扩充和更新的必要。如果仍然采用模拟盘方式,不仅占地大、花钱多,而且随着PLC实验内容的不断更新,模拟盘方式也会很快落后,最后被淘汰。
既然的PLC被控对象多为工业设备和机械,那么就给PLC实训课带来一个问题:采用真实被控对象既不现实,也不安全;没有被控对象模型,既不便学生理解实验内容,也很难激发学生的学习兴趣。将可编程控制器技术与组态软件有机结合,能为PLC的实训课教学提供一条新的途径。利用组态软件全真模拟PLC的被控对象,学生不需要实物而仅通过微机的显示器就可检验所编程序的正确与否和执行结果,这给师生双方都提供了很大方便。结束语
从教学意义上来说,用计算机组态全真模拟被控对象,不但可以
克服采用真实被控对象的缺点,而且可以用有限的设备、低廉的成本、多样化的程序,来丰富学生的实验课内容,大大增强PLC实验课的教学效果,形成理论、仿真、实践三位一体的教学模式,达到一体化教学的目的。
参考文献: [1] 林小峰.可编程控制器原理及应用[M].北京:高等教育出版社,1994.[2] 田瑞庭.可编程控制器应用技术[M].北京:机械工业出版社,1994.[3] 张万忠.可编程控制器应用技术[M].北京:化学工业出版社,2001.[4] 梁冠英,等.PLC在矿井提升信号系统中的应用[J].煤炭技术,2008.[5] 袁秀英 组态控制技术[1] 北京:电子工业出版社。
[6] 严盈富 监控组态软件与PLC入门[1]北京:人民邮电出版社。
[7] 周美兰,周封,王岳宇 电气控制与组态设计[1]北京:科学出版社。
第四篇:JavaEE学习心得与总结
学习Java EE 心得体会
这学期通过对Java EE五部分的学习,掌握了java 的基本开发方法,学习JavaEE 基础部分分为6大部分,分别是基础服务,Java Web开发,Web Service,JSF框架,EJB部分和JPA。
其中第一部分是基础服务部分,此部分包括六章:第一章是概述,介绍了java EE 的发展历史,架构,组件,服务,容器等概念,并介绍了平台角色以及开发环境和应用服务的选择与安装。第二章讲了使用JNDI 访问明明和目录服务,介绍了什么是命名和服务目录,以及如何通过JNDI 访问Weblogic 提供的命名目录服务。
第三章 讲了使用JDBC 访问数据库,介绍了JDBC的基本用法以及连接池的配置和访问。第四章讲了使用JTA 进行事物处理,介绍了事物处理概念以及如何通过JTA进行事务处理。第五章 RMI :远程方法调用,介绍了RMI 的结构以及如何使用RMI进行编程。第六章,使用JMS接发消息,介绍了消息服务的概念,在Weblogic 中消息服务相关的配置以及如何通过JMS开发消息发送和接受程序。
J2EE是一种技术,旨在简化企业应用程序的设计和实施。在本教程中,您将学习J2EE是什么,它的好处,J2EE的主要组成部分,企业应用框架的演变,为什么要使用J2EE,J2EE平台架构,J2EE API和技术和J2EE参考实现。在继续之前,我们的J2EE讨论让定义企业应用程序是什么。企业应用程序是一个应用程序,它可能要继续使用他们,同时添加或迁移到一个新的利用互联网,电子商务等新技术的应用,集传统的现有应用程序和数据库。
Java EE 架构分为四层,客户端层,Web层,EJB层和数据库层,其中,数据库层为系统提供数据存储和数据库管理功能,在整个企业级应用中可能村爱很多个数据库,并且采用不同类型的数据库管理系统进行管理。EJB层也称为业务逻辑层,用于完成系统中复杂的或者共享的业务,这些功能主要是提供客户端层和Web层调用,用户不会直接调用该层。Web层是基于HTTP 的访问方式,客户通过Web层访问系统的业务逻辑和数据等。客户端层包括Applet客户端和Application客户端,客户通过客户端的形式访问系统的业务逻辑和数据等。逻辑中的四层可能不同时出现在系统中,例如某个系统可能只提供Web形式的客户端,并且不使用EJB技术,此时系统图只留下Web层和数据库层。
Java运行环境定义了五种类型的应用组件,包括客户端组件Application和Applet,Web层组件JSP和Servlet,EJB组件等,这些组件类型是Java EE 产品必须支持的。
其中的JPA是我学习的重点。JPA包括以下3方面的技术:(1).ORM映射元数据,JPA支持XML和JDK 5.0注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中.(2).JPA 的API,用来操作实体对象,执行CRUD操作,框架在后台替我们完成所有的事情,开发者从繁琐的JDBC和SQL代码中解脱出来。(3).查询语言,这是持久化操作中很重要的一个方面,通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合。JPA的优势包括:1 标准化,JPA 是 JCP 组织发布的 Java EE 标准之一,因此任何声称符合 JPA 标准的框架都遵循同样的架构,提供相同的访问 API,这保证了基于JPA开发的企业应用能够经过少量的修改就能够在不同的JPA框架下运行。2 对容器级特性的支持,JPA 框架中支持大数据集、事务、并发等容器级事务,这使得 JPA 超越了简单持久化框架的局限,在企业应用发挥更大的作用。3 简单易用,集成方便,JPA的主要目标之一就是提供更加简单的编程模型:在JPA框架下创建实体和创建Java 类一样简单,没有任何的约束和限制,只需要使用 javax.persistence.Entity进行注释;JPA的框架和接口也都非常简单,没有太多特别的规则和设计模式的要求,开发者可以很容易的掌握。JPA基于非侵入式原则设计,因此可以很容易的和其它框架或者容器集成。4 可媲美JDBC的查询能力,JPA的查询语言是面向对象而非面向数据库的,它以面向对象的自然语法构造查询语句,可以看成是Hibernate HQL的等价物。JPA定义了独特的JPQL(Java Persistence Query Language),JPQL是EJB QL的一种扩展,它是针对实体的一种查询语言,操作对象是实体,而不是关系数据库的表,而且能够支持批量更新和修改、JOIN、GROUP BY、HAVING 等通常只有 SQL 才能够提供的高级查询特性,甚至还能够支持子查询。5 支持面向对象的高级特性,JPA 中能够支持面向对象的高级特性,如类之间的继承、多态和类之间的复杂关系,这样的支持能够让开发者最大限度的使用面向对象的模型设计企业应用,而不需要自行处理这些特性在关系数据库的持久化。
第二部分是Java Web 开发,其中第七章主要讲了Java Web应用概述,介绍Java Web的主要技术,发展历史,文档结构,并通过一个简单的例子介绍了Servlet和JSP的运行原理。第八章主要讲了JSP的基本语法,对JSP的基本语法,指令,动作,内部对象和如何在MyEclipse中开发进行了介绍。第九章主要讲了JavaServlet技术,介绍如何编写Servlet,如何使用Servlet与客户端进行交互以及Servlet过滤器和Servle监听器的使用。第十章主要讲EL,介绍EL的基本用法。其中的JSP是我学习的重点。JSP技术使用Java编成语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与JavaServlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。利用JSP技术,动态信息由JSP页面来表现,JSP页面由安装在Web服务器或者使用JSP的应用服务器上的JSP引擎执行。JSP引擎接受客户端对JSP页面的请求,并且生成JSP页面作为对客户端的响应。JSP页面通常被编译成为Java Servlets,这是一个标准的Java扩展。页面开发人员能够访问全部的Java应用环境,以利用Java技术的扩展性和可移植性。当JSP页面第一次被调用时,如果它还不存在,就会被编译成为一个Java Servlets类,并且存储在服务器的内存中。这就使得在接下来的对该页面的调用中,服务器会有非常快的响应(这避免了CGI-BIN为每个HTTP请求生成一个新的进程的问题)。JSP页面可以包含在多种不同的应用体系结构或者模型中,可以用于由不同协议、组件和格式所组成的联合体中。基于JSP的动态信息发布技术是一个开放的、可扩展的建立动态Web页面的标准。不论采用什么创建工具,开发人员都可以使用JSP页面来创建可移植的Web应用,在不同的Web应用服务器上运行。
第三部分主要讲Web Service,本部分内容主要包括三章。第十三章主要讲Web Service概述没介绍了什么是Web Service以及相关概念,包括WSDL,SOAP和UDDI.第十四章主要讲Java EE 对Web Service的支持,包括JAXR,JAXB和SAAJ.第十五章主要是使用JAX-WS开发Web Service,介绍如何使用JAX-WS 编写WebService以及访问WebService的客户端,包括在MyEcilipse中的开发。Webservice 的概念是使用一个标准的输出接口来定义代码提供的功能,以便让外界可以通过这个标准的输出接口来调用,而所谓的标准输出接口就是wsdl,wsdl是一个xml组成的文件,描述了实现程序对外提供函数的原型,客户端可以通过wsdl来调用实现程序提供的服务代码。
第四部分主要讲了JSF 框架,内容包括五章。第十六章讲了JSF概述,介绍了JSF 的体系结构,JSF的组成和生命周期等。第十七章将了一个简单的JSF应用,介绍了在MyEclipse中如何开发JSF应用。第十八章主要讲了UI组件,介绍了JSF提供的界面控件。第十九章主要讲了在JSP中使用JSF,介绍了本地化,转换器,时间监听器,验证器和导航的使用。第二十章主要是Bean,介绍了辅助Bean的配置,访问和编写。
在这部分中我主要学习了怎样使用JSF编程,其过程主要包括以下几点:第一步,创建web工程J2ee下创建web project,这没什么说的了,不过以前在eclipse中总是不知道怎么创建web应用,够傻的,原来需要插件,在myeclipse提供了全套的插件。不过Myeclipse需要破解。中国程序员似乎很少用正版的。言归正传,Myeclipse中需要在Open Perspective中选择J2ee enterprse视图。然后创建web project。这跟delphi的New一个project不太一样,delphi把所有可以new的都放在一个窗口中,而eclipse有不同的视图来提供管理,这算一种进步吧,插件化的进步。接下来需要 Add JSF Capability,因为这个类库(不知道是否应该称为类库)支撑了JSF开发需要的组件。第二步,创建bean.在New-àother中的Myeclipse-àweb-JSF下有managed bean,创建bean可以连Java类文件一起创建,且可以将需要的属性一起完成,myeclipse可以自动完成属性的get,set方法。是个比较酷的功能。第三步,创建,编辑jsp文件.在工程的webroot-->web-inf下面有一个facesconfig.xml文件,这个文件是Javabean的管理文件,同时它管理了页面之间的切换关系,起到导航页面的作用。有趣的是这个文件居然有个漂亮的design界面,可以在上面创建新的jsp文件,且可以用拖拽方式定义页面之间的关系,让所有页面的关系看起来很直观。感觉这里是个很酷的设计。页面的导航是根据一个字符串来作为判断依据的,所以在配置导航关系时,只要设定From outcome的值为调用bean方法的返回值即可。值得注意的是,JSF对于导航值只允许string类型。Jsp页面的编写其实很方便,即使不太懂,因为myeclipse提供了拖拽式的页面设计,如果熟练直接写代码也很好玩吧。我以前一直很讨厌html的代码,因为觉得太机械了,且不好记忆,这会得硬着头皮学了,不过在这种拖拽式的设计中可以省不少力气。记得jsp中使用Java采用””的方式,这会是:”#{}” 直接以bean来调用。第四步,本地化.如果需要考虑国际化的问题,那么需要创建一个.properties的文件,否则可以跳过这里。.properties文件需要创建到源码文件的目录下,否则在指定位置时便会找不到它。.properties文件的配置非常简单,如同一个ini文件。如:“username=user name”, 如果要显示中文的话,这里需要转化为unicode,jdk带了一个native2ascii的小工具可以轻松转换,不过这个玩意每次复制的时候都要先将编辑设为“标记”。不知道有没有更方便的工具。另外如果要支持中文的.properties文件需要以_zh_CN结尾才行。在jsp文件中使用下面形式定义:然后就如同Java中的类一样使用了.第五部分主要是EJB部分,内容包括四章,地二十一章介绍了EJB 的目标,发展历史,特点,角色,分类以及变成规约。第二十二章主要对会话Bean的开发以及运行原理进行了介绍。第二十三章介绍了消息驱动Bean以及客户端程序的编写。第二十四章讲解了如何访问数据源,定时服务和事务处理对象。其中EJB为学习的重点,EJB(Enterprise JavaBean)是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK)。在J2EE里,Enterprise Java Beans(EJB)称为Java 企业柄,是Java的核心代码,分为整体柄和片段柄和消息柄三个部分,其中的消息柄将在以后再作讨论。EJB是sun的服务器端组件模型,最大的用处是部署。
第五篇:农村三资监管网络平台的设计与实现
农村三资监管网络平台的设计与实现
摘要:随着农村三资管理规范化的深入开展,利用先进的网络信息化技术,设计开发集信息的采集、处理和监督、控制于一体的农村三资监管网络平台软件系统具有实际应用价值。以基础数据管理子系统的设计实现为例,介绍了数据库技术、Vaadin技术和三层体系架构在三资监管网络平台开发中的具体运用。
关键词:三资监管;网络平台;Vaddin;三层体系架构
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)11-0042-02
引言
农村三资(资金、资产和资源)管理历来存在资金管理混乱、资产管理不规范,集体资产被贪占、挪用、变卖等问题,造成集体资产流失,是农村工作的首要难题。随着农村三资管理规范化的深入开展,利用先进的网络信息化技术,设计开发以农村资金(财务)、资产、资源管理为核心,基于网络平台的集三资信息的采集、处理和监督、控制于一体的农村集体三资监管网络平台软件系统更有实际应用价值。
三资监管平台包括基础数据管理、资金(财务)管理、资产管理和资源管理四个子系统,其中,基础数据管理子系统为其他三个系统提供用户、组织、岗位和权限(角色)信息以及账套/数据库备份、还原等基础数据管理维护功能,是软件平台的核心模块。本文以基础数据管理子系统的设计实现为例,介绍了三资监管网络平台的实现技术。
2三资网络监管平台技术方案
根据三资信息市、县区、乡镇及村四级监管体系、系统操作不受时间/地点限制以及客户端零维护的实际需求,软件平台选用B/S(浏览器/服务器)结构。各级用户通过浏览器就可以登录到三资监管平台网站进行相关信息的录入、查询和监督管理等操作;用户、三资信息等所有平台相关数据集中存放在市级三资管理部门信息中心的数据库服务器,该平台应用软件部署到信息中心的Web应用服务器上。
软件平台开发采用Java语言,选用Vaadin技术实现UI编程,MySQL做后台数据库管理系统,Apache Tomcat5.5作为Web服务器。
软件体系采用数据访问层(DAL层)、业务逻辑层(BLL层)和表示层三层架构,数据访问层用于实现软件系统对数据库的操作,完成业务流程对数据库中数据的插入、更新等操作。如通过SQL语句访问MySQL数据库管理系统,查询三资基础数据信息,并可进行insert、update和delete等操作;业务逻辑层用于实现数据业务流程,该部分的研究与设计在系统软件和开发过程中是系统实现的核心环节,用于对上下层之间的交互数据进行逻辑处理,实现对应的业务目标;表示层是系统的UI部分,通过Vaadin技术实现友好的业务操作界面供用户操作相关业务,同时对用户业务操作结果进行统计展示,这一层中的逻辑代码包含了许多Web控件和相关逻辑。基础数据管理子系统的设计及主要实现技术
3.1 系统功能结构设计
基础数据管理子系统包括个人信息管理和系统管理两个功能模块,系统功能结构如图1所示。个人信息管理模块实现登录用户账号密码重置、个人信息查询修改及照片上传等功能。系统管理模块为三资监管平台提供基础数据配置、维护等功能。
图1 系统功能结构
3.2 数据库设计及实现
三资监管平台分别为平台各系统创建独立的数据库。基础数据管理子系统数据库主要包括表、视图和函数(存储过程)对象。表设计如图2所示。
系统数据库设计的主要思路是尽量在MySQL数据库底层实现能够处理的业务逻辑,简化上层代码层的工作,同时提高系统执行效率。在本系统中创建了15个函数(存储过程)对象,并充分运用预处理、游标和事务处理技术。为组织创建新岗位的存储过程sp_newOrgandGw()就是典型的代码示例:首先查询该账套中所有角色信息并设置为游标;创建事务,新建账套组织,获得新建组织的ID号,并将组织ID与角色ID组合成新的岗位信息并插入到岗位信息表中,这三个操作要么都执行要么都不执行,如果中途执行失败,该事务回滚。
图2 基础数据管理子系统表设计
declare no_more_data INT default 0;
DECLARE t_error INTEGER DEFAULT 0;
declare Cursor_cur cursor For
select 角色ID,角色名称 from 角色信息 where 角色级别=orgJiBie and 账套ID=ledgerID;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_data=1;
START TRANSACTION; #启动事务
insert into 组织机构(账套ID,组织代码,机构全称,机构简称,机构名称,组织级别,上级组织代码,机构地址,机构邮政编码,机构负责人,联系电话)
values(ledgerID,orgCode,orgFullName,orgJianCheng,orgName,orgJiBie,upOrgCode,orgAddress,orgPost,orgManage,orgPhone); #1.创建组织,获得新建组织的ID值
select last_insert_id()into orgID;
SET no_more_data=0;
OPEN Cursor_cur; #打开游标
FETCH Cursor_cur INTO jueseid,juesename; #2.获取角色ID和角色名称