Recipe1.2.Deploying the Struts Example Application


Recipe 1.2. Deploying the Struts Example Application

Problem

You want to deploy the Struts MailReader example application to Tomcat.

Solution

If you don't already have the Tomcat running on your box, you can download it from http://jakarta.apache.org/tomcat. This recipe assumes that you are using Tomcat 5. Set environment variables for Struts and Tomcat, copy the Struts example WAR file to Tomcat, and start Tomcat.

If you are using Struts 1.2, the WAR file for the Struts example application has been changed from struts-example.war to struts-mailreader.war.


The commands for a Windows machine are shown here:

C:\>set STRUTS_HOME=c:\jakarta-struts-1.1 C:\>set CATALINA_HOME=c:\tomcat5 C:\>copy %STRUTS_HOME%\webapps\struts-example.war %CATALINA_HOME%\webapps         1 file(s) copied. C:\>%CATALINA_HOME%\bin\startup Using CATALINA_BASE:   c:\tomcat5 Using CATALINA_HOME:   c:\tomcat5 Using CATALINA_TMPDIR: c:\tomcat5\temp Using JAVA_HOME:       c:\j2sdk1.4.2

The last command shown, %CATALINA_HOME%\bin\startup, starts Tomcat. On Windows, you will see Tomcat startup in a separate terminal window. The output in this terminal window displays information about the applications deployed and the state of Tomcat:

Jun 22, 2004 12:23:34 AM org.apache.catalina.core.StandardHostDeployer install INFO: Installing web application at context path /struts-example from URL file:c :/tomcat5/webapps/struts-example Jun 22, 2004 12:23:38 AM org.apache.struts.util.PropertyMessageResources <init> INFO: Initializing, config='org.apache.struts.util.LocalStrings', returnNull=tru e Jun 22, 2004 12:23:38 AM org.apache.struts.util.PropertyMessageResources <init> INFO: Initializing, config='org.apache.struts.action.ActionResources', returnNul l=true Jun 22, 2004 12:23:40 AM org.apache.struts.util.PropertyMessageResources <init> INFO: Initializing, config='org.apache.struts.webapp.example.AlternateApplicatio nResources', returnNull=true Jun 22, 2004 12:23:40 AM org.apache.struts.util.PropertyMessageResources <init> INFO: Initializing, config='org.apache.struts.webapp.example.ApplicationResource s', returnNull=true Jun 22, 2004 12:23:40 AM org.apache.struts.webapp.example.memory.MemoryDatabaseP lugIn init INFO: Initializing memory database plug in from '/WEB-INF/database.xml' Jun 22, 2004 12:23:40 AM org.apache.struts.validator.ValidatorPlugIn initResourc es INFO: Loading validation rules file from '/WEB-INF/validator-rules.xml' Jun 22, 2004 12:23:41 AM org.apache.struts.validator.ValidatorPlugIn initResourc es INFO: Loading validation rules file from '/WEB-INF/validation.xml' ... Jun 22, 2004 12:23:44 AM org.apache.coyote.http11.Http11Protocol start INFO: Starting Coyote HTTP/1.1 on port 80 Jun 22, 2004 12:23:45 AM org.apache.jk.common.ChannelSocket init INFO: JK2: ajp13 listening on /0.0.0.0:8009 Jun 22, 2004 12:23:45 AM org.apache.jk.server.JkMain start INFO: Jk running ID=0 time=20/50  config=c:\tomcat5\conf\jk2.properties Jun 22, 2004 12:23:45 AM org.apache.catalina.startup.Catalina start INFO: Server startup in 49852 ms

You can use this output to verify that the application deployed and that Tomcat successfully started and is running. In the output shown above, you can see that Tomcat deployed the struts-example.war file. In addition, the last line indicates that Tomcat is running and the length of time it took to start up.

On Unix/Linux, you would use similar commands:

$ export STRUTS_HOME=/usr/local/jakarta-struts-1.1 $ export CATALINA_HOME=/usr/local/tomcat5 $ cp $STRUTS_HOME/webapps/struts-example.war $CATALINA_HOME/webapps $ $CATALINA_HOME/bin/startup.sh Using CATALINA_BASE:   /usr/local/tomcat5 Using CATALINA_HOME:   /usr/local/tomcat5 Using CATALINA_TMPDIR: /usr/local/tomcat5/temp Using JAVA_HOME:       /usr/local/j2sdk1.4.2

Tomcat starts up as a background process. You can monitor the output from Tomcat using the following:

$ tail -f $CATALINA_HOME/logs/catalina.out

Other than the different operating system file paths, the output will be identical to the output on Windows shown previously.

Navigate your browser to http://localhost:8080/struts-example. You should see the page shown in Figure 1-1.

Figure 1-1. Struts example application


Discussion

Using and examining the struts-example web application is an excellent learning aid for Struts. Before you write your first Struts application, you should understand how the struts-example application works. The best way to do this is to deploy the application. Experiment with the interface and take the walking tour. You will want to follow along in the walking tour by using your text editor or IDE to view the source code.

You will need to download the Struts binary and source distributions to deploy the struts-example. The WAR files are included in the binary distribution. The source code is supplied in the source distribution.


In addition to the struts-example application, additional web applications demonstrate other Struts features as shown in Table 1-1.

Table 1-1. Struts 1.1 example applications

WAR file to deploy

Description

struts-blank.war

A boilerplate Struts application.

struts-documentation.war

Struts User's Guide and tag library reference documents.

struts-example.war

The seminal Struts Mail Reader example. Demonstrates most of the basic core features and functions provided by Struts.

struts-exercise-taglib.war

An application that exercises the functionality of the Struts tag libraries.

struts-upload.war

Shows how to use Struts support for file uploads.

struts-validator.war

Demonstrates the use of the Validator with Struts.

tiles-documentation.war

Includes Tiles documentation, sample layouts and tutorials.


Struts 1.2 reorganized the example applications. Table 1-2 lists the web applications contained in the Struts 1.2 /webapps directory.

Table 1-2. Struts 1.2 example applications

WAR file to deploy

Description

struts-blank.war

A boilerplate Struts application.

struts-documentation.war

Struts User's Guide and tag library reference documents.

struts-examples.war

Replaces the struts-exercise-taglib.war, struts-upload.war, and struts-validator.war. Combines the tag library, upload, and Validator examples into one application.

struts-mailreader.war

The seminal Struts Mail Reader example. Demonstrates most of the basic core features and functions provided by Struts.

tiles-documentation.war

Includes Tiles documentation, sample layouts and tutorials.


See Also

Recipe 1.1 discusses how to download Struts and the details different distributions that are available.



    Jakarta Struts Cookbook
    Jakarta Struts Cookbook
    ISBN: 059600771X
    EAN: 2147483647
    Year: 2005
    Pages: 200

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net