Sun ONE logo      上一页      目录      索引      下一页     

Sun ONE Web Server 6.1 管理员指南

第 15 章
使用程序扩展服务器

本章介绍如何在 Sun ONE Web Server 上安装可在响应客户机请求时动态生成 HTML 页面的 程序。这些程序称为服务器端应用程序。(客户端应用程序将下载到客户机上并在客户端计算机上运行。)

本章包括以下部分:


服务器端程序概述

Java Servlet 和 CGI 程序具有不同的优点和用法。下表列出了这些服务器端程序之间的差异:

服务器上运行的服务器端应用程序的类型

Sun ONE Web Server 可以运行以下类型的服务器端应用程序以动态生成内容:

Sun ONE Web Server 也可以运行扩展或修改服务器自身行为的程序。这些程序(称为插件)是使用 Netscape 服务器应用程序编程接口 (NSAPI) 编写的。有关编写和安装插件程序的信息,请参见《Sun ONE Web Server 6.1 NSAPI Programmer's Guide》。

如何在服务器上安装服务器端应用程序

每个类型的程序在服务器上的安装方式都不同。下表概述了这些过程:

这些安装过程将在以下各节中进行说明。


Java Servlet 和 JavaServer Pages (JSP)

本节介绍如何在 Sun ONE Web Server 上安装和使用 Java Servlet 和 JavaServer Pages。

其中包括以下主题:

Servlet 和 JavaServer Pages 概述

Sun ONE Web Server 6.1 支持 Servlet 2.3 API 规范,该规范允许将 Servlet 和 JSP 包括在 Web 应用程序中。

Web 应用程序是 Servlet、JavaServer Pages、HTML 文档和其他 Web 资源(可能包括图像文件、压缩的归档文件和其他数据)的集合。Web 应用程序可以打包至一个归档文件(WAR 文件),也可以存在于打开的目录结构中。


Servlet API 2.3 版与 2.1 版完全兼容,因此所有现有的 Servlet 均可继续使用,而且无需修改或重新编译。


要开发 Servlet,请使用 Sun Microsystems 的 Java Servlet API。有关使用 Java Servlet API 的信息,请参见由 Sun Microsystems 提供的文档,其站点如下:

http://java.sun.com/products/servlet/index.jsp

JSP 是一个页面,同 HTML 页面很相似,可以在 Web 浏览器中查看。然而,除了 HTML 标记,它还可以包括一组与 Java 代码相混合的 JSP 标记和指令,用以扩展 Web 页面设计者将动态内容并入页面的能力。这些附加特性提供了诸如显示特性值和使用简单条件等功能。Sun ONE Web Server 6.1 支持 JavaServer Pages (JSP) 1.2 API 规范。


请确保应用程序所请求的 URI 的大小写(例如,/foo.JSP)与文件系统路径的规范大小写相匹配(例如,C:\Program Files\WebServer\docs\foo.jsp)。这非常必要,因为 Sun ONE Web Server 6.1 Java Web 容器当前执行的模式匹配区分大小写。


有关创建 JSP 的信息,请参见 Sun Microsystems 的 JavaServer Pages,其 Web 站点如下:

http://java.sun.com/products/jsp/index.jsp

有关开发 Servlet 和 JSP 以与 Sun ONE Web Server 结合使用的信息,请参见《Sun ONE Web Server 6.1 Programmer's Guide to Web Applications》。

服务器运行 Servlet 所需的条件

Sun ONE Web Server 包括了 Java 开发工具 (JDK) 1.4.1_03 版。在旧版的 Web 服务器中,Java 在服务器范围内配置;而在 6.1 发行版中,您可以按 Web 服务器实例配置 Java。

您可以使用与 Sun ONE Web Server 6.1 捆绑的 JDK,也可以使用由您选择的 JDK(这时您必须指定 JDK 的路径)。有关如何执行此操作的详细信息,请参见“配置 JVM 设置”。

默认情况下,安装 Sun ONE Web Server 时 Java 被禁用。要启用 Servlet,必须先启用 Java。

有关如何启用 Java 的信息,请参见“启用和禁用 Java”。

部署 Web 应用程序

以下各节将介绍如何使用 wdeploy 命令行实用程序手动部署、编辑或删除 Web 应用程序,以及如何通过用户界面执行这些操作。

使用 server.xml 文件

部署之后,默认情况下您的 Web 应用程序将被启用。要手动禁用已部署的 Web 应用程序,需要修改 server.xml 文件,如下所示:

<VS>
<WEBAPP uri="/mywebapp" path="/webappdir" enabled = "false" >
</WEBAPP>

...

</VS>

如果无意中以同样的说明部署或编辑了多个 Web 应用程序,而且其中之一已被禁用,服务器将忽略 enabled = "false" 设置并继续使用 enabled = "true" 的默认设置。

有关 server.xml 文件的详细信息,请参见《Sun ONE Web Server 6.1 Programmer's Guide to Web Applications》。

部署和编辑 Web 应用程序有以下两种方式:

使用 Administration Server 界面

使用 Sun ONE Web Server 6.1,您可以为某个指定的虚拟服务器部署、编辑、删除、启用和禁用 Web 应用程序。

部署 Web 应用程序

通过在 Virtual Server Manager 的 "Web Applications" 选项卡下选择 "Deploy Web Applications",可以访问 "Deploy Web Applications"。

要部署 Web 应用程序,请执行以下步骤:

  1. 从 "WAR File On" 下拉列表中选择 "Local Machine" 或 "Server Machine"。
  2. 要将 WAR 文件上载至服务器,请选择 "Local Machine"。如果已经存在 WAR 文件,请选择 "Server Machine"。

  3. 在本地计算机或服务器计算机上,在提供的字段中输入包含 Web 应用程序的 WAR 文件的路径。
  4. 在服务器计算机上,输入 WAR 文件的绝对路径。

    在本地计算计上,您可以浏览现有路径。单击 "browse" 将显示 "File Upload" 窗口,您可以选择要上载到服务器的 WAR 文件。

  5. 在虚拟服务器上,在提供的字段中输入 Web 应用程序的 URI。
  6. 输入服务器计算机上要提取 WAR 文件内容的目录的绝对路径。如果该目录不存在,将创建一个目录。
  7. 单击 "OK"。
  8. 单击 "Apply"。
  9. 为要部署的 Web 应用程序选择 "Dynamic Reconfiguration"。
编辑 Web 应用程序

您可以编辑、删除、禁用或启用已部署的 Web 应用程序。通过在 Virtual Server Manager 的 "Web Applications" 选项卡下选择 "Edit Web Applications",可以访问 "Edit Web Applications"。

要编辑、删除、禁用或启用已部署的 Web 应用程序,请执行以下步骤:

  1. 从正在编辑的 Web 应用程序旁边的 "Action" 列中的下拉列表中,选择要执行的操作。请进行以下选择:
    • 选择 "Edit",更改从中可以访问 Web 应用程序的 URI。
    • 选择 "Delete",从 Web 应用程序文件中删除 Web 应用程序条目并删除部署该应用程序所在的目录。
    • 选择 "Disable",使 Web 应用程序无法从 URI 访问,但不删除它。
    • 选择 "Enable",重新激活先前被禁用的 Web 应用程序。

      注意

      删除 Web 应用程序将同时删除部署该应用程序所在的目录。


  2. (可选)在 "URI" 字段中输入新的 URI(如果正在编辑 Web 应用程序)。
  3. 单击 "OK"。
  4. 单击 "Apply"。
  5. 为要部署的 Web 应用程序选择 "Dynamic Reconfiguration"。

使用命令行界面

在手动部署 Web 应用程序之前,您必须确保 server_root/bin/https/httpsadmin/bin 目录处于路径中,并且 IWS_SERVER_HOME 环境变量已设置为 server_root 目录。

要部署虚拟服务器 Web 应用程序:

您可以在命令行中使用 wdeploy 实用程序将 WAR 文件部署到虚拟服务器 Web 应用程序环境中:

wdeploy deploy -u <uri_path> -i <instance> -v <vs_id> [ [-V <verboseLevel>]| [-q] ] [-n] [-d <directory>] <war_file>

删除虚拟服务器 Web 应用程序:

wdeploy delete -u <uri_path> -i <instance> -v <vs_id> [ [-V <verboseLevel>] | [-q] ] [-n] hard|soft

列出虚拟服务器 Web 应用程序的 URI 和目录:

wdeploy list -i <instance> -v <vs_id> [ [-V <verboseLevel>] | [ -q] ]

以上命令参数具有以下含义:

uri_path

Web 应用程序的 URI 前缀。

instance

服务器实例的名称。

vs_id

虚拟服务器的 ID。

directory

(可选)从中部署或删除应用程序的目录。如果部署未指定目录,应用程序将部署在文档根目录中。

hard | soft

指定是否删除目录和 server.xml 条目 (hard),或只删除 server.xml 条目 (soft)。

war_file

WAR 文件名。

verboseLevel

在控制台上显示日志消息的冗余级别。该值的范围为 0 到 4。默认值为 1。

请注意,在 Sun ONE Web Server 6.1 中,将用 server.xmlLOG 元素的 loglevel 属性替代该元素。

-q

(静音)将冗余级别设置为零。这相当于 -V 0 设置。

-n

避免 wdeploy 自动将重新配置命令发送给 Web 服务器。有关详细信息,请参见“在 wdeploy 命令中使用 -n”。


注意

如果部署 Web 应用程序而未指定 directory,该应用程序将部署到文档根目录。如果您接着使用 hard 参数删除该应用程序,文档根目录将被删除。


当您执行 wdeploy deploy 命令时,会出现以下三种情况:

例如:

wdeploy deploy -u /hello -i server.sun.com -v acme.com -d /s1ws61/https-server.sun.com/acme.com/web-apps/hello /s1ws61/plugins/servlets/examples/web-apps/HelloWorld/HelloWorld.war

该实用程序将产生以下 server.xml 条目:

<VS>
<WEBAPP uri="/hello"
dir="/s1ws61/https-server.sun.com/acme.com/webapps/hello"/>
</VS>

/s1ws61/https-server.sun.com/acme.com/web-apps/hello 目录具有以下内容:

colors
index.jsp
META-INF
WEB-INF/
web.xml
/classes/
HelloWorldServlet.class
HelloWorldServlet.java
SnoopServlet.class
SnoopServlet.java

在 wdeploy 命令中使用 -n

在 Sun ONE Web Server 的 6.1 版中,部署或删除 Web 应用程序之后,wdeploy 将动态重新配置服务器,使服务器可以装入或卸载已部署的或已删除的 Web 应用程序。以前,您必须通过执行以下任一操作,明确地重新配置服务器以使更改生效:

现在,将自动启用一个成功的 wdeploy 命令,以处理新的 Web 应用程序请求,或停止处理已删除 Web 应用程序的请求。

-n 选项可用于避免 wdeploy 自动向 Web 服务器发送重新配置命令。当部署或取消部署多个 Web 应用程序(例如在脚本中),且在部署完最后一个 Web 应用程序后,您希望仅重新配置服务器一次时,请在命令中使用 -n 选项。

访问已部署的 Web 应用程序

部署应用程序之后,您可以从浏览器中访问它,如下所示:

http://vs_urlhost[:vs_port]/uri_path/[index_page]

URL 的各部分具有以下含义:

vs_urlhost

用于虚拟服务器的 urlhosts 值之一。

vs_port

(可选)仅用于虚拟服务器使用非默认端口时。

uri_path

用于部署应用程序的同一路径。这也是上下文路径。

index_page

(可选)最终用户首先应访问的应用程序页面。

例如:

http://acme.com:80/hello/index.jsp

或:

http://acme.com/hello/

返回值

wdeploy 选项将返回以下退出值:

在 Web 应用程序之外部署 Servlet 和 JSP

您可以在 Web 应用程序之外部署 4.x Servlet 和 JSP,但仅限于默认虚拟服务器。有关详细信息,请参见《Sun ONE Web Server 6.1 Programmer's Guide to Web Applications》。

配置 JVM 设置

您可以在 Server Manager 的 "Java" 选项卡中配置 Java 虚拟机 (JVM) 的属性。

有关这些选项的详细信息,请参见《Sun ONE Web Server 6.1 Programmer's Guide to Web Applications》。

删除版本文件

使用 Server Manager 的 "Java" 选项卡上的 "Delete Version Files",您可以删除包含 JavaServer Pages 类缓存和会话数据缓存的版本号的文件。该页面具有以下字段:

清除会话数据

删除 SessionData 目录,如果服务器使用 MMapSessionManager 会话管理器,该目录将存储持久性会话信息。

删除 JSP ClassCache 文件

删除缓存 JavaServer Pages (JSP) 信息的 ClassCache 目录。该目录的默认位置为:

server_root/https-server_id/ClassCache/virtual_server_id/webapp_uri/

当服务器为 JSP 页面提供服务时,它将创建与 JSP 相关联的 .java 文件和 .class 文件,然后将这些文件存储在 ClassCache 目录下的 JSP 类缓存中。

服务器使用以下两个目录来高速缓存 JavaServer Pages (JSP) 和 Servlet 的信息:

每个缓存均有一个 version 文件,其中包含了服务器用来确定缓存中的目录和文件结构的版本号。只要删除该版本文件即可清除缓存。

服务器启动时,如果未找到版本文件,将删除相应缓存的目录结构并重新创建版本文件。服务器下次提供 JSP 页面时,将重新创建 JSP 类缓存。服务器在下次为 JSP 页面或 Servlet 提供服务时使用 MMappedSessionManager 会话管理器的过程中,将重新创建会话数据缓存。

如果未来升级版的服务器使用不同的缓存格式,服务器将检查版本文件中的版本号,并在版本号不正确时清除缓存。


安装 CGI 程序

本节讨论如何安装 CGI 程序。其中包括以下主题:

此外,以下各节将讨论如何安装 Windows 专用的 CGI 程序:

CGI 概述

通用网关接口 (CGI) 程序可由多种编程语言定义。在 UNIX/Linux 计算机上,您很可能会发现 CGI 程序被编写成 Bourne shell 或 Perl 脚本。


UNIX/Linux 具有额外的 CGIStub 运行进程,服务器可用来帮助 CGI 执行。只有在首次访问 CGI 期间才创建这些进程。进程数量的变化取决于服务器上的 CGI 负荷。请不要删除这些 CGIStub 进程。服务器停止时,它们将消失。


在 Windows 计算机上,您可能会发现 CGI 程序是用 C++ 或批处理文件编写的。对于 Windows 而言,利用基于 Windows 的编程语言(如 Visual Basic)编写的 CGI 程序将使用不同的机制来操作服务器。这些程序被称为 Windows CGI 程序。有关 Windows CGI 的信息,请参见“安装 Windows CGI 程序”。


要运行命令行实用程序,需要手动设置 Path 变量以包括 server_root/bin/https/bin


不管使用什么编程语言,所有 CGI 程序均以同样的方式接受和返回数据。有关编写 CGI 程序的更多信息,请参见以下信息源:

在服务器计算机上存储 CGI 程序的方法有两种:

如果需要,您可以同时启用两个选项。

两种实现方法各有优点。如果只允许一组特定的用户添加 CGI 程序,请将 CGI 程序保留在指定的目录中并限制对这些目录的访问权限。如果允许任何可以添加 HTML 文件的用户都能添加 CGI 程序,请使用替代文件类型。用户可以将 CGI 文件和 HTML 文件保留在相同的目录中。

如果您选择了目录选项,服务器会将该目录中的所有文件看成 CGI 程序。通过使用相同的标记,如果您选择了文件类型选项,服务器会将具有 .cgi.exe.bat 文件扩展名的所有文件都当成 CGI 程序来处理。如果某个文件具有这些扩展名中的一个但不是 CGI 程序,用户试图访问时就会出现错误。


默认情况下,CGI 程序的文件扩展名为 .cgi.exe.bat。但是,您可以通过修改 MIME 类型文件来更改哪些扩展名表示 CGI 程序。要执行此操作,请选择 "Server Preferences" 选项卡并单击 "MIME Types" 链接。


指定 CGI 目录

要为一组虚拟服务器指定 CGI 专用目录,请执行以下步骤:

  1. 从 Class Manager 中选择 "Programs" 选项卡。
  2. 将显示 "CGI Directory" 窗口。

  3. 在 "URL Prefix" 字段中,键入要用于该目录的 URL 前缀。也就是说,您键入的文本将在 URL 中作为 CGI 程序的目录显示出来。
  4. 例如,如果您键入 cgi-bin 作为 URL 前缀,那么这些 CGI 程序的所有 URL 将具有以下结构:

    http://yourserver.domain.com/cgi-bin/program-name


    您指定的 URL 前缀可能与在前一步骤中指定的真实 CGI 目录有差异。


  5. 在 "CGI Directory" 文本字段中,键入目录的位置作为绝对路径。请注意,该目录不必位于文档根目录下。因此,您需要在下一步骤中指定一个 URL 前缀。
  6. 单击 "OK"。
  7. 保存并应用所做的更改。

要删除现有的 CGI 目录,请在 "CGI Directory" 表单中单击该目录的 "Remove" 按钮。要更改现有目录的 URL 前缀或 CGI 目录,请单击该目录的 "Edit" 按钮。

将 CGI 程序复制到指定的目录中。请记住,这些目录中的所有文件将被作为 CGI 文件处理,所以不要将 HTML 文件放入 CGI 目录中。

为每个软件虚拟服务器配置唯一的 CGI 属性

要为单个虚拟服务器指定 CGI 属性,请执行以下步骤:

  1. 从 Class Manager 中选择 "Manager Virtual Servers" 按钮。
  2. 从 Virtual Server Manager 中选择 "Settings" 链接。
  3. 在 "CGI User" 文本字段中,键入执行 CGI 程序的用户的名称。
  4. 在 "CGI Group" 文本字段中,键入执行 CGI 程序的组的名称。
  5. 在 "CGI Directory" 文本字段中,将 chdir 的目录键入到 chroot 之后,但在执行开始之前。
  6. (仅限 UNIX)在 "CGI Nice" 文本字段中,键入用于确定 CGI 程序相对于服务器优先级的增量。通常,服务器在精度值为 0 的情况下运行,精度增量在 0(CGI 程序与服务器在同一优先级下运行)到 19(CGI 程序的运行优先级远远低于服务器)之间。指定精度增量为 -1,就有可能增加 CGI 程序的优先级使其高于服务器,但不建议这样做。
  7. 在 "Chroot Directory" 文本字段中,将 chroot 的目录键入到执行开始之前。
  8. 单击 "OK"。
  9. 保存并应用所做的更改。

将 CGI 指定为文件类型

要将 CGI 程序指定为文件类型,请执行以下步骤:

  1. 从 Class Manager 中选择 "Programs" 选项卡。
  2. 单击 "CGI File Type"。
  3. 将显示 "CGI as a File Type" 窗口。

  4. 从 Editing Picker 中选择您要应用该更改的资源。
  5. 在 "Activate CGI as a File Type" 下,单击 "Yes" 单选按钮。
  6. 单击 "OK"。
  7. 保存并应用所做的更改。

CGI 文件必须具有文件扩展名 .bat.exe.cgi。如果具有这些扩展名的非 CGI 文件均被服务器作为 CGI 文件处理可能会导致错误。

下载可执行文件

如果使用 .exe 作为 CGI 文件类型,则不能将 .exe 文件作为可执行文件下载。

解决此问题的方法之一是压缩想让用户下载的可执行文件,这样扩展名就不是 .exe 了。该解决方法还有缩短下载时间的附加优点。

另一个可能的解决方法是从 magnus-internal/cgi 类型中删除作为文件扩展名的 .exe,而将其添加到 application/octet-stream 类型(用于标准可下载文件的 MIME 类型)中。您可以通过 Server Manager 执行此操作,方法是选择 "Server Preferences" 选项卡并单击 "MIME Types" 链接。但是,该方法的缺点是进行该更改后无法将 .exe 文件用作 CGI 程序。

另一个解决方法是编辑服务器的 obj.conf 文件,设置一个下载目录,该目录中的文件将被自动下载。服务器的其他部分不会受到影响。有关详细信息,请参见:

http://developer.netscape.com/docs/manuals/enterprise/admnunix/programs.htm


安装 Windows CGI 程序

本节讨论如何安装 Windows CGI 程序。本节包括以下内容:

Windows CGI 程序概述

Windows CGI 程序的处理方法与其他 CGI 程序很相似。您可以指定一个只包含 Windows CGI 程序的目录,也可以指定所有 Windows CGI 程序具有相同的文件扩展名。请注意,像其他 CGI 程序一样,如果需要,您可以同时使用这两种方法。例如,您可以为所有 Windows CGI 程序创建一个目录,并指定一个 Windows CGI 文件扩展名。

尽管 Windows CGI 程序像常规的 CGI 程序一样操作,但服务器处理实际程序时有些不一样。因此,您需要为 Windows CGI 程序指定不同的目录。如果启用 Windows CGI 文件类型,则文件扩展名为 .wcg

Sun ONE Web Server 支持 Windows CGI 1.3a 非正式规范,且具有以下差异:

指定 Windows CGI 目录

要指定 Windows CGI 专用目录,请执行以下操作:

  1. 从 Class Manager 中选择 "Programs" 选项卡。
  2. 单击 "WinCGI Directory" 链接。
  3. 将显示 "WinCGI Directory" 窗口。

  4. 在 "URL Prefix" 文本字段中,输入要用于该目录的 URL 前缀。
  5. 也就是说,您键入的文本将在 URL 中作为 Windows CGI 程序的目录显示出来。例如,如果键入 wcgi-programs 作为 URL 的前缀,这些 Windows CGI 程序的所有 URL 将具有以下结构:

    http://yourserver.domain.com/wcgi-programs/program-name


    您指定的 URL 前缀可能与在步骤 5 中指定的真实 Windows CGI 目录有差异。


  6. 选择是否要启用脚本跟踪。
  7. 在 "Enable Script Tracing?" 下,单击 "Yes" 或 "No" 单选按钮。

    CGI 参数通过文件从服务器传递到 Windows CGI 程序,通常服务器在 Windows CGI 程序执行完毕后将删除这些文件。如果启用了脚本跟踪,这些文件将保留在 /temp 目录中或环境变量 TMP 和 TEMP 所指向的位置中。同样,启用脚本跟踪时,将显示 Windows CGI 程序所产生的任何窗口。

  8. 在 "WinCGI Directory" 字段中,输入目录的位置作为绝对路径。
  9. 请注意,该目录不必位于文档根目录下。因此,您需要在步骤 3 中指定一个 URL 前缀。

  10. 单击 "OK"。
  11. 保存并应用所做的更改。

要删除现有的 Windows CGI 目录,请在 "Windows CGI Directory" 表单中单击该目录的 "Remove" 按钮。要更改现有目录的 URL 前缀或 Windows CGI 目录,请单击该目录的 "Edit" 按钮。

将 Windows CGI 程序复制到指定的目录中。请记住,这些目录中的所有文件都被作为 Windows CGI 文件处理。

将 Windows CGI 指定为文件类型

要为 Windows CGI 文件指定文件扩展名,请执行以下步骤:

  1. 从 Server Manager 中选择 "Server Preferences" 选项卡。
  2. 单击 "MIME Types" 链接。
  3. 将显示 "Global MIME Types" 窗口。有关全局 MIME 类型的详细信息,请参见“选择 MIME 类型”。

  4. 请按以下设置添加新的 MIME 类型:
    • 类型:type
    • 内容类型:magnus-internal/wincgi
    • 文件后缀:输入您希望服务器将其与 Windows CGI 相关联的文件的后缀。如果已激活 CGI、WinCGI 和 Shell CGI 文件类型,您必须为每个类型的 CGI 指定不同的后缀。例如,CGI 程序和 shell CGI 程序不能同时使用后缀 .exe。如果需要,可以在页面上编辑其他 MIME 类型字段,以便后缀是唯一的。
  5. 单击 "New Type" 按钮。
  6. 保存并应用所做的更改。


安装 Windows Shell CGI 程序

本节讨论如何安装 Windows Shell CGI 程序。本节包括以下内容:

Windows Shell CGI 程序概述

Shell CGI 是一种服务器配置,您可以使用在 Windows 中设置的文件关联来运行 CGI 应用程序。

例如,如果服务器接到一个请求需要一个名为 hello.pl 的 Shell CGI 文件,服务器将利用与 .pl 扩展名相关联的程序,使用 Windows 文件关联来运行该文件。如果 .pl 扩展名与程序 C:\bin\perl.exe 相关联,服务器将尝试执行 hello.pl 文件,如下所示:

配置 shell CGI 的最简便方式是在只包含 shell CGI 文件的服务器文档根目录中创建一个目录。但是,您也可以通过从 Sun ONE Web Server 编辑 MIME 类型,配置服务器以使特定的文件扩展名与 Shell CGI 相关联。


有关设置 Windows 文件扩展名的信息,请参见相关的 Windows 文档。


指定 Shell CGI 目录 (Windows)

要创建 shell CGI 文件的目录,请执行以下步骤:

  1. 在计算机上创建 Shell 目录。该目录不必是文档根目录的子目录。
  2. 从 Server Manager 中选择 "Class Manager" 链接。
  3. 然后选择 "Class Manager"。
  4. 将突出显示 "Shell CGI Directory" 链接并显示 CGI 窗口。

  5. 在 "URL Prefix" 字段中,输入要与 Shell CGI 目录相关联的 URL 前缀。
  6. 例如,假设您将所有 Shell CGI 文件存储在名为
    C:\docs\programs\cgi\shell-cgi 的目录中,但是您希望用户看到的是 http://www.yourserver.com/shell/ 目录。在这种情况下,应键入 shell 作为 URL 前缀。

  7. 在 "Shell CGI Directory" 字段中,输入已创建目录的绝对路径。

  8. 注意

    服务器必须具有读取和执行该目录的权限。对于 Windows,运行服务器所用的用户帐户(例如,LocalSystem)必须具有读取和执行 Shell CGI 目录中的程序的权限。


  9. 请确保 Shell CGI 目录中的所有文件也具有在 Windows 中设置的文件关联。如果服务器试图运行没有文件扩展名关联的文件,将返回错误。

将 Shell CGI 指定为文件类型 (Windows)

您可以使用 Sun ONE Web Server 的 "MIME Types" 窗口,将文件扩展名与 shell CGI 特性相关联。这不同于在 Windows 中创建关联。

要在服务器中将文件扩展名与 Shell CGI 特性相关联,例如,您可以为具有 .pl 扩展名的文件创建关联。当服务器接到请求需要具有该扩展名的文件时,通过调用 Windows 中与该文件扩展名关联的可执行文件,服务器会将该文件当作 Shell CGI 文件处理。

要将文件扩展名与 Shell CGI 文件相关联,请执行以下步骤:

  1. 在计算机上创建 Shell 目录。该目录不必是文档根目录的子目录。
  2. 从 Server Manager 中选择 "Server Preferences"。
  3. 单击 "MIME Types" 链接。
  4. 将显示 "Global MIME Types" 窗口。有关全局 MIME 类型的更多信息,请参见“选择 MIME 类型”。

  5. 请按以下设置添加新的 MIME 类型:
    • 类型:type
    • 内容类型:magnus-internal/shellcgi
    • 文件后缀:输入您希望服务器将其与 Shell CGI 相关联的文件的后缀。如果已激活 CGI、WinCGI 和 Shell CGI 文件类型,您必须为每个类型的 CGI 指定不同的后缀。例如,CGI 程序和 shell CGI 程序不能同时使用后缀 .exe。如果需要,您可以在页面上编辑其他 MIME 类型字段,以便后缀是唯一的。
  6. 单击 "New Type" 按钮。
  7. 保存并应用所做的更改。


使用查询处理程序


使用查询处理程序已经过时了。尽管 Sun ONE Web Server 和 Netscape Navigator 客户机仍支持该处理程序,但它已很少使用。用户更多地使用 HTML 页面中的表单来提交查询。


您可以指定一个默认查询处理程序 CGI 程序。查询处理程序通过 HTML 文件中的 ISINDEX 标记处理发送给它的文本。

ISINDEX 类似于一个表单文本字段,即在可以接受输入内容的 HTML 页面中创建文本字段。但不同于表单文本字段信息的是,当用户按回车键时,ISINDEX 框中的信息将被立刻提交。当指定默认查询处理程序时,您就告诉了服务器将输入定向到哪个程序。有关 ISINDEX 标记深层次的讨论,请参见 HTML 参考手册。

要设置查询处理程序,请执行以下步骤:

  1. 从 Class Manager 中选择 "Programs" 选项卡。
  2. 单击 "Query Handler" 链接。
  3. 将显示 "Query Handler" 窗口。

  4. 使用 "Editing Picker" 选择要和默认查询处理程序一起设置的资源。
  5. 如果选择了一个目录,指定的查询处理程序只在服务器接收到该目录的 URL 或该目录中任一文件时运行。

  6. 在 "Default Query Handler" 字段中,输入要用作选定资源的默认设置的 CGI 程序的完整路径。
  7. 单击 "OK"。
  8. 保存并应用所做的更改。


上一页      目录      索引      下一页     


版权所有 2004 Sun Microsystems, Inc. 保留所有权利。