Sun Java System Web Server 6.1 SP7 Programmer's Guide to Web Applications

Invoking Servlets

You can invoke a servlet by directly addressing it from a Web page with a URL or by calling it programmatically from an already running servlet, as described in the following sections:

Calling a Servlet with a URL

You can call servlets by using URLs embedded as links in HTML or JSP pages. The format of these URLs is as follows:


The following table describes each URL section. The left column lists the URL elements, and the right column lists descriptions of each URL element.

Table 2–1 URL Fields for Servlets within a Web Application

URL Element  



The IP address (or host name) and optional port number. 

To access the default web application for a virtual server, specify only this URL section. You do not need to specify the context_root or servlet_name unless you also wish to specify name-value parameters.


The context path without the leading “/” at which the web application is installed. 


Only needed if no servlet-mapping is defined in the web.xml file.


The servlet-name (or servlet-mapping if defined) as configured in the web.xml file.


Optional servlet name-value parameters. 

In this example, leMort is the host name, MortPages is the context root, and calcMortgage is the servlet name:

Calling a Servlet Programmatically

First, identify which servlet to call by specifying a URI. This is normally a path relative to the current application. For example, if your servlet is part of an application with a context root called OfficeFrontEnd, the URL to a servlet called ShowSupplies from a browser is as follows:


You can call this servlet programmatically from another servlet in one of two ways, as described below.

   RequestDispatcher dispatcher =
    dispatcher.include(request, response);


   RequestDispatcher dispatcher =
    dispatcher.forward(request, response);