zoukankan      html  css  js  c++  java
  • 理解ARCIMSServer、Service和Servlet Engine的区别

     理解ARCIMS-Server、Service和Servlet Engine的区别:
    我们知道,ARCIMS是一种服务器端Server运行的服务Service,即所谓的BS架构。所谓服务器[Server],一般是指一台服务器硬件,它通过一个主机名或IP来确定它在网络中的唯一位置;一台服务器上可以有多个服务[Service],这些服务,就是一个程序能够通过网络提供的功能,而它们是通过端口port来区分的,每一个service都占据一个端口。

    web服务器,它即可以指软件,也可以指硬件,在这里我们理解它是指一种占有80端口的网络服务软件,是一种虚拟服务器,网页文件可以通过这个服务软件在网络上发布。如我们安装IIS(微软的web服务器,XP Home版上不能安装该服务器)。然后我们可以输入http://localhosthttp://127.0.0.1,如果IIS启动了,就一定会弹出一个网页,告诉我们web服务是成功的云云。我们也可以在域名后面加上端口80,如http://127.0.0.1:80,但这个是不必要的,因为访问一台服务器的时候,默认的就是80端口。世界上不止一种web服务器,开源的Apache也是一种web服务器软件,它也是占用80端口的,但一个端口不能让两个服务使用,因此,在安装Apache的时候,最好卸载或关掉IIS,否则Apache是不会安装成功的。

    Servlet Engine,是一种Servlet容器。我们知道,IMS是用java开发的,这使得它具有良好的跨平台性,用java开发的基于网络的组件,是一种servlet,即运行在服务器端的java程序。这种程序,即这些servlet,必须在一个容器内才能运行,就像asp文件必须在IIS这个容器内才能运行一样。Tomcat或ServletExec就是这样一种容器,它们负责监听任何对这些servlet的访问并给出响应,确切地说,必须有这种容器,IMS的那些功能才能通过Servlet发布出去。这就是为什么一定要安装servlet Engine的原因。

    但是,如果IMS只是依靠Servlet Engine来发布服务,那应该不需要web服务器啊。没错,的确不需要,Servlet Engine是占用8080端口[这个不一定,也可以是其它未用的端口,不过一般是用8080]。这样我们可以通过http://127.0.0.1:8080/xxx(地图文件夹)来访问,这样一点问题都没有。但事实上,我们在访问一个服务器的时候,一般是不习惯带个端口的,即我们习惯使用80端口来访问。这样,我们需要一种协调机制,让访问从占用80端口的服务“传递”到占用8080端口的Servlet Engine中。这样就符合了我们的访问习惯,即http://127.0.0.1/website/mapdemo就可以访问一个站点了。

    以Apache和Tomcat为例,在各自安装后,它们还必须配合起来,我们可以在ESRI上下载几个文件,然后进行配置。配置完了,记得打开Tomcat 的Conf文件夹的mod_jk.conf文件,我们可以看到如下的代码:
    JkWorkersFile "D:\ApacheGroup\Apache2\conf\workers.properties"
    JkLogFile "D:\ApacheGroup\Tomcat 5.5\logs\mod_jk.log"

    JkLogLevel all

    <VirtualHost * >
    ServerName nbjbt

    JkMount /servlet ajp13
    JkMount /servlet/* ajp13

    JkMount /esriadmin ajp13
    JkMount /esriadmin/* ajp13

    JkMount /examples ajp13
    JkMount /examples/* ajp13

    JkMount /webdav ajp13
    JkMount /webdav/* ajp13

    JkMount /tomcat-docs ajp13
    JkMount /tomcat-docs/* ajp13

    JkMount /manager ajp13
    JkMount /manager/* ajp13

    JkMount /servlets-examples ajp13
    JkMount /servlets-examples/* ajp13
    </VirtualHost>

    这些文件夹,如servlets-examples ,都是可以不带8080就访问的,反之,如果不配置,在访问的时候,就必须带上8080的端口才行。

  • 相关阅读:
    基于Python自动生成小学四则运算题目的命令行程序(软工第二次作业)
    第一次个人编程作业
    自我介绍+软工五问
    如何清理 Docker 占用的磁盘空间
    复审与事后分析
    团队作业5——测试与发布(Alpha版本)
    项目冲刺总结集合贴
    团队作业3:需求改进&系统设计
    团队作业2——需求规格说明书
    团队作业1——团队展示&选题
  • 原文地址:https://www.cnblogs.com/googlegis/p/2979093.html
Copyright © 2011-2022 走看看