1. 由 URL 调用 Servlet
这里有两种用 Servlet 的 URL 从浏览器中调用该 Servlet 的方法:
(1) 指定 Servlet 名称:当用 WebSphere应用服务器 管理器来将一个 Servlet 实例添加(注册)到服务器配置中时,必须指定"Servlet 名称"参数的值。例如,可以指定将 hi 作为 HelloWorldServlet 的 Servlet 名称。要调用该 Servlet,需打开 http://your.server.name/servlet/hi。也可以指定 Servlet 和类使用同一名称(HelloWorldServlet)。在这种情况下,将由 http://your.server.name/servlet/HelloWorldServlet 来调用 Servlet 的实例。
(2) 指定 Servlet 别名:用 WebSphere应用服务器 管理器来配置 Servlet 别名,该别名是用于调用 Servlet 的快捷 URL。快捷 URL 中不包括 Servlet 名称。
2. 在 <FORM 标记中指定 Servlet
可以在 <FORM 标记中调用 Servlet。HTML 格式使用户能在 Web 页面(即从浏览器)上输入数据,并向 Servlet 提交数据。例如:
<FORM METHOD="GET" ACTION="/servlet/myservlet"
<OL
<INPUT TYPE="radio" NAME="broadcast" VALUE="am"AM<BR
<INPUT TYPE="radio" NAME="broadcast" VALUE="fm"FM<BR
</OL
(用于放置文本输入区域的标记、按钮和其它的提示符。)
</FORM
ACTION 特性表明了用于调用 Servlet 的 URL。关于METHOD 的特性,如果用户输入的信息是通过 GET 方法向 Servlet 提交的,则 Servlet 必须优先使用 doGet() 方法。反之,如果用户输入的信息是通过 POST 方法向 Servlet 提交的,则 Servlet 必须优先使用 doPost() 方法。使用 GET 方法时,用户提供的信息是查询字符串表示的 URL 编码。无需对 URL 进行编码,因为这是由表单完成的。然后 URL 编码的查询字符串被附加到 Servlet URL 中,则整个 URL 提交完成。URL 编码的查询字符串将根据用户同可视部件之间的交互操作,将用户所选的值同可视部件的名称进行配对。例如,考虑前面的 HTML 代码段将用于显示按钮(标记为 AM 和 FM),如果用户选择 FM 按钮,则查询字符串将包含 name=value 的配对操作为broadcast=fm。因为在这种情况下,Servlet 将响应 HTTP 请求,因此 Servlet 应基于 HttpServlet 类。Servlet 应根据提交给它的查询字符串中的用户信息使用的 GET 或 POST 方法,而相应地使用 doGet() 或 doPost() 方法。
3.在 <SERVLET 标记中指定 Servlet
当使用 <SERVLET 标记来调用 Servlet 时,如同使用 <FORM 标记一样,无需创建一个完整的 HTML 页面。作为替代,Servlet 的输出仅是 HTML 页面的一部分,且被动态嵌入到原始 HTML 页面中的其它静态文本中。所有这些都发生在服务器上,且发送给用户的仅是结果 HTML 页面。建议在 Java 服务器页面(JSP)文件中使用 <SERVLET 标记。请参阅有关 JSP 技术
原始 HTML 页面中包含 <SERVLET 和 </SERVLET 标记。 Servlet 将在这两个标记中被调用,且 Servlet 的响应将覆盖这两个标记间的所有东西和标记本身。如果用户的浏览器可以看到 HTML 源文件,则用户将看不到 <SERVLET 和 </SERVLET 标记。要在 Domino Go Webserver 上使用该方法,请启用服务器上的服务器端包括功能。部分启用过程将会涉及到添加特殊文件类型 SHTML。当 Web 服务器接收到一个扩展名为 SHTML 的 Web 页面请求时,它将搜索 <SERVLET 和 </SERVLET 标记。对于所有支持的 Web 服务器,WebSphere应用服务器 将处理 SERVLET 标记间的所有信息。下列 HTML 代码段显示了如何使用该技术。
<SERVLET NAME="myservlet" CODE="myservlet.class" CODEBASE="url" initparm1="value"
<PARAM NAME="parm1" VALUE="value"
</SERVLET
使用 NAME 和 CODE 属性带来了使用上的灵活性。可以只使用其中一个属性,也可以同时使用两个属性。 NAME 属性指定了 Servlet 的名称(使用 WebSphere应用服务器 管理器配置的),或不带 .class 扩展名的 Servlet 类名。CODE 属性指定了 Servlet 类名。使用 WebSphere应用服务器 时,建议指定 NAME 和 CODE,或当 NAME 指定了 Servlet 名称时,仅指定 NAME。如果仅指定了 CODE,则会创建一个 NAME=CODE 的 Servlet 实例。装入的 Servlet 将假设 Servlet 名称与 NAME 属性中指定的名称匹配。然后,其它 SHTML 文件可以成功地使用 NAME 属性来指定 Servlet 的名称,并调用已装入的 Servlet。NAME 的值可以直接在要调用 Servlet 的 URL 中使用。如果 NAME 和 CODE 都存在,且 NAME 指定了一个现有 Servlet,则通常使用 NAME 中指定的 Servlet。由于 Servlet 创建了部分 HTML 文件,所以当创建 Servlet 时,将可能会使用 HttpServlet 的一个