网络GIS原理与技术一、名词解释(5分x4=20分)1、WebGIS:即通常所说的万维网GIS,是GIS技术和WWW技术的有机结合,是internet或internet环境下的一种传输、存储、处理、分析、显示与应用地理空间信息的计算机系统。
2、VRML:是虚拟现实造型语言的简称,本质上是一种面向web,面向对象的三维造型语言,而且它是一种解释性语言。
VRML的对象称为结点,子结点的集合可以构成复杂的景物。
结点可以通过实例得到复用,对它们赋以名字,进行定义后,即可建立动态的VR(虚拟世界)。
3、地理空间元数据:空间元数据是指在空间数据库中用于描述空间数据的内容、质量、表示方法、空间参考和管理方式等特征的数据,是实现地理空间信息共享的核心标准之一。
4、MVC:全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法。
使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。
5、XML:可扩展标记语言的缩写。
可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。
特点:简洁有效、易学易用、开放的国际化标准、高效可扩充。
6、GML:即地理标识语言,是专门用于表示空间和属性数据的标记语言规范,是XML在地理空间信息领域的应用。
7、W FS:网络要素服务,它是为浏览器提供通过地理标识语言封装的GIS数据,它支持对地理要素的插入,更新,删除,检索和发现服务。
8、SVG:可缩放矢量模型,基于XML用于描述二维矢量图形的标准。
优点:保证图像的显示质量不会因为缩放而产生失真或受损,特别适合网络应用,支持交互性,灵活易用。
二、简答(5分x6=30分)1、Web服务器的种类答:1)Microsoft ⅡS(Internet Information Server),ⅡS是一种Web服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器。
2)IBM WebSphere,3)BEA WebLogic,4)Apache,5)Tomcat2、WebGIS的特点答:基于Internet/Intranet标准,分布式体系结构,服务范围广,平台无关,成本低廉、操作简单,支持地理分布存储的多元数据。
3、XML,XSL,DTD答:XML,可扩展标记语言;XSL,XSL是指可扩展样式表语言,是一种用于以可读格式呈现XML 数据的语言;DTD,是一套关于标记符的语法规则,它是XML1.0版规格的一部分,是XML文件的验证机制,属于XML文件组成的一部分。
DTD 是一种保证XML文档格式正确的有效方法,可通过比较XML文档和DTD文件来看文档是否符合规范,元素和标签使用是否正确。
4、WebGIS服务器包括哪几个组成部分答:WWW服务器、GIS服务器、数据库服务器、GIS元数据服务器6、C/S,B/S答:C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。
它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。
B/S(Browser/Server)结构,即浏览器和服务器结构。
它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户工作界面是通过WWW 浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。
这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
7、servlet与JSP(JavaServer Pages)的关系答:JSP是一个包含java程序的html页面,servlet是一个包含html的java程序,JSP最终是转化成servlet8、LBS(Location Based Service)答:LBS英文全称为Location Based Services, 它包括两层含义:首先是确定移动设备或用户所在的地理位置;其次是提供与位置相关的各类信息服务。
意指与定位相关的各类服务系统,简称"定位服务"9、网格GIS答:我们可以把应用网格技术来解决GIS中的问题的方法和技术称为网格GIS,它是GIS在网格环境下的一种新应用,将促进GIS沿着网络化、标准化、全球化、大众化、一体化和实用化的方向向纵深发展,最终实现空间信息的全面共享与互操作。
其网格环境划分为五个层次,网络GIS用户应用层、网络GIS应用服务与实现层、网络GIS核心服务层、网络GIS资源服务层、网格基础设施层。
二、程序分析(10分x2=20分)三、综合题(15分x2=30分)1、JSP技术的执行过程、运行原理(一)、执行过程:1)客户端发出请求2)Web容器将JSP转译成Servlet源代码3)Web容器将产生的源代码进行编译4)Web容器加载编译后的代码并执行5)把执行结果响应至客户端(二)、运行原理:WEB容器(Servlet引擎)接收到以.jsp为扩展名的URL的访问请求时,它将把该访问请求交给JSP引擎去处理。
Tomcat中的JSP引擎就是一个Servlet程序,它负责解释和执行JSP页面。
每个JSP 页面在第一次被访问时,JSP引擎将它翻译成一个Servlet源程序,接着再把这个Servlet源程序编译成Servlet的class类文件,然后再由WEB容器(Servlet引擎)像调用普通Servlet程序一样的方式来装载和解释执行这个由JSP页面翻译成的Servlet程序。
2、对WebGIS发展有什么看法(可参考课本第五章,P131开始…)3、Servlet运行原理、周期答:(一)、生命周期(1)加载和实例化。
Servlet容器负责加载和实例化Servlet。
当Servlet容器启动时,或者在容器检测到需要这个Servlet来响应第一个请求时,创建Servlet实例。
当Servlet容器启动后,它必须要知道所需的Servlet类在什么位置,Servlet容器可以从本地文件系统、远程文件系统或者其他的网络服务中通过类加载器加载Servlet类,成功加载后,容器创建Servlet 的实例。
因为容器是通过Java的反射API来创建Servlet实例,调用的是Servlet的默认构造方法(即不带参数的构造方法),所以我们在编写Servlet类的时候,不应该提供带参数的构造方法。
(2)初始化。
在Servlet实例化之后,容器将调用Servlet的init()方法初始化这个对象。
初始化的目的是为了让Servlet对象在处理客户端请求前完成一些初始化的工作,如建立数据库的连接,获取配置信息等。
对于每一个Servlet实例,init()方法只被调用一次。
在初始化期间,Servlet实例可以使用容器为它准备的ServletConfig对象从Web应用程序的配置信息(在web.xml中配置)中获取初始化的参数信息。
在初始化期间,如果发生错误,Servlet实例可以抛出ServletException异常或者UnavailableException异常来通知容器。
ServletException异常用于指明一般的初始化失败,例如没有找到初始化参数;而UnavailableException异常用于通知容器该Servlet实例不可用。
例如,数据库服务器没有启动,数据库连接无法建立,Servlet就可以抛出 UnavailableException异常向容器指出它暂时或永久不可用。
(3)请求处理。
Servlet容器调用Servlet的service()方法对请求进行处理。
要注意的是,在service()方法调用之前,init()方法必须成功执行。
在service()方法中,Servlet实例通过ServletRequest对象得到客户端的相关信息和请求信息,在对请求进行处理后,调用ServletResponse对象的方法设置响应信息。
在service()方法执行期间,如果发生错误,Servlet实例可以抛出 ServletException异常或者UnavailableException异常。
如果UnavailableException异常指示了该实例永久不可用,Servlet容器将调用实例的destroy()方法,释放该实例。
此后对该实例的任何请求,都将收到容器发送的HTTP 404(请求的资源不可用)响应。
如果UnavailableException异常指示了该实例暂时不可用,那么在暂时不可用的时间段内,对该实例的任何请求,都将收到容器发送的HTTP 503(服务器暂时忙,不能处理请求)响应。
(4)服务终止。
当容器检测到一个Servlet实例应该从服务中被移除的时候,容器就会调用实例的destroy()方法,以便让该实例可以释放它所使用的资源,保存数据到持久存储设备中。
当需要释放内存或者容器关闭时,容器就会调用Servlet实例的destroy()方法。
在destroy()方法调用之后,容器会释放这个Servlet实例,该实例随后会被Java的垃圾收集器所回收。
如果再次需要这个Servlet处理请求,Servlet容器会创建一个新的Servlet 实例。
在整个Servlet的生命周期过程中,创建Servlet实例、调用实例的init()和destroy()方法都只进行一次,当初始化完成后,Servlet容器会将该实例保存在内存中,通过调用它的service()方法,为接收到的请求服务。
(二)Servlet运行原理和流程① WebApplication的标准目录结构:WEB-INF/classes、/lib、Web.xml,一个完整的web 应用程序目录下,必须包含以上的目录结构。
Classes 文件夹下是项目中用到的类文件,均由JDK编译成了.class文件,Lib文件夹是我们项目中引用的jar包,Web.xml是整个web应用程序的配置文档。
②Tomcat解析URLa) 首先来看URL中包含的信息:”协议” + “端口号” + “路径(项目名称+文件路径)”。
Tomcat启动后,监听我们的8080端口,当有Url请求发过来之后,解析出项目名称abingtest,然后到webapps目录下搜索到该项目文件夹。
b) 项目文件找到后,开始寻找类文件。
这个时候Tomcat去Web.xml文件中寻找<servlet-mapping> 配置节中包含”servlet/FirstServlet”字符串,进而找到该类文件所在的位置。