Java技术在嵌入式系统中的应用

2024-07-21

Java技术在嵌入式系统中的应用(通用9篇)

篇1:Java技术在嵌入式系统中的应用

Java技术在嵌入式系统中的应用

摘要:J2ME是Java2平台的一个版本,使用在各种各样的消费电子产品和嵌入式设备上。JavaCard技术规范得Java应用能运行在智能卡和更小的嵌入式设备上。本文介绍J2ME和JavaCard的硬件平台和软件体系结构,以及如何进行J2ME和JavaCard应用程序开发。Java在移动通信领域的应用已经引起广泛的关注,本文对此进行了详细的描述。

关键词:Java嵌入式系统Java卡J2ME移动通信

1Java概述

Java是在1991年由Sun公司JamesGoslingPatrickNaughton、ChisWarth、EdFrank以及MikeSherindan等组成的“STAR7”小组所构想出来的。于1995年5月正式推出。Java计算平台包括JVM(Java虚拟机)和JavaAPI(Java应用编程接口)。JVM是一种抽象化的计算机,运行在操作系统之上,可以在它上面执行Java的字节线,使Java应用程序在现有的各种平台上都可以顺利执行。JavaAPI和Java的函数类库,分为基本核心类库和各种外加功能的扩展类库。

12月8日,Sun公司的最新一个版本的JDK(JavaSoftwareDevelopmentKit)正式发布,Sun的升级版本,而且还是完善的Java平台。

Java2定义组成Java企业平台的核心技术包括15个核心API。这15个核心API构成了整个Java2技术的灵魂,包括Applet、AWT、Beans、IO、Lang、Math、Net、Rmi、Security、SQL、Text、Util、Accessibility、Swing和CORBA。与以往的JDK比较,Java2平台具有很多优势,如更灵活的安全模式、更好的性能、与其他企业级系统的互用性、应用开发更容易、全球化的提高以及更好的跨平台性等。

Java2可以根据对软、硬件需求的不同分为4个版本。J2EE(Java2Platform,EnterpriseEdition)用于企业服务器端应用程序开发;J2SE(Java2Platform,StandardEdition)用于个人计算机上的应用程序开发;J2ME(Java2Platform,MicroEdition)用于信息家电等资源有限的设备上的应用程序开发;JavaCardPlatform用于智能卡上的应用程序开发。

Java程序语言在其产生之初,本身就是为嵌入式设备--机顶盒设备设计的。现在Java又凭借J2MEE和JavaCardPlatform回到嵌入式系统开发领域。

2Java卡

(1)Java卡简介

Java卡是Java平台中最小的子集,也是一种特殊的智能卡。智能卡是一种嵌入计算机芯片的卡片,广泛应用于通信、交通、金融、证券和保险等领域。智能卡分为两大类:一类是存储器卡,另一类是微处理器卡。存储器卡仅仅被用于存储器数据。微处理器卡有数据处理的功能:它有自己的CPU、I/O端口、存储器和操作系统,可以被看作是一台微型电脑;可以安装并运行小的应用程序,通过串行通信接口与外部通信。ISO(国际标准组织)制定了智能卡的国际标准ISO7816。

影响智能卡推广的主要因素是其不够开放,不同的卡片制造商生产的卡片的应用程序开发没有统一的标准。为了解决这个问题,工业界提出了能运行Java程序的智能卡--Java卡,并且制定了Java卡的.技术规范,包括JavaCardVM(Java卡虚拟机)和API的详细信息。JavaCardVM位于智能卡的操作系统之一,用通用的编程语言和系统接口屏蔽了不同智能卡硬件和操作系统的区别。Java卡的框架定义了供应用程序开发者使用的API。Java卡的应用程序称为Applet,每个Applet由唯一的AID(应用程序标识符)来识别。

(2)Java卡对硬件的最低要求

512BRAM:主要用于存储应用程序运行时的栈以及I/O缓冲区。

24KBROM:主要用于存储程序代码和系统的运行时系统。

8KBEEPROM:主要用于存储Java卡的Applet和堆。

8位处理器:8位处理器是Java卡的最低要求。

(3)Java卡软件体系结构

Java卡软件体系结构如图1所示。

最底层的CardOS(操作系统)和NativeFunctions(基本函数)相不于个人计算机的操作系统,负责低层的处理工作。

JavaCardVM位于CardOS和NativeFunctions之上,隐蔽了底层智能卡的不同技术,实现了卡接口的统一和编程语言的统一。

JavaCardFramework(Java卡框架)为开发人员定义了一整套API,主要负责运行Java卡Applet以及为Applet运行提供所需要的环境。

CardOS、JavaCardVM和JavaCardFramework共同组成了JCRE(Java卡运行时环境)。IndustrySpecificExtensions是服务方所提供的类,使企业与公司能够提供属于自己的服务程序。例如,如果这张卡是GSM网络的SIM(用户识别模块)卡,那么这一层就是SIM卡所需的接口类。

(4)JavaCardAPI

JavaCard的2.1版包括四个包:Javacard.langpackage、Javacard.frameworkpackage、Javacard.securitypackage和Javacardx.cryptopackage。

Javacard.langpackage提供Java程序语言中重要的类,例如所有Java类的根类Object类。

Javacard.frameworkpackage是JavaCardAPI的核心包,提供了实现JavaCardApplet基本类和工具。其中ISO7816抽象接口提供了ISO7816所使用的常数值。PIN(个人识别号码)抽象接口使其子类能够验证PIN是否合法。Shareable抽象接口使得不同的Applet能够互相通信。AID类使得JCRE能够通过一个AID表来识别Applet。APDU类通过管理一个缓冲区来接收与传送终端的指令以及回传Applet运行结果与状态。Applet类是所有JavaCardApplet的根类,管理JavaCardApplet的生命周期。JCSystem类管理Applet与JavaCard的系统资源,如AID与事务。OwnerPIN类管理卡片持有者的PIN,并提供相关验证与更新等方法。Util类提供了开发中的常用工具。

Javacard.securitypackage负责提供安全机制,包括Key抽象接口、KeyBuilde类和MessageDisest类。

Javacardx.cryptopackage包含了关于加密与安全的抽象接口和类。

(5)Java卡应用的开发

Java卡的生命周期从操作系统、JVM、API库和可选的Applet被写入Java卡的ROM开始。在正式使用之前,Java卡要经过初始化(在卡上写入制造商和发行商名称等通用信息)和个人化(在卡上写入密钥等个人信息)。然后用户就可以购买并使用Java卡了,当然还要与读卡器相配合。Applet的生命周期从被安装并注册到Java卡系统开始,在被从系统注册表中删除时结束,在被选择时激活。

Java卡的应用程序可以用一般的Java编译器来编译。但是由于智能卡只有有限的存储器资源和计算功能,Java卡上的应用开发与普通的Java程序开发有很大的不同,很多Java语言的特性在Java卡应用的开发中都不能使用。Java卡的应用开发(在Windows系统下)过程如下:

①安装JDK和JavaCard2.1.1DevelopmentKit;

②设置有关环境变量;

③编辑Java源代码,可以使用任何Java代码编辑工具;

④编译Java源代码,用Java编译器编译Java源代码,生成class文件;

⑤生成Cap文件,在Java卡上不能直接运行class文件,必须用Java卡转换器(converter)、把class文件转换为Cap文件;

⑥安装Applet,用PC机和与之相连的读卡器把Cap文件安装到Java卡上。

图2为Java卡应用开发过程示意图。

(6)Java卡在移动通信领域的应用

SIM(用户识别模块)作为一张内含大规模集成电路的智能卡,目前主要用于GSM手机。最初SIM卡主要用来存储一些个人身份认证和识别信息,例如IMSI、鉴权密钥等。SIM卡不能向手机发出命令。19ETSI(欧洲电信标准化委员会)制定了STK卡(SIM应用工具箱技术)的技术规范,大大增强了SIM卡的能力。STK卡上可以安装运行应用程序,可以向手机发出命令,例如在手机上建立新的菜单。SIM卡还可以收发短消息甚至发起呼叫。这样就可以在SIM卡上运行客户端的软件,通过短消息与服务器交互,同时通过菜单为用户提供友好的界面。

尽管STK对SIM卡的使用方法进行了标准化,但是各个制造商仍旧使用自己的开发工具为自选的芯片掩膜,因此引入开放的SIM卡开放平台成为必要。ETSI已在其协议中增加了有关JavaCard的内容。GSMSIM卡采用JavaCardAPI在保证安全的同时提供开放的SIM开发,使得STK应用在不同制造商的SIM卡上运行。在开发过程中,

软件开发商可采用开放的开发工具,开发出与Java兼容的SIM卡应用程序。

ETSI的协议GSM03.19是STKJava卡的技术标准,规定了STKJava卡的体系结构。最底层是JCRE和GSM文件系统。之上是GSM框架,提供了一些供Applet接入GSM文件系统的API。在GSM框架之上是SIMToolkit框架,负责Applet的触发、注册、安装和卸载,主动式命令的处理,Applet的安全性管理。

3J2ME

(1)J2ME简介

J2ME是Sun公司为资源有限的设备上使用Java编程语言而设计的,使用在各种各样的消费电子产品上,例如智能卡、手机、PDA、电视机顶盒等。J2ME平台是建立在Java编程语言上的,可为资源有限的设备提供最大的功能。

J2ME目前有两种配置层。一种是“面向连接的设备配置”CDC(ConnectedDeviceConfiguration),它采用典型的Java虚拟机技术。这种全功能的虚拟机包含了基于台式机系统上的虚拟机的所有功能,适用于拥有至少几兆字节内存的设备。它的目标是高档的消费类电子产品和嵌入式设备,例如智能通信器、高级“智能”寻呼机、智能个人数字助理(PDA)以及交互式数字电视机顶盒。对于无线设备和其它内存不足的设备,J2ME采用“面向连接的受限的设备配置”CLDC(ConnectedLimitedDeviceConfiguration)技术。

(2)J2ME对硬件的最低要求

CDC与CLDC对硬件平台有不同的要求:

CDC-32位的微处理器,大于2MB的存储器。

CLDC-16位或32位处理器,大于128KB的存储器。

(3)J2ME软件体系结构

图3所示为J2ME软件体系结构。

JavaVirtualMachineLayer(Java虚拟机层)是Java虚拟机的一个实现,它是为特定设备的主机操作系统定制的,而且支持一个特定的J2ME配备。CDC配置的JVM是CVM(C虚拟机),CLDC配置的JVM是KVM(K虚拟机)。

ConfigurationLayer(配置层)定义了Java虚拟机功能和特定类别设备上可用的Java类库的最小集。从某种程序上说,一个配置定义了Java平台功能部件和库的共同性,开发者可以假设这些功能部件和库在属于某一特定类别的所有设备上都是可用的。

ProfileLayer(框架层)定义了特定系列设备上可用的应用程序编程接口的最小集。框架在一个特定的配置上面实现,在配置层上增加适用特定规格的配置文件,如MIDP就是用于移动终端的配置文件。应用程序是针对特定的框架编写的,因此可以移植到支持该框架的任何设备上,一个设备可以支持多个框架。

(4)J2MEAPI

CDC提供支持全兼容Java2虚拟机所必需的最小API集。这一API集包括所有为CDC定义的API和针对文件I/O、网络连接、高级完全性、对象序列等API。其中Java.io支持系统输入与输出,JavalangJava提供编程语言基本类,Java.lang.ref包括了一些特别参考类,Java.lang.reflect提供对反映的支持,Java.math支持数学运算,Java.net提供用于网络连接的类和工具,Java.security提供完全支持,Java.security.cert提供证书支持,Java.text提供文本处理类,Java.util包括集合、日期和时间支持等各种实用工具类,Java.util.jar提供Jar文件支持,Java.util.zip提供Zip文件支持,支持Javax.microedition类属连接。

由于MIDP/CLDCAPI将在一个性能有限的设备上运行,因此Java的一些功能被取消或修改。Java.lang、Java.io、Java.util包是J2SE包中标准类的一个子集。Javax.microedition.io包提供了对网络连接的支持,Javax.microedition.io包中的主要对象是Connector类。可将该类强制转换为不同的连接类型,例如HttpConnection。Javax.microedition.lcdui提供了用于定义midlet用户接口的类。Javax.microedition.rms包用来在设备上实现一个临时存储数据库,当然该数据库的存储和获取信息的性能受到设备的限制。Javax.microedition.midlet中包含有MIDlet的类。MIDlet类执行midlet的生命周期,并且提供getAppProperty(key)方法来由应用属性中获取信息。应用属性设置在jad(Java应用程序描述器)文件中。

(5)Java卡在移动通信领域的应用

CLDC和MIDP为创建移动电话应用程序提供了完整的环境。MID框架的核心是一个MIDlet应用程序,所有应用程序MIDlet都继承MIMlet类,以允许应用程序管理软件对MIDlet进行控制、从应用程序描述符检索属性以及对状态变化进行通知和请示。MIDlet类提供了用于调用、暂停、重新启动和终止MIDlet应用程序的API。应用程序管理软件可以在运行时环境内管理多个MIDlet的活动。此外,MIDlet可以自己发起一些状态变化,并把这些变化通知给应用程序管理软件。

移动电话J2MEMIDP应用程序包括用户界面开发、数据库程序开发和网络程序开发。

Javax.microedition.lcdui包中包括了用于用户界面开发的各种类。用户界面的根类是Display,所有的用户界面类都是在Display里显示出来的Displayable对象,Display对象是其它对象演示的舞台,应用程序道德需要获得Display对象的引用,然后就可以把场景对象放入演示舞台中。MIDP提供了Screen和Canvas两种演示场景。Screen的子类包括Alert、Form、List和TextBox。Javax.microedition.lcdui中定义了Command类来接收用户的输入信息,又在Display类中定义了Screen对象与Command对象组合的方法,使得应用程序能够响应用户的输入。

在Screen场景中可以使用的对象包括Alert(信息窗口)、Form(窗体)、List(选项列表)和TextBox(文本框)。其中Form可以放置Item类,包括TextFiled(文本字段)、StringItem(字符串项目)、ImageItem(图像项目)、DataField(日期字段)、ChoiceGroup(选项集合)和Gauge(标尺)。TextBox使应用程序能够在屏幕上显示文本框;Alert类似于消息框,可以为用户提供一些信息;List类以列表的形式提供选项使用户选择;Form是一个容器对象,可以放置包括文本字段、字符串项目、图像项目、日期字段、选项集合和标尺等在内的Item对象。

Canvas是Displayable中用来给开发者创建整个用户接口的,用于创建复杂的用户界面,例如视频游戏中使用的界面。用户在Canvas对象上的绘画与Applet中的AWTCanvas类似。

Javax.microedition.rms定义了在设备上实现一个临时存储数据库程序开发的类。其中采用由字节数组RMS(记录管理系统)机制,使用称为RecordStore(记录存储区)的小型数据库。每个记录存储区对象是Javax.microedition.rms类的一个实例。记录存储区是由字节数组组成的记录构成的。RecordStore提供了用于用户操作记录和管理存储区的方法,对记录的操作包括增加、删除、更新和查询。

Javax.microedition.io为应用程序开发者提供GCF(通用联机框架),用于网络编程。网络编程的根类是Connecter,通过Connecter提供了HTTP、SOCKET、Datagram(数据报)和SerialPort(串行口)等网络通信方式,其中HTTP为设备的必选项。

(6)J2MEMIDP应用程序的开发过程

Sun公司最近推出的工具包J2MEWTK(Java2MicroEditionWirelessToolkit)简化了MIDlet的开发,为MIDlet开发提供了一个全面的工具包。应用程序的开发过程如下:

①安装J2SE或者JavaRuntimeEnviroment。

②安装J2MEWTK。

③配置仿真器。

④编辑Java源文件,可以使用任何Java代码编辑工具。

⑤编译Java源代码,用Java编译器编译Java源代码,生成Class文件。除了编译以外,编译器还会检查源文件中有没有使用CLDC和MIDP以外的类和属性及方法。

⑥验证字节码。

⑦封装成MIDletSuite,把经过验证的Class文件及应用程序中将用到的资源文件封装成JAR文件,这一步会生成JAD文件和mainfest文件。

⑧测试,然后下载到目标机上运行。

结语

Java本来就是为嵌入式设备而设计的,但昌随着因特网的兴起,Java在台式机和服务器端的应用开发中取得了巨大的成功。Java在应用中充分展示其通用性与完全性等优势,而这在嵌入式设备的应用开发中是至关重要的,这使得Java重返嵌入式应用开发领域成为必然。STKJava卡和J2ME的成功应用昭示着Java在嵌入式系统应用开发中的美好前景。

篇2:Java技术在嵌入式系统中的应用

嵌入式系统与通信技术在汽车安全中的应用

利用RISC ARM处理器与网络通信技术组成汽车安全系统,实现汽车安全驾驶和远程实时监控.通过嵌入式系统与网络通信,将采集的连续视频图像以MJPEG的方式压缩处理,然后由StrongARM进行打包处理,生成UDP包,通过LCD显示或通过无线网络向网络服务器发送,再加上语音提示从而达到安全驾驶和远程实时监控.系统能较好提高驾驶的安全性与防盗,而且具有安装方便、配置灵活、便于携带等优点,具有较好的`市场应用前景.

作 者:伍松 作者单位:广西工学院,广西,柳州,546005刊 名:大众科技英文刊名:POPULAR SCIENCE & TECHNOLOGY年,卷(期):2009“”(4)分类号:U461.91关键词:汽车安全 视频采集 嵌入式系统 通信技术

篇3:Java技术在嵌入式系统中的应用

1.1 Java 的发展历程

Java语言是1995年5月由Sun公司提出来并率先进行研发的。Java平台不仅包含了JVM, 应用于虚拟机系统外, 还拥有Java应用编程接口的Java API。

JVM被认为是一种抽象化的计算机, 是在操作系统的基础上进行运行的, 另外在JVM使用时, 还可以将其与Java的字节线进行执行起来。所有的Java应用程序都可以在不同类型的平台上来进行执行。Java及Java API的函数类库, 存在了基本核心库与各种外加功能的扩展类库。

另外在1998年12月8日的时候, Sun公司再次推出一个新版本的JDK (Java Software Development Kit) , 它不仅对原有的版本进行了升级, 还对Java的平台做到了进一步的完善。

1.2Java 的内容包含及组成

Java 2是由15个核心技术所构成的一个平台, 因此该项技术包含了15个核心的API。这15个核心都是Java 2得以应用的关键部分。和原来的JDK进行相比较, 此种平台在使用的过程中更加具有优势, 能够体现出更好的安全性、稳定性及与企业级系统间的互动性。

另外, 新的Java还根据对软件及对硬件的需求不同, 因此在使用的时候具有四个不同的版本, 其中分别是J2MM、J2SE、J2EE及Java Card Platform。Java程序是为了能够在嵌入式设备中得到应用而进行开发, 目前Java具有的J2ME及Java卡功能, 使得java语言在嵌入式系统的开发过程中得到了广泛的应用。

2 对 Java 卡的相关介绍

作为Java平台存在的最小的子集, Java卡是一种具有特殊性能的智能卡。其中智能卡包含两大类, 第一类是储存卡, 另一类是微处理卡。储存卡在使用的过程中, 能够起到储存数据的作用, 而微处理卡能够在使用的过程中对数据进行有效的处理。

Java卡是智能卡的一种操作系统, 使用通用的编程语言与系统接口能够对不同类型的智能卡的进行的操作系统及硬件设施进行区别。另外Java卡还可以为开发者提供API, 为程序开发者提供了较大的方便。目前智能卡得不到广泛应用的原因是因为缺乏一套统一的标准。因此为了能对这个问题进行解决, 工业界对Java卡进行使用, 使得Java程序能够得到有效的运行, 另外还制定了相关的Java卡的技术标准及规范。

3 J2ME 的相关介绍与应用

3.1J2ME 的介绍

Sun公司为了能够在电子产品中对相关程序的应用, 因此研发出了Java编程语言, 其中J2ME实现在设备上开发程序的功能。目前J2ME具有两种配置层, 其中一种是面向连接设备配置的配置层, 其是一种典型Java虚拟技术的使用, 它在使用的时候, 包含了虚拟机具有的所用功能, 因此可以在一些具有内存的设备中使用, 另外还可以实现在高档电子产品及嵌入式设备中使用的目标。

3.2 J2ME 的应用

MIDP与CLDC能够为移动电话的应用程序使用提供了一个良好的环境。对于MID框架来说, 其主要的核心部分就是MIDet应用程序, 因此所有的应用程序都对MIMlet做到了有效的继承, 这是为了能够让应用程序可以受到MIDlet的控制, 并且能够让应用程序具有检索属性及能够应对状态而带来的变化。对于MIDlet类的程序来说, 其具有调用、暂时、重新启动及终止等多方面的功能。另外在程序管理的应用软件中, 还可以开展对多个MIDlet活动的应用。另外MIDlet还可以根据自身的状态来进行改变, 并且将这些改变都能够及时向应用程序的管理软件进行反应。

4 Java 能够在嵌入式系统中得以运用的原因分析

运行Java虚拟机 (JVM) 解释Java字节码, 这种方式对大多数嵌入式应用来说占用空间过多, 运行速度过慢。不过Sun的Java 2 Micro Edition (J2ME) 改变了这种状况。

对嵌入式系统设计师来说, Java有许多优点。作为一门编程语言, Java允许面向对象编程, 又没有C中存在的严重问题。Java运行时环境还提供了有用属性。Java提供的内存管理功能使得编程人员不必分配及释放内存。运行时环境甚至可以通过整合核心类库来简化程序分配。但大多数嵌入式应用面临Java没有处理好的两大约束:没有足够的空间和时间。

4.1 提高开发效率和可维护性

在项目的整个生命周期中, Java环境大大的简化了开发和维护。由于目标环境是建立在一个虚拟机上, 代码可以很容易的编写、调试、分析、更改、维护。加上将来要连接的外接设备, 未来的系统可能比目前的嵌入式系统复杂很多。升级手册也许不会在整个项目的生命周期中都能起到作用。取而代之的是, 硬件设备的可连接性使得能够远程管理模块, 这样就保证了开发人员能在产品上增加新的性能, 同时解决了在产品生产后软件升级和维护的问题。

4.2 重复利用代码

随着嵌入式技术的成熟以及系统本身变得更大更优化, 很多人开始对于把一个产品的模块甚至是全部的应用程序用到另一个产品感兴趣。这种可重新利用性使得"一次开发, 多次利用 "成为了可能。Java环境使得一个模块可以只要做很少的工作就可以适应多个项目和平台。甚至包括有时客户需要一个新的目标板, 或者采用新的硬件 (CPU或外设) 和软件, 或者使用不同的Linux都可以进行移植。

4.3集成Java代码和源代码

使用源代码明显是指应用程序的多可用性以及代码的重利用能力。在Java应用中, 一个设计很好的界面, 或者虚拟机, 或者是底层的硬件都可以很好的兼容到嵌入式系统中。尽管无法移植, 对于很多功能和硬件界面来说, 在本地环境下开发的代码也许仍然是最好的解决方案。在C、C++或者汇编语言中, 加入标准的通信、接口模块、用户界面、安全特性会花费很多时间与金钱。与之相比较, Java的基本库本身就提供了这些东西甚至还更多, 这样就可以加速开发。

5 结语

Java语言在编程及系统的开发上都具有强大的功能, 它具有的稳定性、兼容系及可植入性的各种性质, 让它能够在嵌入式系统中得到了充分的应用。在嵌入式系统在开发时所需要的很多需求, Java语言都能够做到有效的满足。另外Java语言中Java卡及J2ME的开发, 使其在嵌入式系统得到了更有效的应用。为了实现对Java语言的充分应用, 因此在未来, 我们还需要进一步对Java语言进行开发, 实现嵌入式系统的进一步发展。

摘要:Java语言是在C++语言的基础上来进行改变而成的, 其是属于一种新型的计算机编程语言, 在计算机技术的发展过程中, Java语言逐渐得到了广泛的应用, Java技术不但是一种编程语言, 更是一个开发平台。Java技术在使用过程中具有较高的安全性、可移植性、稳定性及通用性, 因此在嵌入式系统中有广泛的应用。本文通过Java技术、Java卡、J2ME的介绍, 来分析Java技术在嵌入式系统中具有的作用。

关键词:Java技术,嵌入式系统,作用研究

参考文献

[1]张辉, 曹家琏, 韩天柱.J2ME在嵌入式系统中的应用开发[J].电脑知识与技术.2009年01期

篇4:嵌入式系统在温控系统中的应用

1.前言

温度作为一个基本物理量,它是一个与人们的生活、生产密切相关的重要物理量。生活和工业生产过程中温度作为一种常用的主要被控参数,我们需要对温度参数进行检测并利用该参数进行自动控制。采用单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此单片机对温度的控制问题是一个工业生产中经常会遇到的问题。

2.国内外发展现状

目前国内外的温度控制方式越来越趋向于微型化和智能化,温度测量首先是由温度传感器来实现的。测温仪器由温度传感器和信号处理两部分组成。随着工业生产效率的不断提高,自动化水平与范围也不断扩大,因而对温度检测技术的要求也愈来愈高,一般可以归纳以下几方面。

(1)扩展检测范围 现在工业上通用的温度检测范围为-200-3000℃,而今后要求能测量超高温与超低温。尤其是液化气体的极低温度检测更为迫切,如10K以下的温度检测是当前重点研究课题。

(2)扩大测温对象 温度检测技术将会由点测温发展到线、面,甚至立体的测量。应用范围己经从土业领域延伸到环境保护、家用电器、汽车工业及航天工业领域。

(3)发展新型产品 利用以前的检测技术生产出适应于不同场合、不同工况要求的新型产品,以满足用户需要。同时利用新的检测技术制造出新的产品。

(4)适应特殊环境下的测温 对许多场合中的温度检测器有特殊要求,如防硫、防爆、耐磨等性能要求;又如移动物体和高速旋转物体的测温、钢水的连续测温、火焰温度检测等。

(5)显示数字化 温度仪表向数字化方向发展。其最大优点是直观、无读数误差、分辨率高、测量误差小,因而有广阔的销售市场。

(6)标定自动化 应用计算机技术,快速、准确、自动地标定温度检测器。根据分析,由单片机组成的温控系统,通过在单片机外部添加各种接口电路,可构成单片机最小系统,用以实现对温度控制对象的温度的显示和控制。同时也能根据实际情况实现数据处理、报警,对各个参数以一定的周期进行检查和测量,检测的结果经处理后再进行显示和报警,以提醒操作人员注意或直接用于生产控制。

3.应用情况

嵌入式温控系统现在应用非常广泛,可以说深入到了生活的方方面面,如蔬菜大棚智能温度控制系统、贮液容器温控系统、汽车空调温控系统、电加热炉温度控制系统等。

(1)蔬菜大棚智能温度控制系统 冬季塑料蔬菜大棚最重要的一个管理因素是温度控制。温度过低,蔬菜会冻死或停止生长,所以要控制温度在蔬菜适宜的范围内。如果仅靠人工控制既耗费人力、物力,又容易发生差错。为此设计智能化温控系统,控制蔬菜大棚温度,适应生产需求。蔬菜大棚智能温度控制系统的研制水到渠成。

(2)贮液容器温控系统 贮液容器溫控系统中以贮液容器温度为被控参数,蒸汽流量为控制参数,输入贮液容器冷物料的初温为前馈控制,构成前馈一反馈控制系统,从而达到控制贮液容器温度,满足工艺要求的目的。

(3)汽车空调温控系统 现代化的汽车空调就是能将汽车室内空间的环境调整到对人体最适宜的状态,创造良好的车内环境,以提高司机的工作效率和保护乘员的身体健康。目前高档轿车中用各种微处理器完成各种控制,汽车空调温控系统技术也有了飞速的发展。

(4)电加热炉温度控制系统 电加热炉随着科学技术的发展和工业生产水平的提高,已经在冶金、化工、机械等各类工业控制中得到了广泛应用,并且在国民经济中占有举足轻重的地位。嵌入式电加热炉温度控制系统现在正被广泛地使用。

4.技术情况分析

下面对使用80C51和18B20的系统进行分析:

(1)硬件 硬件主要包括中央处理器80C51、温度传感器18B20、键盘、LED等。

(2)软件 系统软件设计时可以采用模块化的结构和层次设计思想,不仅方便了设计和使用,也有利于以后系统的扩展和升级。系统软件可以包括主程序、数据采集处理模块,可以使用PID算法,可以包括声光报警模块、通讯模块等。

从以上分析不难看出,使用单片机进行温控系统的开发已具有成熟的技术。

5.趋势

随着微电子技术的不断发展,集成了CPU、存储器、定时器/计数器、并行和串行接口、看门狗、前置放大器甚至A/D、D/A转换器等电路在一块芯片上的超大规模集成电路芯片出现了。以单片机为主体,将计算机技术与测量控制技术结合在一起,又组成了所谓的“智能化测量控制系统”,也就是智能仪器。

与传统仪器仪表相比,智能仪器具有以下功能特点:

(1)操作自动化 仪器的整个测量过程如键盘扫描、量程选择、开关启动闭合、数据的采集、传输与处理以及显示打印等都用单片机或微控制器来控制操作,实现测量过程的全部自动化。

(2)具有自测功能 包括自动调零、自动故障与状态检验、自动校准、自诊断及量程自动转换等。

(3)具有数据处理功能 具有数据处理功能,这是智能仪器的主要优点之一。智能仪器由于采用了单片机或微控制器,使得许多原来用硬件逻辑难以解决或根本无法解决的问题,现在可以用软件非常灵活地加以解决。

(4)具有友好的人机对话能力 智能仪器使用键盘代替传统仪器中的切换开关,操作人员只需通过键盘输入命令,就能实现某种测量功能。与此同时,智能仪器还通过显示屏将仪器的运行情况、工作状态以及对测量数据的处理结果及时告诉操作人员,使仪器的操作更加方便直观。

(5)具有可程控操作能力 一般智能仪器都配有GPIB、RS232C、RS485等标准的通信接口,可以很方便地与PC机和其他仪器一起组成用户所需要的多种功能的自动测量系统,来完成更复杂的测试任务。

随着嵌入式在温控系统的应用,温控系统也具有了操作自动化功能、自测功能、数据处理、人机对话能力、可程控能力等功能,随着嵌入式技术的不断发展,温控系统应用的领域会越来越大,温控系统也会向微型化、高度集成化、控制简单化等方向发展。

6.结论

嵌入式温控系统具有良好的动态性能,控制精度高,控制效果稳定、良好,可以满足各个行业的不同要求。随着智能温控系统的不断普及和发展,基于高性能处理器的嵌入式温控系统将会有更加广阔的用武之地。

篇5:Java技术在嵌入式系统中的应用

作者Email: cai_yang@etang.com

1介绍

MIL-STD-1553是为数据总线定义的军方标准。这种数据总线被用来为各种的系统之间的数据和信息的交换提供媒介,它类似“局域网或者LAN”。

1950年至60年代中,航空电子学是简单、独立的系统,航空、通信、飞行控制和显示器由模拟系统构成;信号主要由模拟电压、同-异步信号和接触式开关构成。

MIL-STD-1553总线的传输速度为每秒1M比特,字的长度为20个比特,数据有效长度为16个比特,信息量最大长度为32个字,传输方式为半双工方式,传输协议为命令/响应方式,故障容错有典型的双冗余方式,第二条总线处于热备份状态;信息格式有BC到RT、RT到BC、RT到RT、广播方式和系统控制方式;能挂31个远置终端,终端类型有总线控制器(BC)、远置终端(RT)和总线监听器(BM);传输媒介为屏蔽双绞线,MIL-STD-1553总线耦合方式有直接耦合和变压器耦合。

2硬件系统

本系统采用PCI总线接口,PCI桥芯片采用PLX公司的PCI9052。1553B总线芯片采用DDC61580,CPLD主要实现DDC61580和PCI9052之间的.时序及逻辑控制。硬件框图如图1所示。

详细的逻辑控制信号见CPLD逻辑部分。

2.1 PCI9052的主要特点

PCI9052是PLX技术公司为扩展适配板卡推出的能提供一种混合的高性能PCI总线目标(从)模式的接口芯片。该芯片可与多种局部总线相连,并且支持相对慢的局部总线在PCI总线上的突发传送速率达到132MB/s。9052可编程配置直接与复用或非复用的8/16/32位局部总线相连,8位和16位模式便于

ISA卡直接向PCI卡转换。

PCI9052的内部结构中包含了一个独立的ISA逻辑接口,通过这个逻辑接口可以完成由ISA到PCI的平滑转换。它支持8位和16位数据宽度的ISA设备,该设备可以是内存映射,也可以是I/O映射。先读模式用于提高读取数据的吞吐量。一旦ISA接口模式使能,PCI9052只执行单个周期操作。特别指出的是,串行EEPROM必需使ISA接口

模式使能。

可以使用两种方法配置PCI9052用于ISA接口模式。方法一:烧写串行EEPROM方法。使用烧写器,将数据写入串行EEPROM,参照PCI9052的DataSheet来写入恰当的数据。需要注意的是,对于ISA模式,LRESET引脚必须始终为高电平,并确认MODE引脚置为0,处于非复用模式。

方法二:热配置方法。从

PCI总线通过PCI9052芯片来烧写串行EEPROM。该方法需要注意的是,LRESET引脚的极性在ISA模式时由低变为高,并确认MODE引脚置为低。

当为ISA接口模式配置时必须注意以下几点:(1)存取ISA接口引脚时要参照PCI9052引脚的C/ISA模式引脚图来连线。(2)空间0

分配给ISA接口的内存存取。(3)空间1分配给ISA接口的I/O存取。(4)无论空间0的局部地址处于CS0#范围还是空间1的局部地址处于CS1#范围,ISA存取均有效。(5)标准的从周期可以使用空间2、空间3和串行EEPROM来存取。

2.2 DDC61580的主要特点

DDC61580具有以下特点:

● 全兼容MIL-STD-1553接口

● 灵活的处理器/内存接口

● 标准的4K×16RAM

● 自动BC重试

● 可编程BC间隔时间

● 灵活的RT数据缓冲区

● 可编程非法区

● 可选择消息监控

● 支持同时RT/Monitor模式

下面将详细介绍BC、RT以及MT模式的内存组织,编程方法等。

2.3 BC模式操作

BC协议支持所有的MIL-STD-1553消息格式,通过编程BC控制字和命令字的T/R*位来确定消息格式。另外,BC控制字还允许选择通道、自测试、重试、中断以及状态字掩码等。BC模式内存映射包含有8个固定的内存位置,即堆栈指针

A,B、消息计数器A,B、初始堆栈指针A,B和初始消息计数器A,B。在启动消息帧之前,必须首先初始化堆栈指针和消息计数器。特别应注意的是,BC消息块最大是38个字,比如对于RT->RT传输,它包含32个数据,

1个控制字,2个命令字,1个LoopBack字和2个状态字。

2.3.1 BC内存管理

篇6:Java技术在嵌入式系统中的应用

论文关键词:嵌入式系统 Proteus ARM 应用

论文摘要:本文指出在嵌入式系统课程的各教学环节引入Proteus、ARM(重点介绍Proteus软件)软件,通过动态仿真模型的设计,能用到毕业设计以及创新设计当中。

1、嵌入式系统的概述

(1)从技术的角度定义:嵌入式系统是以应用为中心,基础是计算机,能够适应应用系统对功能、可靠性、及功耗严格要求的专用计算机。

(2)从系统的角度定义:嵌入式系统是能够完成复杂功能的软件和硬件的组合,并使其紧密粘合在一起的计算机系统。“嵌入式”反映出的这些系统是更大系统中的一个完整部分,称为嵌入式系统。

2、Proteus、ARM软件介绍

Proteus是由英国Labcenter公司开发的嵌入式系统仿真及开发平台,该软件具有以下特点:

(1)能进行智能原理布图;进行单片机软件调试和单片机与外围电路的协同仿真;满足单片机软件仿真系统的标准。

(2)支持常见的单片机类型和飞利浦公司ARM7( LPC系列) 处理器及常见的外围器件如8255,ADC0809。

(3)可以与Keil Version3,ADS1两个集成开发环境结合,,把用汇编和C语言编写的程序编译后,进行软、硬件结合的系统仿真。

3、Proteus软件的应用

3.1 Proteus软件在教学中的应用

在教学的过程中,老师可以将Proteus和Keil 建立的虚拟实验平台搬到课堂上,能够将实践教学和理论教学融为一体,从而让教学的效果得到提高。下面笔者引进一个实际的课堂教学实例。在讲到外部中断处理过程这一章节时,我们可以将Proteus和Keil进行联调,然后通过仿真处理的步骤,可将单片机处理中断的软件执行过程以及单片机内部资源变化的情况以一种直观地感受呈现给学生,从而能够达到单纯的理论教学难以达到的效果。

在运行Protues软件的`状态下,按住Proteus中的电路闭合键,P3.2引脚会有一个下跳沿,PC= 0x0003H,指向AJMP INT0的转移命令,堆栈的指针SP= 0.9H,数据存储器的0.8H和0.9H单元存放着0.1H和0.5H,即该处存放着下一条指令的地址。因此,学生能够迅速的知道,当外部有中断地请求时,程序的自动存储功能可以保存断点的地址,同时程序将会转到中断服务程序的入口地址,因为中断请求是由外部中断0产生的,因此程序就会转到外部中断0的入口地址0003H。通过外部中断执行的例子我们可以看出,在课堂教学上使用Protues和Keil 联调建立的实验平台,我们可以将许多抽象概念直观的介绍给学生,使学生不仅能观察到软件执行时单片机内部的I/ O口和存储器的变化,还可以观察到软件程序和外围电路之间的互动过程。

3.2 Proteus软件的应用

目前所拥有的单片机实验教学包括两个关键的环节,即课内的实验以及课程的设计。所有的实验操作步骤基本上都是在实验箱上完成的。由于受硬件实验箱结构以及资源的限制,学生在做实验的时候不能将所学的知识和软件充分的融会贯通。所以当我们的学生进行自主设计的时候,很多的学生几乎无法完成综合性的实验。假设采用了Proteus软件的仿真实验,就可以弥补硬件实验能力的不足。基于Proteus软件的实验可以分为以下3个阶段。

(1)验证阶段。此阶段的主要任务是让学生熟悉Proteus与Keil软件的运行环境,使学生对单片机虚拟系统的仿真有自身的认识。实验指导方面的教材只需要列出实验的任务和要求、Proteus软件的实验原理图、操作的步骤、流程以及和程序相关的源代码等。学生就可可自行根据实验步骤或实验操作得到录像进行操作、调试,以及观察程序的运行结果。

(2)程序设计阶段。这个阶段主要是培养学生用Proteus绘制系统原理图,以及使用Keil软件进行源程序设计的能力,学生可以根据实验的原理图用Proteus绘制硬件电路图,按照实验的要求完成程序的设计,在Keil的环境下编写出源代码,调试成功后,加载程序到Proteus硬件图仿真。

(3)综合学习阶段。此阶段的主要目的是激发学生学习兴趣,提高学生的主观能动性、以及培养学生的创新能力。学生自主的根据实验的任务和要求设计出硬件额电路(包括CPU型号、元器件及参数的设置等) 并绘制出Proteus的硬件原理图;根据硬件的功能模块对软件进行设计。完成对软硬件设计之后,需对两者进行联调,充分利用Proteus与Keil软件间的联合仿真的功能,及时的发现并改正硬件电路以及程序源代码的错误。系统仿真成功后,再进行实物的制作。在对课程的设计环节中,需要学生在Proteus环境下绘制出硬件的电路图,在Keil软件中编写出设计程序的源代码,并且在设计硬件电路时后尽可能的考虑到实验箱的有限资源,便于在Keil中编写的程序能够更好的被移植到实验箱上。学生可以针对不同的应用类型,选择最适合的单片机,而不是仅仅局限于课堂上常讲解到的单片机。学生也可在联合仿真成功之后,再去进行电路的焊接、软件系统的调试以及程序的固化等,可以避免因设计方案的不正确所造成的不必要的浪费。

4、结语

Proteus和ARM的嵌入式软件在教学中的运用,能充分的利用机房的现有设备,减少了实验设备的硬件维护又与实际的工程系统接近,拉近学习和就业之间的距离。实践证明,这种嵌入式的教学方法不但能降低成本,经济优势明显,而且还具有较高的推广价值。

参考文献

[1]万军,马正华.嵌入式系统及应用课程实践教学的研究[J].中国现代教育装备,(15):7779.

[2]李芳,李家庆.基于Proteus+Keil的单片机实验仿真平台[J].中国教育技术装备,2009(4):78.

[3]陈燕,李娜娜.Proteus和Keil在单片机教学中的应用[J].中国科技信息,2009(20):194195.

篇7:Java技术在嵌入式系统中的应用

ART270嵌入式系统在测井仪器调试及检测中的应用

嵌入式系统是先进的计算机技术、半导体技术、电子技术以及各种具体应用相结合的产物,很适合在测井仪器中应用,文章介绍了嵌入式系统在测井仪器中的一个应用实例.为了便于仪器的调试和检测,我们利用ART270嵌入式系统设计了一套仪器调试检测系统,该系统充分利用了ART270嵌入式系统的紧凑、灵活、便捷的特性,极大地方便了仪器的调试和检测.伴随着嵌入式系统的.不断发展,必将给测井仪器提供更新的手段,对嵌入式系统进行一些初步的研究和探讨将为其以后在测井仪器中有更进一步的应用打下基础.

作 者:涂文荣 马文中 齐向阳 作者单位:大庆钻探集团测井一公司,黑龙江,大庆,163414刊 名:石油仪器英文刊名:PETROLEUM INSTRUMENTS年,卷(期):23(5)分类号:P631.8+1关键词:嵌入式系统 ART270 Windows CE eVC4.0

篇8:Java技术在嵌入式系统中的应用

1 Java多线程技术

将多线程机制包含在语言中, 是Javaa的一个重要特征。程序是用某种语言编写的一段静态的代码, 可以理解成一组计算机指令的集合。而进程是程序的一次动态执行过程, 它对应了从代码加载、执行到执行完毕的一个完整过程, 这个过程也是进程本身从产生、发展到消亡的过程。线程则是比进程更小的执行单位, 是进程内部单一的一个顺序控制流。在一个进程中, 可以有多个线程。这些线程在操作系统的调度下并发执行, 使得每个线程都好像在独占整个系统资源。

1.1 线程的创建

有两种方法可以创建线程。

第一种方法是通过继承类Thread来创建线程类。子类重载其run () 方法。

第二种方法是建立一个实现Runnable接口的类。

1.2 线程的调用

如果采用第一种方法, 创建的线程类的调用格式如下:

2 在考试系统中的应用

对于考试系统, 一般都是采用C/S模式, 即客户端/服务器的模式来设计。这样的模式有利于用户的操作和更好的数据安全性。其中服务器负责考生的登录, 随机试题的发送, 处理考生交卷后的实时评分, 显示成绩, 记录成绩, 实时监控等。客户端负责考试界面的显示, 发送已答完的试题以及显示成绩等。

2.1 建立服务器主类

服务器主类负责处理考生的登录, 显示成绩, 记录成绩, 实时监控等, 其实现如下:

其中Check Client (you, count, this, studen tnumber) 为交卷处理线程, 每当一个考生正常登录成功后, 就创建一个单独的线程来为该考生服务, 这是考试服务器实现的关键。

2.2 建立服务器交卷处理线程类

服务器交卷处理线程类负责给考生发送试题, 同时等待考生交卷, 然后进行评分等, 其特点是每个考生正常登录后, 在服务器端就创建一个交卷处理线程类与之对应, 由该线程负责为该考生服务。实现如下:

在run () 方法中, 采用sin=in.read UTF () ;语句, 可以使线程处于阻塞状态, 只要考生没有交卷, 该线程就一直等待, 若考生发送了交卷命令deliver, 线程就进行评分, 然后将成绩发送至客户端进行显示, 线程任务完成, 关闭socket对象, 线程自然消亡。

2.3 建立客户端类

客户端由多个Java类组成。这些类主要功能是实现考试图形界面和考试流程控制, 考试图形界面主要由Student Login, Client Main等类实现;考试流程控制主要由Client Time, Deliver Thread类实现。

Client Time实现代码如下:

Client Time类负责向服务器发送交卷命令, 考生答题文件和显示成绩。

3 结束语

由于引入了多线程技术, 本考试系统得以在学校期末考试中实际使用近4年, 取得了很好的效果。实践证明, Java多线程机制具有很高的实用价值。事实上, 由于多线程的核心思想即并行, 因此, 在更多的需要并行处理的领域中, 多线程机制的威力必将得到更大程度的发挥。

参考文献

[1]Eckel B (美) .Java编程思想[M].北京:机械工业出版社, 1999.

[2]王卫生.Java程序设计与实训教程[M].北京:北京理工大学出版社, 2007:2.

[3]金勇华, 曲俊生.Java网络高级编程[M].北京:人民邮电出版社, 2001.

篇9:Java技术在嵌入式系统中的应用

关键词:设计模式 界面 业务逻辑 Web框架

1 概述

一个管理信息系统的开发成功,应该从两个方面去考虑,从开发者本身来说,开发者必须要有一个非常清晰的思维,明白此系统的各种逻辑业务;另一方面,从用户的角度来看,用户总是希望得到一个功能强大且界面友好的系统。要做好这两方面的控制,其实并不简单。尽管java技术在业务逻辑方面表現了优势,但要在具体代码实施的时候表达清楚业务逻辑是很难的。要做到功能强大且扩展性好,就是要做到界面的设计和业务逻辑分离。引进mvc模式,就可以很好的解决界面和业务逻辑计算分离的问题。

2 JavaWeb技术中的模式(Model)

在JavaWEB开发中,主要有两种设计模式(Model):

2.1 模式1(Model1)

这是一种JSP+JavaClass的技术,具体来说,就是JSP+JavaBean技术。如图1:

在模式1中,JSP负责获取用户(浏览器)的请求,并根据请求的内容调用合适JavaBean来处理业务逻辑,最后把处理的结果返回给JSP,JSP再把结果回应给浏览器。在整个过程中,如果需要数据,这些数据都由JavaBean去访问独立的数据库服务器取得。

这种模式带给开发者一种简单的设计方法,因为业务逻辑计算都由界面在需要时直接调用,所以软件开发者不用花费过多的时间去考虑界面各业务计算是否分离。尽管这样的设计简单,但后果是:界面部分,即JSP代码的权力变大了。它除了负责与用户交互外,还承担了调用业务逻辑(JavaBean)计算的重任。更为严重的是,由于没有了界面与业务分离的强制性,软件开发者干脆直接把本该属于JavaBean的业务逻辑代码直接写到主要负责界面JSP中,这样导致代码的冗余,软件的可维护性很差。显然违背了软件开发中的“高内聚,低耦合”的原则。为了强调界面与业务逻辑的分离,JavaWeb开发的模式2被提出。

2.2 模式2(Model2),即MVC设计模式

MVC(Model View Controller)设计模式,就是模型—视图—控制器模式。其实这种技术已不是一种新技术,它早已存在WEB开发中。如今在WEB开发领域最普遍的两种技术——.NET和JAVAEE都支持MVC设计模式。在JavaWEB开发中,MVC的Model、View、Controller分别由JavaBean、JSP、Servlet承担。其工作原理如图2:

①模型(Model):处理业务逻辑。由JavaBean充当,对软件的所有业务流程都封装在Javabean中。

②视图(View):负责显示界面给用户,提供用户与系统交互视图层。通过触发控制器(Controller)工作,调用相应的模型(Model)获取所需数据,处理相应业务。最后将业务处理结果通过视图响应给用户。视图主要由JSP承担。

③控制器(Controller):系统的流程控制。负责处理用户的所有请求(Request),根据请求创建JSP需要使用JavaBean对象,并选择合适的JSP页面作为视图返回给用户。控制器由Servlet承担。

在JavaWeb开发中采用MVC模式是一种具有革命性的软件设计方法,它明确分离了软件系统的界面和业务逻辑,具体定义了软件开发者与网页美工人员的分工及任务。对软件系统来说,它使得软件的可维护性,模块的可重用性都得到了提高,也提高了软件的可靠性,更加符合面向对象(OO)的思想。

对于一个运用JavaWeb技术开发的大中型管理信息系统来说,采用MVC的设计模式的优势是很多的。

3 MVC模式的管理信息系统的开发

以一个高校的校教学质量工程管理信息系统设计为例,说明MVC设计模式在JavaWeb开发中的流程。此系统的用户主要是在校老师和在校大学生。系统的功能概况:利用此系统,老师可以申报精品课程等一些老师的项目,学生可以申报科研立项或者创新性实验等学生的项目。无论是老师的项目还是学生的项目,都分为国家级、省级、校级三个级别。

通过需求分析等一系列工作后,把此系统划分为十二个子系统,在此以学生申报系统的设计为例,说明MVC设计模式的应用。学生申报系统主要实现学生对创新性实验的申报和审核功能。

3.1 从登录开始,实现视图层(View)功能

Web应用程序,首先都是接收用户的数据输入,数据输入的开始需要提供系统与用户交互的入口界面,登录窗口就是实现这样一个功能的界面。利用MVC 设计模式中的视图(View)层来设计登录界面。

视图(View)层的功能由JSP负责完成,所以登录界面的只涉及显示的HTML+CSS和少量的JSP格式代码。

3.2 实现控制层(Controller)功能

MVC设计模式的核心是控制层(Controller),用Servlet技术实现对所有模块的控制作用。

当数据的请求通过网络传输到Web服务器时,就找到相应的控制器,由控制器决定这些数据要做什么,再调用相应的模型(Model)去做或者调用相应的视图(View)去显示。

3.3 实现模型层(Model)功能

模型实现了系统的业务逻辑功能。以学生申报系统的登录部分数据处理为例,数据模型对象通过set和get方法映射数据库表中的数据,通过数据库连接模型对象来连接到相应的数据库,然后通过数据库访问对象DAO(Data Access Object)来访问数据库,将访问结果以结果集方式返回,最后根据结果集来判断用户提交的数据是否符合数据库中的数据,进而达到登录用户身份合法性的验证。

4 MVC到Web框架

基于MVC的架构开发Web应用程序,使软件系统的开发实现了界面与逻辑的很好分离,逻辑变得清晰。但在使用MVC设计过程中,容易出现一些问题,如:编写控制器(Controller)时会出现多个控制器,同时,在控制器中对于导航的处理也比较麻烦。故由MVC提出了Web框架。JavaWeb开发中,发展最成熟的三个框架是SSH(Struts+Spring+Hibernate)框架。SSH构成了JavaWeb开发的基本Web框架体系。

4.1 Struts

Struts是第一个真正意义上按照MVC设计模式搭建起来的Web开发框架。Struts对MVC的模型(Model)、视图(View)、控制器(Controller)都提供了相应的组件支持。

4.1.1 模型(Model)支持

Struts中的模型支持由ActionForm和JavaBean承担。ActionForm负责提交表单数据,实际上充当了数据载体的JavaBean对象。Strust1框架中,使用继承ActionForm的form bean对象来封装表单数据,完成表单数据的初始化和验证任务。JavaBean部分是由系统开发者为完成本系统的业务逻辑而编写的业务逻辑组件。

4.1.2 视图(View)支持

Struts框架中,视图部分除了支持JSP外,还支持JSTL、JSF和XSLT等模块。同时,Struts本身提供了很多的标签库,也支持自定义的标签库,从而减少了JSP中脚本的使用,提高了与模型的有效交互性。

4.1.3 控制器(Controller)支持

无论是纯粹的MVC还是Struts框架,控制器都是整个技术的核心。在Struts框架中,控制器由ActionServlet和Action两部分组成,它们也分别叫做系统核心控制器和业务逻辑控制器。系统核心控制器根据用户不同的请求选择不同Action类进行处理,并预存了Action类所需的表单数据对象。业务逻辑控制器负责创建JavaBean对象或者EJB组件,这些对象或者组件通过调用相应的方法就完成相应的业务逻辑。

4.2 Spring

Spring是一个开源的Web框架,由Rod Johnson创建。随着企业应用开发越来越复杂,要完成复杂的EJB开发变得很困难,但是利用Spring技术,就可以实现利用基本的JavaBean解决复杂的企业应用。Spring是一个轻量级的控制反转(loC)和面向切面(AOP)的容器框架。

4.3 Hibernate

只要是做Web应用的开发,对数据库的操作都是非常重要的,Hibernate其实就是一种对数据库进行操作的技术。Hibernate不仅可以在Java Web开发时,通过对JDBC进行非常轻量级的封装,使应用开发者可以很轻松的操作数据库,而且也适用于任何使用JDBC操作数据库的客户端程序中。Hibernate还可以在应用了EJB的企业级开发应用中取代CMP,完成数据的持久化功能。

具体的说,Hibernate通过5个核心接口:Session、Session Factory、Transaction、Query和Configuration的使用,完成数据的持久化工作。

5 结束语

在Java Web开发中使用MVC设计模式开发方式是一种很好的开发思想,它充分发挥了设计模式高效、逻辑清晰、业务和界面分离的优势。同時,MVC作为其他高级Web框架的基础,在软件开发中具有十分重要的作用。对于中小型的管理信息系统的开发,使用MVC设计模式显著提高开发效率。

参考文献:

[1]Brett D.McLaughlin Justin Edelson.JavaTM与XML[J].中国电力出版社,2011,(3).

[2]孙鑫.Struts 2深入详解[J].电子工业出版社,2008.

[3]陈衍卿.JavaScript完全自学宝典.清华大学出版社,2008,(7).

作者简介:田丰,(1989-),男,云南文山人,大学,研究方向:J2EE开发、管理信息系统开发、网络工程。邹国忠(1972-),男,云南玉溪人,本科,讲师。研究方向:MIS、企业信息化建设、网络工程。

基金项目:

云南省教学质量工程项目“大学生创新性实验计划项目”。

“大学生创新性实验计划项目管理信息系统的开发”(省级)。

上一篇:舆情信息报送要求下一篇:电梯安全人员培训记录