一种在Web端动态显示图片的方法

文档序号:6643890阅读:680来源:国知局
专利名称:一种在Web端动态显示图片的方法
技术领域
本发明涉及一种显示图片的方法,具体来说,涉及一种在Web端动态显示图片的方法。
背景技术
随着互联网技术的广泛应用及J2EE(Java 2企业版)平台的日趋成熟,J2EE成为了开发基于B/S(客户端/服务器)结构的企业级应用软件的首选。在J2EE技术中,发展最迅猛的当属“Java服务器页面”(JavaServer Page,Jsp)技术,几乎所有基于Java的Web应用都在使用Jsp。Web页面上所使用的HTML(超文本标示语言)是一种静态的文本信息,无法对用户的请求进行处理,这就意味着在把HTML(超文本标示语言)发送给用户之前便必须根据用户的请求来产生超文本。而在诸如,如何给用户更友好的使用界面,如何给用户显示更多元化的信息,如何规避HTML显示的局限性方面,Java在Web应用上有着强大的优势,Jsp能够方便的产生了文本形式的HTML,把Web由静态转化为动态显示。
然而,当用户有更高的需求时,如要显示动态图片、动态图形,甚至是动态报表等,则简单的文本形式显然满足不了用户的需求,此时Jsp显然无用武之地。此时,需要考虑使用其他技术辅助来实现。现在应用中大多采取Applet来解决来实现动态的图形显示。
Applet是一种使用Java语言编写的小程序,在服务器端编译后通过HTML中的超链接下载到客户端,并在内存中的“沙盘”(与其他应用程序隔离的区域)中运行,不会影响系统运作,也不会对系统的安全性构成威胁。利用Applet程序可以动态的显示图形,对数据进行计算统计,得出报表,或者做一些简单的逻辑操作等等。
但是,Applet程序必须在客户端浏览器下载安装有Java开发工具包(JavaDevelopment Kit,JDK)才能显示,据调查,80%的用户是没有安装JDK的。尽管Applet的安全性很强,但用户的不信任心理也造成大部分用户拒绝安装。这使得很多用户不能正常浏览页面。
Applet程序第一次运行时必须下载Applet运行程序到客户端。
Applet程序运行时反应速度慢,必须长驻内存,占据一定的内存空间。
用Applet程序产生报表,不易保存,不易进行打印。

发明内容
本发明要解决的技术问题在于,为克服现有技术中Applet程序使用不方便、占用内存等不足,而提供一种在Web端动态显示图片的方法。
本发明解决上述技术问题所采用的技术方案是提供一种在Web端动态显示图片的方法,其包括(a)用户访问Web页面,发送请求至应用服务器中流程处理类模块;(b)流程处理类模块将该请求发送给后台处理模块,后台处理模块查询数据库,得到要显示的数据,并把这些要显示的数据传送到流程处理类模块中;(c)流程处理类模块调用构图类模块,根据后台处理模块所返回的数据,产生一张图片,并在该图片上进行画图,并返回关于该图片参数;(d)Web页面根据流程处理类模块所返回参数,查找该图片并显示。
在本发明的在Web端动态显示图片的方法中,进一步包括对后台处理模块对要显示的数据进行计算的步骤。
在本发明的在Web端动态显示图片的方法中,在步骤(c)与步骤(d)之间进一步包括(e)根据用户发送请求时所分配的种子,结合图片产生时间为所述图片的生成一个图片名。
在本发明的在Web端动态显示图片的方法中,在步骤(e)之后进一步包括判断种子数是否达到上限的步骤,所述种子数上限为预先设定。
在本发明的在Web端动态显示图片的方法中,如果步骤(e)中所述种子数达到该预设的种子数上限,则将种子数清零,并且重新分配种子数,同时删除一段时间内的历史图片,并保存该图片。
在本发明的在Web端动态显示图片的方法中,如果步骤(e)中所述种子数未达到该预设的种子数上限,则保存该图片。
实施本发明的在Web端动态显示图片的方法,具有以下有益效果本发明所提供的方法容易实现,不需要特定环境支持,具有通用性,并且使HTML页面的显示更加多元化,更加友好。在本发明中不需要在客户端安装任何控件,就能像浏览一般网页浏览页面。且安全性好,因为本方法中无需下载任何程序,而且不会占据额外的内存,不会对用户构成威胁。另外,由于该方案最后产生的是一张图片,所以只需通过浏览器就可以直接打印,或者通过直接保存图片进行保存,十分方便。


下面将结合附图及实施例对本发明作进一步说明,附图中图1是本发明一种在Web端动态显示图片的方法的主流程图;图2是本发明一种在Web端动态显示图片的方法的构图的流程图。
具体实施例方式
本发明提供一种在Web端动态显示图片的方法。在本发明的很多地方会以Java语言为类来进行说明,本发明不限于此,亦可以采用其它的语言。当用户需要获得数据库中的特定数据,并希望这些数据以动态图片(例如柱状图、饼图、线条图等)的形式显示时,可采用本发明所提供的方法。
如图1所示,在本发明的主流程图中,首先,用户可以通过访问web页面,发送一个请求至应用服务器中流程处理类模块(如Java中的Servlet流程处理类模块),在该请求中携带有所请求的数据相关的参数(如数据的时间范围、数据类别、希望显示的图片类型等)。流程处理类模块会将该请求发送给后台处理模块;后台处理模块查询存储有特定数据的数据库,找到用户所请求的基本数据(该基本数据可能是一些原始数据,用户希望得到数据可能是对这些原始数据进行分析后的数据)。后台处理模块把这些基本数据进行计算,该计算包括对所述基本数据的统计(如求和、求平均值、排序等),并将其传送给流程处理类模块中。此时,流程处理类模块调用构图类模块中的实例构图方法。该构图类模块首先利用一定的工具(如Java JDK中的工具)产生一张图片(该图片可为用户所请求的类型,例如,其可为一JPG图片),并根据所要显示的数据的多少,设定该图片的大小。根据后台产生的数据在该图片上进行画图的操作(如标坐标、画点、画线、画圆等)。该构图类模块根据图片产生的时间对该图片进行命名并保存在应用服务器的预定区域(如一个Java文件夹中),该命名是唯一的。此时,构图类模块可向流程处理类模块返回该图片的一些基本参数(如图片名、图片宽度、长度等);而Web页面即可根据该图片名在应用服务器的预定区域查找到该图片,并在Web页面上显示该图片。
上述,Web页面可存储在一Web服务器中,而流程处理类模块、构图类模块及后台处理模块均可设在应用服务器中。
在本发明中,根据后台产生的数据在应用服务器中产生图片,然后在该图片上进行画图以产生用户所请求的图片,画图完成之后保存该图片,由于Web页面可提供多人同时访问,如果所有用户只用采用一个图片来画图的话,由于用户的并发访问,则很有可能会出现用户得到的错误信息的情况。所以在本发明中采用一个静态图片名种子数来对图片进行命名,以保证每个图片名都是唯一的。当用户向Web页面发送一个请求时,应用服务器会为该用户分配一个种子,根据该种子,并结合图片产生时间可产生一张对应名字的图片(当该步骤是同步操作,保证图片名不会重名),而且每一张图片的长度和宽度都有可能不同。当应用服务器中的种子数达到一个预定的上限的时,应用服务器自动便会把种子数清零,并且从头分配种子数,同时删除一段时间内的历史图片。
如图2所示,是本发中构图类模块的更详细的流程图。在本发明中,所述构图包括产生某类型的图片,并且在其上面进行画图(如画线、画坐标等)的过程。当流程处理类模块接收到来自后台处理模块将要显示的数据后,其可以调用构图类模块中的构图方法。首先利用该构图类模块中的工具(如Java JDK中的iava.awt.image.BufferedImage类)产生一张预定类型的图片,并设定该图片的大小。
然后利用工具(如java.awt.Graphics2D类)并结合来自后台处理模块的数据在该图片上进行画图(以将这些数据能在图片上表示出来),并根据图片产生时间结合应用服务器所分配的种子数对图片进行唯一性命名;此时要判断种子数是否达到预设上限,如果种子数达到该预设的上限时,系统便会自动把种子数清零,并且重新分配种子数,同时删除一段时间内的历史图片,并保存该图片。
如果此时种子数尚未达到上限值,则对保存该图片(如采用javax.imageio.ImageIO.write的方式),将该图片保存在在应用服务器的预定区域。
流程处理类模块将该图片的基本参数(诸如图片名、图片宽度、长度等)返回给Web页面,Web页面根据图片名查找该图片并显示。
本发明所提供的方法容易实现,不需要特定环境支持,具有通用性,并且使HTML页面的显示更加多元化,更加友好。在本发明中不需要在客户端安装任何控件,就能像浏览一般网页浏览页面。且安全性好,因为本方法中无需下载任何程序,而且不会占据额外的内存,不会对用户构成威胁。
权利要求
1.一种在Web端动态显示图片的方法,其包括(a)用户访问Web页面,发送请求至应用服务器中流程处理类模块;(b)流程处理类模块将该请求发送给后台处理模块,后台处理模块查询数据库,得到要显示的数据,并把这些要显示的数据传送到流程处理类模块中;其特征在于,进一步包括(c)流程处理类模块调用构图类模块,根据后台处理模块所返回的数据,产生一张图片,并在该图片上进行画图,并返回关于该图片参数;(d)Web页面根据流程处理类模块所返回参数,查找该图片并显示。
2.如权利要求1所述的在Web端动态显示图片的方法,其特征在于,进一步包括对后台处理模块对要显示的数据进行计算的步骤。
3.根据权利要求1所述的在Web端动态显示图片的方法,其特征在于,在步骤(c)与步骤(d)之间进一步包括(e)根据用户发送请求时所分配的种子,结合图片产生时间为所述图片的生成一个图片名。
4.根据权利要求3所述的在Web端动态显示图片的方法,其特征在于,在步骤(e)之后进一步包括判断种子数是否达到上限的步骤,所述种子数上限为预先设定。
5.根据权利要求4所述的在Web端动态显示图片的方法,其特征在于,如果所述种子数达到该预设的种子数上限,则将种子数清零,并且重新分配种子数,同时删除一段时间内的历史图片,并保存该图片。
6.根据权利要求4所述的在Web端动态显示图片的方法,其特征在于,如果所述种子数未达到该预设的种子数上限,则保存该图片。
全文摘要
一种在Web端动态显示图片的方法,其包括用户访问Web页面,发送请求至应用服务器中流程处理类模块;流程处理类模块将该请求发送给后台处理模块,后台处理模块查询数据库,得到要显示的数据,并把这些要显示的数据传送到流程处理类模块中;流程处理类模块调用构图类模块,根据后台处理模块所返回的数据,产生一张图片,并在该图片上进行画图,并返回关于该图片参数;Web页面根据流程处理类模块所返回参数,查找该图片并显示。本发明所提供的方法容易实现,不占用额外的内存,通用性强,且使用方便、安全性好。
文档编号G06F17/30GK1851697SQ200510100898
公开日2006年10月25日 申请日期2005年10月28日 优先权日2005年10月28日
发明者赖俊彬 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1