Application event listener

A class that implements one or more of the servlet event listener interfaces. It is instantiated and registered in the web application at deployment time. See also servlet event listener.


A reusable software component written to the JavaBeans specification. See also JavaBeans.


See web browser.


In the client-server model of communications, a process that requests the resources of a remote server. For instance, computation and storage space.

Composite View

A design pattern that creates an aggregate view from component views. Component views might include dynamic, modular portions of the page. Sometimes called a template. See also design pattern.


A mechanism used by servers to keep track of individual clients. It sends small amounts of data in the headers of HTTP requests and responses. The web resource sets an outgoing cookie in the header of the response. The client receiving the response stores the cookie until it expires. The client then sends it as part of any HTTP request to the server that the cookie comes from. The client can also send the cookie to the server specified in the cookie domain. The client also sends the cookie to requests to that server that matches the cookie's path, if a path was specified. Web sites remember a user ID between browser sessions using this technique, for example. See also HTTP session.

context root

A name that gets mapped to the document root of a web client. For example, if the web module's context root is /catalog, then the request URL might be http://host:8081/catalog/index.html.

custom tag

A tag created by a web application developer to provide additional Java features within a JSP page. See also JSP tag.


The process of installing software into an operational environment.

deployment descriptor

A file that describes deployment configuration information. In this book, deployment descriptor refers to a file, named web.xml, located in the web module's WEB-INF directory. The deployment descriptor provides the necessary configuration information to the web module's deployment environment, that is, the servlet container. This information includes requirements for external resources and security and environment parameters. It also includes other component-specific and application-specific parameters.

design pattern

An architectural solution to a recurring software design problem. Design patterns also consist of considered best practices for attending to the context and pressures surrounding the issue, and the outcomes and effects of the solution.


A design subpattern describing the control over which view the user sees. See also design pattern, Front Controller, View Mapper.

document root

The root URL of a web module. For example, if a web module's context root is /catalog, the document root might be http://host:8080/catalog.


(Enterprise JavaBeans) A component architecture for development and deployment of object-oriented, distributed, enterprise-level applications. Applications written using the Enterprise JavaBeans architecture are scalable, transactional, multi-user, and secure. See also JavaBeans and bean.


See servlet filter.


APIs that are intended to simplify the design and coding process. See also Struts and JSF.

Front Controller

A design pattern centralizing business logic for part of a web application in a single object handling incoming client requests. The client requests are for several different resources. The Front Controller might be responsible for activating Helpers and Delegates that perform business logic. Front Controllers can be used for managing model data, controlling page flow, and dispatching the request to the appropriate view. See also Helper, Dispatcher.


A design subpattern that encapsulates processing functions (or business rules) or data retrieval behavior. See also design pattern, Front Controller.


(Hypertext Transfer Protocol) An application protocol governing the exchange of files, on the World Wide Web. Examples of files would include text, images, sound, and video.

HTTP Monitor

An IDE module for the collection of information concerning the execution of JSP files and servlets in the servlet engine. For each request associated with a JSP file or servlet, the monitor records data. The data includes the incoming request, incoming and outgoing cookies, session information maintained by the server, and more.

HTTP response

A message generated in the servlet container that includes cookies, headers, and output that eventually go to the client browser. It is a response as specified by an HTTP method. Often referred to as response in this book. The response is encapsulated in an HTTPResponse object in the servlet container.

HTTP request

A message created in the client browser that includes attributes and cookies from the client browser. It is a request as specified by a GET or a POST method. Often referred to as a request in this book. The request is encapsulated in an HTTPRequest object in the servlet container.

HTTP session

A Servlet API construct representing a conversation spanning multiple requests between a client browser and a web server.


(Hypertext Transfer Protocol Secure Sockets) A secure HTTP protocol used widely in Internet and intranet environments. HTTPS is for exchanging secure information between clients and servers. It provides a secure connection through which applets or beans can be downloaded into the web browser. In addition, HTTPS enables these applets or beans to make secure connections to the server.


(Java 2 Platform, Enterprise Edition) The edition of the Java 2 platform that combines a number of technologies in one architecture. Examples of technologies are enterprise beans, JSP pages, and XML. J2EE provides a comprehensive application programming model and compatibility test suite for building enterprise-class server-side applications. See also EJB, JSP technology, servlet.

J2EE application

An application that consists of J2EE components that run on the J2EE platform. Examples of J2EE components are application clients, applets, HTML pages, servlets, and enterprise beans. J2EE applications are typically designed for distribution across multiple computing tiers. For deployment, a J2EE application is packaged in an .ear (Enterprise Archive) file. See also J2EE, J2EE web tier.

J2EE web tier

One of three tiers in the J2EE architecture. The web tier creates presentation logic. It accepts responses from presentation clients such as HTML and web clients. Then it provides the appropriate response. This tier is to be differentiated from the client and business tiers.


(Java Archive file) A platform-independent file format that bundles classes, images, and other files into one compressed file, speeding up download time.


An architecture that defines a portable, platform-independent reusable component model. Beans are the basic unit in this model. See also EJB.


(JavaServer Faces) A proposal to define an architecture and APIs that simplify the process of building J2EE web tier applications. See also J2EE web tier.


(JavaServer Pagestrademark Standard Tag Library). A standard tag library that encapsulates core features common to many JSP pages as simple tags. JSTL contains support for common, structural tasks. Support includes iteration and conditionals, tags for manipulating XML documents, internationalization tags, and SQL tags.


(Java Database Connectivity) An industry standard for database-independent connectivity between the Java platform and a wide range of databases. The JDBC interface provides a call-level API for SQL-based database access.

JSP action

A JSP object that can act on implicit objects and other server-side objects. It also can define new scripting variables. Actions follow the XML syntax for elements with a start tag, a body, and an end tag. If the body is empty, it can also use the empty tag syntax. The tag must use a prefix. An action is the abstract term that is implemented by a tag.

A standard action is defined in the JSP specification. It is always available to a JSP file without being imported.

A custom action is described in a portable manner by a TLD. It is a collection of Java classes imported into a JSP page by a taglib directive.

JSP element

A part of the JSP page recognized by the JSP translator. An element can be a JSP action, a directive, or a JSP scripting element.

JSP expression

A scripting element containing a valid scripting language expression. It is evaluated, converted to a String, and placed into the implicit out object.

JSP page

A text-based web component that is dynamically translated into a servlet by the servlet container before execution. See also JSP file, servlet.

JSP file

The physical representation of JSP page code. See JSP page.

JSP scripting element

A JSP declaration, scriptlet, or expression whose tag syntax is defined by the JSP specification. Its content is written according to the scripting language used in the JSP page.

JSP tag

A tag defined by the JSP Specification. It is a text element within a document. The document represents format information or processing logic contained in an external library. It is distinguishable as markup, instead of as data, because it is delineated in XML format. By using tags, you can avoid including Java code in the JSP page. See also JSP tag library.

JSP tag library

A collection of tag handlers (Java classes) that encapsulates dynamic content or processes. They can then called through a tag in a JSP page. JSP tag libraries are part of the JSP specification and can be translated by any JSP engine. See also JSP tag, custom tag.

JSP technology

(JavaServer Pagestrademark) Extensible web technology that uses template data, custom elements, scripting languages, and server-side Java objects to return dynamic content to a client. Typically, the content consists of HTML or XML elements. In many cases, the client is a web browser. JSP technology is an extension of servlet technology. See also JSP pages, servlets.


See application event listener and servlet event listener.

model object

Java objects that encapsulate application data inside a web application.


(Multipurpose Internet Mail Extensions) An Internet standard for sending and receiving non-ASCII email attachments, (including video, audio, and graphics. Web browsers also use MIME types to determine how to display or interpret files that are not formatted in HTML.


Definition of an object's availability in relationship to other objects in the web application. The Servlet and JSP specifications define four scopes: ServletContext (application), Session, Page (JSP page only), and Request.

scripting element

See JSP scripting element.

scripting variable

A value that a tag exports to a JSP page. This value can then be used in an expression or scriptlet.


A scripting element that enables you to enter any piece of valid Java code into a JSP page. Variables and methods declared in a declaration element are available to other scriptlets in the same JSP page. The use of scriptlets in JSP pages is not recommended. Instead, encapsulate the code in a tag or a bean.


A network device that manages resources and supplies services to a client. A J2EE server provides a web or EJB container. See also client, web server.

server plugin

A module of the IDE sometimes provided by a web server vendor. The plugin facilitates the use of the IDE in the configuration of applications and their deployment to the server.


Any class that implements javax.servlet, typically subclasses of javax.servlet.http.HttpServlet. Servlets extend the features of web servers and web-enabled application servers. They execute within a servlet container. Servlets are typically used as Front Controllers and to generate simple HTTP responses that are not complex. See also Front Controller and HTTP response.

servlet container

A container providing network services. Here requests and responses are sent, requests decoded, and responses formatted. All servlet containers support HTTP as a protocol for requests and responses. They might also support additional request-response protocols such as HTTPS. In this case, requests are handled by servlets.

A distributed servlet container can run a web application that is tagged as distributable. It executes across multiple Java virtual machines running on the same or on different hosts. In this situation, the scope of objects in the web application is extended. Synchronization overhead occurs because the session data must be shared among the different servers.

servlet context

An object containing a servlet's view of the web application within which the servlet is running. The servlet context can be used to manage the resources of a web module. Using the context, a servlet can perform a number of tasks. It can log events and obtain URL references to resources, and set and store attributes other servlets in the context can use.

servlet event listener

A class that supports event notifications for state changes in the servlet context and HTTP session objects. See also application event listener.

servlet filter

Reusable code that inspects and modifies HTTPRequest and HTTPResponse objects as the servlet receives the HTTP request. (Often called a filter in this book)

servlet mapping

The definition of an association between a URL pattern and a servlet. It is used to map requests to servlets through examining the URI of the incoming request. See servlet, URI, HTTP request.


See HTTP session.


An open-source framework from the Jakarta Project. Struts is designed for building web applications with the Java Servlet API and JSP technology. The Struts package supplies an integrated set of reusable components. They include a controller servlet, JSP custom tag libraries, and utility classes. These components for building user interfaces can be applied to any web-based connection. See frameworks.

Sun ONE Application Framework

A J2EE web application framework from Sun Microsystems that is geared towards enterprise web application development. The framework combines concepts such as display fields, application events, component hierarchies, and a page-centric development approach. Also known as JATO.


See JSP tag.

tag attribute

A parameter associated with a tag that denotes or provides a value used during tag processing.


(tag library descriptor). An XML file that describes a tag library. A JSP container uses the TLD file to interpret pages that include taglib directives referring to that tag library. The TLD file contains documentation on the library as a whole. It also contains documentation on its individual tags, version information on the JSP container and on the tag library. The TLD has information about each of the actions defined in the tag library. In the IDE, the TLD file is generated when a custom tag library is created.


(Uniform Resource Identifier) The property used when a servlet is executed (or debugged) to build the URL to be displayed in browser. URIs to web applications typically have the following syntax: http://server:port/context path/
local resource identifier ? query string

value object

An intermediate representation of the model used, for example by a a Helper. See also model object, Helper.

View Creation Helper

A tag handler class used to display data in JSP pages in different design patterns.

View Mapper

An object that can determine the processing of the request when resources differ based on the type of client.


(Web Application Archive) A JAR file format similar to the package used for Java class libraries. A WAR file format is installed or deployed into a servlet container. In addition to web components, a WAR usually contains other files, called web resources. They include server-side utility classes (database beans, shopping carts, and so forth). Web resources include static web content (HTML, image, and sound files), and client-side classes (applets and utility classes). A web application can run from a WAR file or from an unpacked directory organized in the same format as a WAR. See also JAR.

web application

A term sometimes used interchangeably in this book with web module.At other times, it is used to denote everything on a set of servers. Web application generally signifies a program combining all the features users need to perform a specific group of tasks on a dynamic web page with a web browser. Examples of web applications might include an electronic shopping mall or an auction site. A web application is based on a client-server model. In this model, the client is the web browser and the server is the feature set that runs remotely. A web application's set of components can include servlets, JSP pages, and utility classes. In addition, it includes static documents, client-side applets, Java classes, and some meta information tying all the elements together. See also web module, web server.

web browser

An application that enables users to view, navigate through, and interact with HTML documents and applets. A web browser is also called a browser, which is sometimes referred to as the client. See also client, web server.

web container

See servlet container.

web component

Components defined by the Servlet and JSP specifications. Web components can only be executed if part of a web module directory or archive deployed onto a web server. See also JSP page, servlet.

web context

The identified path to a web application's components. The path permits access to multiple web modules on a single server. See also servlet context.

web client

Typically the web browser (for instance, Netscape). However, it could be a specialized application that sends HTTP requests and interprets HTTP responses. See also web browser.

web module

The smallest deployable and usable unit of web resources in a J2EE application. Web modules can be packaged and deployed as web archive (WAR) files. See also web module group, WAR files, and web application.

web module group

In the Sun ONE Studio 4 IDE, several web modules deployed together. See also web module, web application, WAR files and web application.

web server

Software that supplies services to access the Internet, an intranet, or an extranet. A web server hosts web sites and provides support for HTTP and other protocols. It executes server-side programs such as CGI scripts or servlets that perform specified functions. In the J2EE architecture, a web server provides services to a web container. For instance, a web container usually depends on a web server for HTTP message handling. The J2EE architecture assumes that a web container is hosted by a web server from the same vendor. Hence, it does not specify the contract between these two entities. A web server can host one or more web containers.


(Extensible Markup Language) A markup language that enables the definition of the necessary tags to identify the data and text in XML documents. J2EE deployment descriptors are expressed in XML.