基于java的WebGIS服务器的设计
1、基于java的WebGIS服务器设计方案一 |
看着目前webgis日益流行,有时候我们也想自己搞一个,经过一段时间的摸索,大概搞清楚了怎么弄了 Ajax是今后webgis发展方向。我们的设计思路是这样的:我们采用ajax作为浏览器端交互技术,服务器端采用Servlet技术调用GIS Objects来生成客户端请求的图片。 大致上说是这样一个架构: Ajax+Servlet+GIS_Objects 用户通过Ajax交互操作,把参数传递给服务器端的Servlet,Servlet再调用GIS_Objects生成客户想要的图片。不管该WebGIS 服务器有多么强大,最终发到浏览器端的都是一张图片而已。 Ajax技术使得浏览器端与服务器端交互的仅仅是数据而不是整个页面,这样可以大大降低网络流量。并且Ajax的XMLHttpRequest对象能很方便监测服务器端传回来的数据,对应传回来的数据通过XMLHttpRequest再配合Javascript代码有选择性地更换浏览器端的图片以及部分页面元素。 Servlet在我们这里是起到一个连接的作用,servlet接受到Ajax传过来的数据,并把这些数据做为GIS_Objects的参数,servlet先根据这些参数生成合适的GIS Objects,然后由这些GIS Objects生成合适的一组图片,然后把这组图片发给浏览器的XMLHttpRequest,XMLHttpRequest 把这组图片拼接起来。 GIS_Objects在这里说的是一组具有GIS功能的类,当然是支持Java的咯。 其中Servlet怎么与GIS Objects、Ajax之间协调工作,里面很有文章可做的。比如群集服务(并行处理)、地理网格缓存等。 |
2、基于java的WebGIS服务器设计方案二 |
JSF也是一种非常棒的技术,用它来做我们的WebGIS服务器也是非常理想的方案。其架构可以大致描述为这样的:JSF+GIS_Objects 在这里JSF充当了两个角色,一个是与GIS_Objects之间的交互,另外一个是浏览器端的展现。 一个JSF组件一般由四部分组成:Component、Renderer、Tag、listener 当浏览器向服务器端发出请求时,在服务器端的WebContainer会把JSP转换为一个servlet对象,在这个转换过程如果一组JSF标签, 会去找TLD文件,根据TLD文件以及JSF标签元素传进来的参数,会实例化一个tag对象,tag再根据faces-config.xml会生成Component对象和Renderer对象。 Component主要负责去调用GIS_Objects,让它生成一系列的图片。 Renderer绘制把Component生成出来的图片,拼接组合绘制起来。googlemap就是由一组图块拼接出来的地图。 listener主要是监听浏览器端所发生的事件,以便Component根据客户的要求生成图片。 |
3、两种方案的评价 |
JSF+GIS_Objects在Requset/Response 过程中传递的是整个页面,而Ajax+Servlet+GIS_Objects在这个过程中传递的是数据。一个是以页面为中心,一个是以数据为中心。不言而喻,在网络流量上Ajax+Servlet+GIS_Objects占有绝对的优势。 在用户体验上Ajax+Servlet+GIS_Objects也具有极佳的用户体验。用Ajax技术能把B/S做成C/S那种效果。 JSF技术发展非常成熟,有很多现成的JSF组件可用。 JSF组件封装效果非常好,非常适合做产品,让二次开发商去开发他们自己的应用产品,而Ajax+Servlet+GIS_Objects相对来讲,组件的封装效果就没有那么好,二次开发商的日子就没有那么好过。二次开发商对webGIS服务器提供商的依赖也没有那么大,假如二次开发商买了GIS_Objects那么他们采用Ajax+servlet技术很容易开发自己的WebGIS服务器。 |
转载于:https://www.cnblogs.com/supersyg/articles/538855.html
基于java的WebGIS服务器的设计相关推荐
- 基于Java的敬老院管理系统的设计和实现(论文+PPT+源码)
分类号_______________ 密级________________ UDC _______________ 学号_ ___ 毕业设计(论文) 毕业设计(论文)任务书 第1页 毕业设计(论文)题 ...
- 【java毕业设计】基于java+Lucene+Tomcat的搜索引擎设计与实现(毕业论文+程序源码)——搜索引擎
基于java+Lucene+Tomcat的搜索引擎设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Lucene+Tomcat的搜索引擎设计与实现,文章末尾附有本毕业设计的论文和源 ...
- 基于Java的校园商铺的设计与实现
基于java的校园商铺的设计与实现 摘要:本系统是一个基于Java的校内商铺在线系统,该系统主要针对本校内的师生所设计的一款在线电子商务系统,使得学校的师生能够在校内任意位置即可购买到所需要的生活用品 ...
- java毕业设计——基于Java+SOCKET的即时通讯工具设计与实现(毕业论文+程序源码)——即时通讯工具
基于Java+SOCKET的即时通讯工具设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于Java+SOCKET的即时通讯工具设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下 ...
- 基于Java的校园商铺的设计与实现源码
欢迎添加微信互相交流学习哦! 项目源码:https://gitee.com/oklongmm/biye 摘要:本系统是一个基于Java的校内商铺在线系统,该系统主要针对本校内的师生所设计的一款在线电子 ...
- java做一个客房管理系统定制_基于JAVA酒店客房管理系统的设计与实现(JSP,MySQL)(含录像)...
基于JAVA酒店客房管理系统的设计与实现(JSP,MySQL)(含录像)(毕业论文12000字,程序代码,MySQL数据库) 本酒店管理系统在功能模块主要分为两大方面,即用户功能模块和管理员功能模块. ...
- 一个基于Java的syslog服务器,大家都来看看啊!
一个基于Java的syslog服务器 前言 前期准备 功能效果图 接收到的数据只能输出到控制台的问题解决方法 具体代码 结语 前言 当时接到要开发syslog功能时,我的表情是这样的- 啥是syslo ...
- 基于Java的五子棋游戏的设计与实现
基于Java的五子棋游戏的设计 摘 要 五子棋作为一个棋类竞技运动,在民间十分流行,为了熟悉五子棋规则及技巧,以及研究简单的人工智能,决定用Java开发五子棋游戏.主要完成了人机对战和玩家之间联网对 ...
- 基于java的闲置物品交易系统的设计与实现
项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等.这里根据你想解决的问 ...
最新文章
- jQuery技术内幕:深入解析jQuery架构设计与实现原理
- jQuery函数的等价原生函数代码示例
- linux-目录结构
- android谷歌反地理,Android反向地理编码显示不出来!
- 成都信息工程大学c语言题库,成都信息工程学院C语言考试题及答案.docx
- 理解vue中$watch使用
- HTTP协议理解与应用总结
- HDOJ 2147 HDU 2147 kiki's game ACM 2147 IN HDU
- 使用VSCode编写LaTeX
- 自回归(Autoregressive Models,AR)模型
- autocad2007二维图画法_AutoCAD 2007矩形绘制方法教程
- 视差贴图(Parallax Mapping)
- 【HAOI2014】贴海报
- PHP之50个开源项目
- Python math.perm() 方法
- 运用JAVA基础阶段知识,模拟双色球机选抽奖过程
- 使用XGBoost在Python中进行特征重要性分析和特征选择
- 计算机控制直流电机闭环调速实验报告,PID控制电机实验报告
- HTML基础学习(二)---注册页面书写
- 水箱计算机控制系统设计,计算机课程设计——水箱水位控制系统设计.doc
热门文章
- 【转载】用JS控制输入内容
- 用Macbook开发桌面应用,使用Alamofire链接.Net Core Webapi的注意事项!
- SpringAop对struts2的Action设置切面织入时报错java.lang.NoSuchMethodException
- Linux内核启动过程概述
- 【CV论文阅读】:Rich feature hierarchies for accurate object detection and semantic segmentation...
- 获得指定时间所在月份的天数
- PHP自学4——通过函数将数组数据输出到html的Table标签中(使用函数的例子)
- JavaScript 本地验证用户注册信息
- Ruby on Rails 實戰聖經阅读(三)
- Controls 属性与继承 TShape 类的小练习