零件jsp技术
jsp技术 时间:2021-02-26 阅读:(
)
苇20卷第5期200i年9月无锡轻I大学学报JournalofWuxiUniversityofLightIndustryV0120No5Sep2001文章编号:1009—038XC2001】050522—04基于XML的汽车零部件网站数据存储与查询的实现李志华,施明辉,孙荣胜(江南大学信息工程学院,江苏无锡214036)摘要:以一个汽车零部件网站为例,介绍j基于XML的敷据存储,结合关系数据库、MSXMI.
提供的JAVA类等I具,实现7XML信息查询的技术.
关键词:标记语言;文档类型声明;汽车零部件;存储;查询系统中图分类号:TP311.
113文献标识码:ATheRealizeationofStorageandQueryforPartsofcarsonInternetBasedonXMLLIZhi—hua,SHIMing—hui,SUNRong-sheng(SchoolofInformationEngineering.
SouthernYangtzeUniveA'sity,Wuxi214036,China)Abstract:Anewmethodtosolvethepmplemofthedatawhichcharacterizedwithlayerwasfoundinthepaper,andthemethodwhichWaSdevelopedfromthetraditionalwaycombinesXMLtechnologywithDBMStechnologywasalsoobtained.
ThispaperalsointroducedtheresearchforcombiningXMI—withorganization,queryanddisseminationofthepartsofcarsonIntemet.
Keywords:XMI.
;DTD;partsofcars;storage;querysystemXMI,(ExtensibleMarkupLanguage可扩展标记语言)同HTMI,一样,是SGMI.
(标准通用标记语言)的一个子集,定义了结构化表达数据的标准格式.
在表达复杂的产品数据文档时具有很大的优势在存储信息方面,其数据的结构性虽然不及数据库,但比数据库有更好的描述能力,比较适合于描述半结构数据.
并且XML文档是自描述的.
结构和内容共存,与显示实现了真正地分开.
近年来.
基于web数据库的XML应用.
大多是通过开发中间程序将传统的数据库中的数据转化为XMI.
文档,用XML-QL进行查询.
并将结果用XMI,文档显示给用户.
这一方式存在以下不足:①当数据量相当大时,转换后的xml文档将占用相当大的存储空间,造成存储空间的重复浪费;②对具体数据库的基于脚本级的静态转换,实际意义不是很大.
而要实现针对Internet上的异数据库的动态转换,中间程序将相当复杂.
难以实现.
本系统通过把DBMS和XML相结合,借助传统DBMS在数据库检索方面的优势和成熟技术,用SQL查询后台数据库取得部件XMI,文档存储位置、零件编号等信息,根据零件编号"Num"关键字,从文件服务器中的XMI.
文档中取得相应汽车零部收稿日期:2001—06—04;修订日期:2001—09—13.
基金项目:江苏省计算机信息处理技术重点实验室项目(K99088)资助课冠作者简升:李志华(1969一),男(土家族).
湖南保靖人,计算机应用硕士研究生.
讲师万方数据第5期李志华等:基于XMI.
的汽车零部件网站数据存储与查询的实现523件的详细描述,并用XMI.
将结果显示给用户.
有效地避免T上述问题1基于Internet汽车零部件网站的体系结构本系统的建设主要是为了面向零部件生产产家、中间商、仓储商、私人用户在生产、经营零部件和汽车维护时,能对整个行业产品的行情有一个较全面地了解.
整个系统的设计是通过DBMS与XML数据相结台的方法实现的.
其中查询子系统的设计与平台无关整个系统的核心是系统管理程序,它是通过继承微软XMI.
DOM(document.
bjeotmodeI,文档对象模型)分析器MSXML中的JAVA类编写而成的一组Java程序,主要负责获取查询关键字并协调汽车零部件的XMI.
元数据与后台数据库之间的联系,并访问汽车零部件XMI,元数据.
数据库的各表中主要是为了方便用户查询而保留的一些查询关键字和XMI.
元数据的存储信息.
Parser是XML语法分析器,主要是对XMI.
文档和DTD进行解析和合法性检验.
系统中应用现成的JayaParser,如IBM的XMI.
4J或SUN公司的ProjectX,它们都符合SAXl.
0和DOMl.
O标准.
整个系统的体系结构如图1所示.
圈l系统的体系结构Fig.
1Theslruetureofthesystem2汽车零部件数据的存储2.
1汽车零部件数据的数据结构为了实现高效率的网上查询,必须很好地解决汽车零部件数据的存储问题.
设计过程中.
通过对汽车零部件的分析,得出如下数据结构,如图2所示.
很显然这是一棵树.
系结点的子结电是部件结点,部件结点的子结点是零件结点,零件结点的叶结点即为该零件的描述信息也就是用户需要的信.
恩.
汽车发动机系……底盘系车身系……电器仪表……l转动部件行驶部件制动部件转向部件广——J]悬架……零件名称型号/规格价格产品个性描述适应车型生产产家联系方式图2汽车零部件数据结构图Ft窖一2Thedalastructureforthepartsofcars2.
2数据结构到XML的文档映射(!
ATTLIST产品idID#REQUIRED)2,2.
1DTD的设计为了提高汽车零部件信息的(!
ELEMEMNT零件名(#PCDATA))通用性,系统利用XMI,对汽车零部件信息进行统(!
ELEMEMNT型号规格(#PCDATA))一描述用XMI.
定义了适合远程查询的DTD,以部《fEI.
EMEMNT价格(#PCDATA))件的DTD(parts.
dtd)为例,具体定义如下:(!
EI.
EMEMNT产品个性描述(#PCDA《!
DOCTYPEDOCUMENTTA))[(!
ELEMENT部件(产品*))《!
ELEMEMNT适应车型(车型*))(!
ATTl.
1ST部件idCDATA#REQUIRED)(!
EI.
EMEMNT车型(#PC'DATA))(!
ELEMENT产品(零件名+f型号规格l价(!
ELEMEMNT生产产家(厂家*))格l产品个性描述I适应车型|生产产家))(!
ELEMEMNT厂家(名称f地址J邮编l联系万方数据524无锡轻I大学学报第20卷电话I传真I电子邮件i阿站))(!
ELEMEMNT名称(#PCDATA))(!
ELEMEMNT地址(#PCDATA))(!
ELEMEMNT邮编(#PcDATA))《!
ELEMEMNT联系电话(#PcDATA))(!
ELEMEMNT传真(#PcDATA))(!
ELEMEMNT电子邮件(#PCDATA))(!
ELEMEMNT网站(#PCDATA))]DTD的引用有两种方式:内部DTD和外部DTD.
在本系统中使用外部DTD.
2.
2.
2系、部件、零件结点到XML文档的映射XMI.
可以灵活地定义具有确切含义的元素及其属性且结构嵌套.
从汽车零部件的数据结构图分析可知.
用XMI.
标记语言能方便地对此加以描述.
每一个部件结点由若干个零件子结点组成.
即每一个部件XML文档由若干个"(产品)"tag组成.
每一对"(产品)《/产品)"tag(即一棵"产品"子树)对应一个零件结点.
其中的xml描述的就是该零件的详细信息.
以"行驶部件"的XML文档的典型结构为例,零件"悬架"是它的其中的第一棵"产品"子树.
XMI,文档如下":0"encoding="GB2312")(!
DOCTYPE行驶部件SYSTEM"parts.
dtd")(行驶部件id="22000")(产品id="001")(零件名)悬架(/零件名)(型号规格)独立悬架《/型号规格)(价格)89.
00(/价格)(产品个性描述)铸造(/产品个性描述)(适应车型)i车型)奥迪(/车型)(车型)桑塔纳(//E型)(车型)夏利(/车型)(/适应本型)(生产产家)(厂家)(名称)无锡开源集团(/名称)(联系电话)5807602(/联系电话)(传真)5287122(/传真)(电子邮件)Ⅺ@263.
net电子邮件)(地址)江苏.
无锡(/地址)(邮编)214031(/邮编)(网址)http://www.
autopart.
org(/网址)(/厂家)(/生产厂家)(/产品)(产品jd="002")——(/产品)(/行驶部件)其中部件的"id"号在系统中是唯一的,前两位分别对应部件所属系和系内的部件编号后3位限定零件编号的长度,不超过3位.
2.
2.
3部件XML元数据到关系数据库的映射为了实现通过数据库查询.
然后访问部件xml文档,取得零件结点的详细信息.
必须实现数据表到各部件xml文档的存储位置和零件结点的映射实现映射的数据表条目的数据格式及示例如表1所示.
表1数据表条目格式、示例Titb.
1ThefonmatoftableentriesandexⅢplB其中,名称1、名称2、名称3是该产品的可能别名或商业名称,以方便模糊查询.
3网上汽车零部件查询的实现3.
1查询功能概述为了方便用户查询,本系统提供以下3种查询方式:1)按汽车的体系结构进行查询如:从系(底盘系)一部件(行驶部件)一零件(悬架);2)按零件所适应品牌车型和零件名称的方式查询如:桑塔纳2000的悬架;3)按零件的生产产家和零件名称进行查询如:无锡开源集团的扭振减振器;3种不同的查询方式,为了设计上的方便.
最后将以相同的格式提交给客户,都包括:零件名称,型号/规格,价格,产品个性描述.
适应车型,生产产家联系方式等信息.
3.
2查询系统的实现:本系统实现了在Internet上对汽车零部件的模万方数据第5期李志华等:基于XML的汽车零部件网站数据存储与查询的实现525糊查询.
在图型界面设计中,主要采用按钮控制.
从图型界面的下拉列表框中选择适当的查询方式.
在模糊查询编辑框中输入查询关键字.
然后单击提交按钮,符合条件的所有不同产家生产的汽车零件产品的信息以及联系方式以表格的形式显示出来.
对汽车零部件的查询.
概括起来主要包括以下2个步骤:第1步.
访问后台数据库,找到零件编号"Num"和对应部件XMI,文档的存储位置;第2步.
从部件的XML文档中取出符合条件的零件结点的XMI.
描述(即零件叶结点);最常用的"品牌车型和零件名称"的组合查询方式为例,具体讲述查询的实现过程.
3.
2l查询后台关系数据库,获得零件编号"Nutn"和对应部件的XMI,文档的存储位置建立数据库与JDBC的连接:JDBC是JAvA语言的数据库访问API,JDBC提供了特殊的驱动程序JDBC-ODBC桥.
该驱动程序支持JDBC通过现有的ODBC驱动程序访问其数据库系统.
本系统中,由于微软的sQLServer7.
0支持ODBC.
因此要建立与ODBC数据库的连接.
方法:先加载一个JD—BC—ODBC桥驱动程序,然后指定JDBCURI,,使它指向网上的资源.
格式URLurl="jdbc:odbc:CN—CARDB"t其中CNCARDB为数据源数据库名,通过JDBCAPI提供的一系列的类接口对数据库操作.
对数据库的一个典型的操作如下:Connectiondb=DriverManagergetComleetion(url);//连接数据库StatementSt=db.
createStatement();lfg,J建一个对象StStringsql—str="select*fromLBJYSBwhere零件名称=selectbox.
getText()and(零件名称like%editlgetText()%or名称1=editl.
getText()or名称2=editl.
getText()or名称3=editl.
getText())"{//定义SQL语句Resultrs=st.
executeQuery(sql.
str);1/执行sQI,语句,并返回结果集"LBJYSB"为零部件映射表.
通过把SQL语句传给exeeuteQuery构造器执行数据库操作.
构造器返回一个结果集(ResuhSet)对象,当执行SQL查询后,通过处理结果集对象的内容,来获得零件的编号"Num"和对应的部件XMI.
文档的存储位置.
其中,部件xml文档的文件名存放在字符串变量"file—namepath"中.
如"悬架"的零件编号为"001",对应的部件xml文档的文件名为:"WWW.
aut.
part.
org/xs.
xml".
3.
22访问文件服务器上的部件XMI,文档,获取零件的xML描述由于XMI.
文档是"文件的形式存储在文件服务器上,所以在系统中,对汽车零部件的查询,最后得来的查询信息主要是通过访问文件服务器上部件XML文档中的"产品"子树来实现的.
方法:在系统管理程序巾,导八MSXMI.
分析器中的相关Java类,并定义自己的类:ReadXml和ViewEIement等.
类ReadXml是MSXML的Java类库中"Comms.
xml.
omDocument"类的一个子类,在该类中,首先,创建一个新的对象"Documentxmlfile=herA,Document()",该对象中,主要包括I.
oad(url)方法.
url指定元素所在的XML文档的路径,并加载该文档.
如零件"悬架"对应的部件xml文档为:wwwautopart.
org/xS.
xml.
另一个重要的方法,即通过重载applet类的action方法来对具体的单击事件进行处理.
Showproducts(inthum,Elementrootl)方法是ViewElement类的又一个主要方法,该方法是在找到的部件XML文档中,取得第"Num"棵"产品"子树的全部信息.
该方法的主要逻辑结构如下:Showpmduets(inthum,EIementrootl)E1ementeleml.
elem2;ElementEnumerationEnuln;Ehum=llewElementEnumeration(rood);For(intI=0;I(=hum;I+十)deml=(Element)enum.
nextElement();ElementEnumerationEhum2:Enum2=newElementEnumeration(eleml);ehm2=(Element)enum2.
nextElement();ifelem2.
getAttribute(id)=Numwhile(elem2.
getTagName()!
=null&&elem2.
getTagName().
toStringunequal("产品"))棵产品子树//遍历部件xml文档中的第"Num"主要通过遍历部件XML文档树直到第"Num"棵"产品"子树.
程序通过javams.
xml.
omElement(下转第530页)万方数据530无锡轻I大学学报第20卷!
一一一圈豳圈圈—黼灌瞄豳璀-__.
__一.
i1m.
.
~,…々~誓mE.
.
mmmNIm扦号.
"""著者t醢面瀑口E葛砸一!
薯者单位I岳愠轻工丈学3缃工柽学统i篇名'雕犟群搿耍盖譬藐耆ll摘簧-离慰鬻溺孺嬲曩i{变化,C-91ycmlee嘲1s主i霜量关键词:藩效鞴鑫产癌酽骰衅蜀i囊申图分类号:咏西爵商丁史献标识碣:五§糊溷豳翻墨图4查询结果Fig.
4Theresultquery由于模糊算法的植入,匹配过程是非一致性模糊匹配,不是一致性精确匹配,按照人们的思维过参考文献:程,用户可边想边输八,模棱两可的字词都输入进去(如醇酯、有机酸无机酸、标点、符号、空格、字哥等).
在不淹没查询目标要求的情况下.
均可帮用户查询到与查询目标最接近的或相近的文章从上述实验结果看模糊优化查询不仅降低了用户输入要求,对用户更加友好,一般Web用户都可得到满意结果.
而且有一定的抗干扰噪声能力以及一定的容错性4结语当今是信息爆炸的时代,web为人们提供r.
个全球化信息空间,针对目前大型的Internet结点日益数据库化.
和传统的数据库向Internet平移.
提出基于Web的数据库模糊优化查询法适应网上一般用户信息查询需求.
改善网上信息查询查准率低的状况,此算法可用于网站搜索引擎中,另外此法困其一定的抗干扰噪声能力和容错性还可用于基于Internet的多通道用户界面如目标选择等方面[1]LAWRENCES,GILESCLAccessibilityanddistributionofin:formationontheWeb[J]Nature,1999.
400:107~109[2]刘增良主编.
模糊技术与应用选编[M】北京:航空航天大学出版社,1997[3]肖位枢编著模糊数学基础及应用[M]北京:航空工业出版社.
1992[4]董士海等.
基于Intemet的多通道用户界面[J].
计算机学报,2000(12):1270~1275[5]张德Intemet上的数据库联合查询优化[J]计算机学报,2000(2):171~176(责任编辑:朱明)(上接第525万)类的getAttribute(id)方法获得标记"(产品)"的"id"属性值,程序把该"id"同从DBMS中检索到的零件编号"Num"相比较,若相等,则进一步对产品于树进行遍历.
或通过java.
ms.
xml.
om.
Element类的getText()方法返回"(产品)"标记的所包含的全部非标记信息,即所查找的汽车零件的详细信息.
4小结传统的数据库技术只有与飞速发展的网络技术相适应,才能得以进一步的发展和应用.
XML技参考文献:术特别适合于半结构化数据资源的组织和发布XML中的文档类型定义DTD,使人们可以根据实际需要构造所需的标记.
不仅方便用户开发基于Intel·net的应用系统,而且结合Java技术,可方便地构建一个与用户平台无关的统一而简单的交流方式本系统基于JSP技术,把XMI.
技术和DBMS技术结合起来,充分发挥传统关系型数据库在信息检索方面的优越性,实现了信息的描述、信息的内容和结构与系统的查询真正地分开.
提高了整个系统的阿上查询的效率.
[1]CHRISTOPHERA.
LinuxWeb编程[M]北京:电子工业出版社,1999[2]HORSTMANSJm2棱心技术[M]北京:机械工业出版社.
1999[3]黄理用JSP轻松开发Web网站[M]北京:希望电子出版社,2000[4]HAROLDRusty著.
XML实用大全[M].
北京:中国水利电力出版社.
2000【5]怀石工作室编著.
XML完全手册[M].
北京:中国水利出版社,2000【6]武苍林著.
JDBC在数据库中的应用[J]计算机应用,1998,18(10):35~36(责任编辑:朱明)万方数据
- 零件jsp技术相关文档
- 实验jsp技术
- "2:广东科学技术职业学院2014年公开招聘聘用制教师计划表",,,,,,,
- "姓名","学号","班级","导师","毕业论文题目","答辩结果"
- "计算机科学与技术系毕业设计中期检查"
- "北京理工大学继续教育暨现代远程教育学院",,
- 客户jsp技术
官方网站:点击访问星梦云活动官网活动方案:机房CPU内存硬盘带宽IP防护流量原价活动价开通方式成都电信优化线路4vCPU4G40G+50G10Mbps1个100G不限流量210元/月 99元/月点击自助购买成都电信优化线路8vCPU8G40G+100G15Mbps1个100G不限流量370元/月 160元/月点击自助购买成都电信优化线路16vCPU16G40G+100G20Mb...
HostKvm是一家成立于2013年的国外主机服务商,主要提供VPS主机,基于KVM架构,可选数据中心包括日本、新加坡、韩国、美国、俄罗斯、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。商家本月针对香港国际机房提供特别7折优惠码,其他机房全场8折,优惠后2G内存香港VPS每月5.95美元起,支持使用PayPal或者支付宝付款。下面以香港国际(HKGlobal)为...
收到好多消息,让我聊一下阿里云国际版本,作为一个阿里云死忠粉,之前用的服务器都是阿里云国内版的VPS主机,对于现在火热的阿里云国际版,这段时间了解了下,觉得还是有很多部分可以聊的,毕竟,实名制的服务器规则导致国际版无需实名这一特点被无限放大。以前也写过几篇综合性的阿里云国际版vps的分析,其中有一点得到很多人的认同,那句是阿里云不管国内版还是国际版的IO读写速度实在不敢恭维,相对意义上的,如果在这...
jsp技术为你推荐
qq讨论组QQ群和讨论组的区别在哪里雅虎社区雅虎资讯在哪里提交公章制作word里如何制作公章?ps抠图技巧ps中怎么抠图?今日热点怎么删除“今日热点”到底要怎样才能取消弹窗,每次开机都会天天酷跑刷金币天天酷跑怎么刷金币?雅虎天盾有没有用用雅虎天盾的啊?iphone6上市时间iphone6什么时候上市,价格是多少?iphone6上市时间苹果6什么时候出?系统分析员考系统分析员有什么好处?
fc2最新域名 免费域名注册网站 .cn域名注册 备案域名出售 raksmart godaddy续费优惠码 Hello图床 空间服务商 hnyd 数字域名 免费个人空间 已备案删除域名 国外代理服务器软件 umax120 web服务器安全 新世界服务器 国外视频网站有哪些 银盘服务 跟踪路由命令 腾讯总部在哪 更多