跳至内容 Java Solaris 社区 Sun 商店 加入 SDN 我的个人档案 加入的益处
 
Java Studio Creator HTTP 监视器
作者:Beth Stearns 和 Po-Ting Wu  
您需要跟踪 Web 应用程序中的数据流来调试故障吗?Sun Java Studio Creator 2 集成开发环境提供了一个 HTTP 监视器实用程序工具,使用该工具可以方便地查看数据在部署的应用程序各组件之间的流动方式。

通常,在 Web 应用程序的不同组件之间存在大量的数据流。编写 Web 应用程序时,您了解应用程序组件发出的请求以及这些请求所发送的位置(和时间)。然而,运行应用程序时,实际情况却可能有所不同。在调试应用程序时,您需要快速定位引发问题的组件。HTTP 监视器是一个非常有用的调试帮助工具,因为它可以跟踪 Web 应用程序组件之间的实际运行时数据流(HTTP POST 和 GET 操作),从而可以快速找出发生错误的地方。

HTTP 监视器工具包含两个组件,一个位于服务器端,另一个位于客户端。服务器端组件会记录作为应用程序请求结果而产生的数据流。利用客户端 GUI 组件,您不仅可以查看服务器端组件记录的数据,而且还可以重放应用程序请求。

要使用 HTTP 监视器工具,您首先应在 Sun Studio Application Server 中启用它。启用后,该工具的服务器端组件便会记录 HTTP 事件。启用 HTTP 监视器是件容易的事情。

由于缺省情况下 HTTP 监视器处于禁用状态,因此您可能需要启用它。要检查监视器是否已被启用,请查看部署服务器的属性显示信息。在“服务器”窗口中,右键单击“部署服务器”,然后从上下文菜单中选择“属性”(请参见图 1)。如果“启用 HTTP 监视器”属性被设置为 false,则需要将其更改为 true。在部署服务器的属性显示信息中,将“启用 HTTP 监视器”属性设置为 true。现在,应用服务器随时准备在部署应用程序时对 HTTP 事件进行归档。

图 1:启用 HTTP 监视器
图 1:启用 HTTP 监视器
 

HTTP 监视器工具的服务器端组件会记录以下信息:

  • 标识请求的数据,包括请求头信息、请求的查询字符串、任何已传递的数据,以及设置为请求处理结果的请求属性
  • 传入和传出的 Cookie
  • 可用于请求的 HTTP 会话对象(如果存在),以及处理请求前后会话对象的状态
  • 有关执行请求处理的 Servlet 的数据
  • 有关 Servlet 上下文的数据
  • 有关 Servlet 引擎和发出请求的客户端的数据

HTTP 监视器工具客户端 GUI 采用简洁、用户友好的方式显示信息,如以下示例所示。

为了解 HTTP 监视器的调试功能,让我们来看一个应用程序或项目,它包含一个使用两个表单的页面。部署并运行此项目时,HTTP 监视器会显示每个 HTTP POST 和 GET 方法的名称-值对,从而可以使您方便地确定服务器是否正确地匹配了这些值。例如,您可以查看与每个 POST 事件关联的值。

  1. 建立一个包含两个表单的页面。

    通过创建一个包含两个简单表单的页面来建立项目。

    • Form1 包含两个输入文本字段和一个提交按钮。
    • Form2 包含一个输入文本字段、一个选择列表框以及一个提交按钮。

    图 2 显示了该页面的应用程序概要信息以及它在设计器窗口中的外观。

    图 2:包含多个表单的页面
    图 2:包含多个表单的页面
     
  2. 运行该项目。

    运行应用程序时,IDE 中将自动显示“HTTP 监视器”窗口,该窗口与“输出”窗口一同位于设计器下面。请参见图 3。

    图 3:“HTTP 监视器”窗口
    图 3:“HTTP 监视器”窗口
     
  3. 在 IDE 部署应用程序的外部浏览器中,单击第一个表单的 "Submit" 按钮。

    可以使用 HTTP 监视器验证该浏览器为每个 HTTP POST 和 GET 方法发送的名称-值对事件。转至浏览器中部署的应用程序的页面,然后单击与创建的第一个表单关联的 "Submit" 按钮。请参见图 4。

    图 4:选择浏览器中的 "Submit" 按钮
    图 4:选择浏览器中的 "Submit" 按钮
     
  4. 在“HTTP 监视器”窗口中选择第一个 POST 事件。

    返回到 IDE 的“HTTP 监视器”窗口,然后选择第一个 POST 事件。您会看到浏览器为属于该页中第一个表单的所有组件发送的值。请参见图 5。

    图 5:与该页的 Form1 对应的 POST 值
    图 5:与该页的 Form1 对应的 POST 值
     
  5. 单击浏览器中的 "Report" 按钮,然后在“HTTP 监视器”窗口中选择第二个 POST 事件。

    返回到浏览器,然后单击该页中第二个表单的 "Report" 按钮。现在,当您在“HTTP 监视器”窗口中选择第二个 POST 事件时,会看到与第二个表单对应的名称-值对。

    图 6:与该页的 Form2 对应的 POST 值
    图 6:与该页的 Form2 对应的 POST 值