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服务器的设计相关推荐

  1. 基于Java的敬老院管理系统的设计和实现(论文+PPT+源码)

    分类号_______________ 密级________________ UDC _______________ 学号_ ___ 毕业设计(论文) 毕业设计(论文)任务书 第1页 毕业设计(论文)题 ...

  2. 【java毕业设计】基于java+Lucene+Tomcat的搜索引擎设计与实现(毕业论文+程序源码)——搜索引擎

    基于java+Lucene+Tomcat的搜索引擎设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Lucene+Tomcat的搜索引擎设计与实现,文章末尾附有本毕业设计的论文和源 ...

  3. 基于Java的校园商铺的设计与实现

    基于java的校园商铺的设计与实现 摘要:本系统是一个基于Java的校内商铺在线系统,该系统主要针对本校内的师生所设计的一款在线电子商务系统,使得学校的师生能够在校内任意位置即可购买到所需要的生活用品 ...

  4. java毕业设计——基于Java+SOCKET的即时通讯工具设计与实现(毕业论文+程序源码)——即时通讯工具

    基于Java+SOCKET的即时通讯工具设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于Java+SOCKET的即时通讯工具设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下 ...

  5. 基于Java的校园商铺的设计与实现源码

    欢迎添加微信互相交流学习哦! 项目源码:https://gitee.com/oklongmm/biye 摘要:本系统是一个基于Java的校内商铺在线系统,该系统主要针对本校内的师生所设计的一款在线电子 ...

  6. java做一个客房管理系统定制_基于JAVA酒店客房管理系统的设计与实现(JSP,MySQL)(含录像)...

    基于JAVA酒店客房管理系统的设计与实现(JSP,MySQL)(含录像)(毕业论文12000字,程序代码,MySQL数据库) 本酒店管理系统在功能模块主要分为两大方面,即用户功能模块和管理员功能模块. ...

  7. 一个基于Java的syslog服务器,大家都来看看啊!

    一个基于Java的syslog服务器 前言 前期准备 功能效果图 接收到的数据只能输出到控制台的问题解决方法 具体代码 结语 前言 当时接到要开发syslog功能时,我的表情是这样的- 啥是syslo ...

  8. 基于Java的五子棋游戏的设计与实现

    基于Java的五子棋游戏的设计 摘  要 五子棋作为一个棋类竞技运动,在民间十分流行,为了熟悉五子棋规则及技巧,以及研究简单的人工智能,决定用Java开发五子棋游戏.主要完成了人机对战和玩家之间联网对 ...

  9. 基于java的闲置物品交易系统的设计与实现

    项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等.这里根据你想解决的问 ...

最新文章

  1. jQuery技术内幕:深入解析jQuery架构设计与实现原理
  2. jQuery函数的等价原生函数代码示例
  3. linux-目录结构
  4. android谷歌反地理,Android反向地理编码显示不出来!
  5. 成都信息工程大学c语言题库,成都信息工程学院C语言考试题及答案.docx
  6. 理解vue中$watch使用
  7. HTTP协议理解与应用总结
  8. HDOJ 2147 HDU 2147 kiki's game ACM 2147 IN HDU
  9. 使用VSCode编写LaTeX
  10. 自回归(Autoregressive Models,AR)模型
  11. autocad2007二维图画法_AutoCAD 2007矩形绘制方法教程
  12. 视差贴图(Parallax Mapping)
  13. 【HAOI2014】贴海报
  14. PHP之50个开源项目
  15. Python math.perm() 方法
  16. 运用JAVA基础阶段知识,模拟双色球机选抽奖过程
  17. 使用XGBoost在Python中进行特征重要性分析和特征选择
  18. 计算机控制直流电机闭环调速实验报告,PID控制电机实验报告
  19. HTML基础学习(二)---注册页面书写
  20. 水箱计算机控制系统设计,计算机课程设计——水箱水位控制系统设计.doc

热门文章

  1. 【转载】用JS控制输入内容
  2. 用Macbook开发桌面应用,使用Alamofire链接.Net Core Webapi的注意事项!
  3. SpringAop对struts2的Action设置切面织入时报错java.lang.NoSuchMethodException
  4. Linux内核启动过程概述
  5. 【CV论文阅读】:Rich feature hierarchies for accurate object detection and semantic segmentation...
  6. 获得指定时间所在月份的天数
  7. PHP自学4——通过函数将数组数据输出到html的Table标签中(使用函数的例子)
  8. JavaScript 本地验证用户注册信息
  9. Ruby on Rails 實戰聖經阅读(三)
  10. Controls 属性与继承 TShape 类的小练习