一、名词解释(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、WFS:网络要素服务,它是为浏览器提供通过地理标识语言封装的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)Tomcat
2、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元数据服务器
5、Tomcat的目录结构和作用
目录 | 用途 |
bin | 包含启动/关闭脚本 |
conf | 包含不同的配置文件,包括 server.xml(Tomcat的主要配置文件)和为不同的Tomcat配置的web应用设置缺省值的文件web.xml |
doc | 包含各种Tomcat文档 |
lib | 包含Tomcat使用的jar文件.unix平台此目录下的任何文件都被加到Tomcat的classpath中 |
Logs | 存放Tomcat的日志文件 |
/server | 包含3个子目录:classes、lib和webapps |
src | ServletAPI源文件.先别高兴,这些只有些必须在Servlet容器内实现的空接口和抽象类 |
webapp | 包含web项目示例,当发布web应用时,默认情况下把web文件夹放于此目录下 |
work | Tomcat自动生成,放置Tomcat运行时的临时文件(如编译后的JSP文件).如在Tomcat运行时删除此目录.JSP页面将不能运行.[ jsp生成的sevlet放在此目录下] |
classes | 你可以创建此目录来添加一些附加的类到类路径中.任何你加到此目录中的类都可在Tomcat的类路径中找到自身. |
Common/bin | 存在Tomcat服务器及所有的web应用程序可以访问的JAR文件 |
Server/bin | 存在Tomcat服务器运行所需的各种JAR文件。 |
Share/Bin | 存在所有的web应用程序可以访问的JAR文件(不能被tomcat访问) |
/server/webapps | 存放tomcat两个自带Web应用 admin应用和manager应用 |
答: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最终是转化成servlet
8、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解析URL
a) 首先来看URL中包含的信息:”协议” + “端口号” + “路径(项目名称+文件路径)”。Tomcat启动后,监听我们的8080端口,当有Url请求发过来之后,解析出项目名称 abingtest,然后到webapps目录下搜索到该项目文件夹。
b) 项目文件找到后,开始寻找类文件。这个时候Tomcat去Web.xml文件中寻找 ③ Servelt中的doGet() 和 doPost() 方法。我们写的FirstServlet 继承了HttpServlet ,重写了HttpServlet中的doGet() 方法,HttpServlet中还有一个doPost()方法。这两个方法都是用来处理Http请求的。Servlet会根据我们提交表单的方法 (method=post/get)调用service方法来自动选择(我们在下一篇文章中来详细说明一下Service方法是如何自动调用 FirstServlet中的doGet()方法的) servlet运行流程图: 4、SuperMap iServer Java 介绍 5、ArcGIS Server(课本P319)