Pace CS 396S - Creating a Self-Contained Web Application

Unformatted text preview:

Creating a Self-Contained Web ApplicationCreating a Self-Contained Web ApplicationWeb applications are not usually stored in the ROOT directory of Tomcat. Instead, they are contained in aseparate subfolder of webapps. A simple example would be for the preceding address book application. It can be stored in a folder called addresses with subfolders WEB-INF and classes.This application has a welcome page called index.html. If http://localhost:8080/addresses/ is typed into the browser, the deployment descriptor will send it to index.html. It also has an error page called notfound.html. It will come up when the server returns a 404 code. This code means that the requested page was not found.The index page can contain several forms. The action attributes in them now look likeaction="../addresses/display" andaction="../addresses/ find"This tells the server to start at webapps/addresses. Then it is to use web.xml to find the servlets for find and display. The index file follows.<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><title>E-Mail Form</title></head><body><h3>Click on the Send button to see all the address.</h3><form method = "get" action="../addresses/display"><p><input type= "submit" value="Send" /></p></form><h3>Enter a name to find an email address.</h3><form method = "get" action="../addresses/find">1<p><input type = "text" name = "name" value = "" size = 30 /> Name </p><p><input type= "submit" value="Send" /></p></form></body> </html>As you can see, we have dropped most of the URL in the action attribute and have just left the most important information. Now we have "../addresses/find", which gives a location relative to the location ofthe index page rather than a full URL.There are a number of useful things that can be put into the deployment descriptor. Many are optional, as you saw from the stripped down version above. We can start with a display name to be used by management tools.<display-name>Address Book Application</display-name>Next can come a description of the application. <description>An application that manages and address book.</description>Context parameters are sometimes useful. The example here just provides author information.<context-param><param-name>Author</param-name><param-value>Carol Wolf</param-value><description>Pace University</description></context-param>We have already seen how to include tags showing the servlet names and mappings.<servlet><servlet-name>DisplayAddresses</servlet-name><servlet-class>address_book.DisplayAddresses</servlet-class></servlet><servlet-mapping><servlet-name>DisplayAddresses</servlet-name><url-pattern>/display</url-pattern></servlet-mapping>An important feature is the welcome file list. This can show just one welcome page or several. If there ismore than one, the server tries to open them in order. So if the first is not available, it tries the second, and so on.<welcome-file-list><welcome-file>index.html</welcome-file></welcome-file-list>Another useful feature is a list of error pages. The only one shown here is the one for code 404, file not found.<error-page><error-code>404</error-code><location>/notfound.html</location></error-page>2XML files must be well-formed.1 That is they must adhere to all XML rules. They can also be valid. This means that the document follows the description in either a Document Type Definition (DTD) or a Schema. Earlier versions of Tomcat used DTDs, but version 5.5.7 uses Schema. The example of web.xml below uses the declaration for Tomcat’s Schema. In a future section we will see how to use the deployment descriptor for restricting access to some servlets.<?xml version="1.0" encoding="ISO-8859-1"?><web-app xmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"><!-- application display name --><display-name>Address Book Application</display-name><!-- application description --><description>An application that manages and address book.</description><!-- context parameters --><context-param><param-name>Author</param-name><param-value>Carol Wolf</param-value><description>Pace University</description></context-param><!-- servlet mappings start --><servlet><servlet-name>DisplayAddresses</servlet-name><servlet-class>address_book.DisplayAddresses</servlet-class></servlet><servlet-mapping><servlet-name>DisplayAddresses</servlet-name><url-pattern>/display</url-pattern></servlet-mapping><servlet><servlet-name>FindEmail</servlet-name><servlet-class>address_book.FindEmail</servlet-class></servlet><servlet-mapping><servlet-name>FindEmail</servlet-name><url-pattern>/find</url-pattern></servlet-mapping><!-- servlet mappings end -->1 See the document on Extensible Markup Language in http://csis.pace.edu/~wolf/documents/ for the definitions of well-formed and valid.3<!-- welcome file list --><welcome-file-list><welcome-file>index.html</welcome-file></welcome-file-list><!-- error page list --><error-page><error-code>404</error-code><location>/notfound.html</location></error-page></web-app>References1. Susan Anderson-Freed, Weaving a Website, Prentice Hall, 2002.2. H.M. Deitel, P.J. Deitel, and T.R. Nieto, Internet & World Wide Web, How to Program, 2nd Edition, Prentice Hall, 2002.3. Marty Hall & Larry Brown, Core Servlets and Java Server Pages, First Edition, Sun Microsystems Press/Prentice-Hall PTR Book, 2003.4. Elliotte Rusty Harold, Java Network Programming, O’Reilly & Associates, Inc., 2000.5. Karl Moss, Java Servlets Developer’s Guide, McGraw-Hill/Osborne, 2002.6. Dave Raggett , A History of HTML, Chapter 2, Addison Wesley Longman, 1998, http://www.w3.org/People/Raggett/book4/ch02.html.7. W3Schools Online Web Tutorials,


View Full Document
Download Creating a Self-Contained Web Application
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Creating a Self-Contained Web Application and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Creating a Self-Contained Web Application 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?