|
Reloading applications
You'll remember that the
Tom1 application was defined in the
server.xml file with a
reloadable attribute. This means that whenever Tomcat discovers a changed
file in
WEB-INF/classes or
WEB-INF/lib it'll reload the application. This is necessary in order for the
changed file to have an effect. Be prepared to wait a few seconds before the
reload actually happens. Checking for changed files naturally takes some
resources from the web server, so it should only be used in a development
environment.
The reload can be seen in Eclipse's console window. Here I've added an
exclamation mark to "Hello World", and saved the servlet:

The highlighted lines show that the reload process has taken place.
It's also possible to do a manual reload by right-clicking on the project,
selecting "Tomcat project/Reload this context":

This kind of reload is the same as the one the Tomcat Manager can do for you
with this URL:
http://localhost:8080/manager/reload?path=/Tom1
Whether or not a project is reloadable may be set in project properties. Right
click, select Tomcat:

Adding Struts to the environment
Struts is a J2EE servlet framework, and hence needs the war-file directory
structure that a Tomcat project builds. It's therefore a fairly simple task to
build a Struts project. I assume that you have available a download of Struts
version 1.1. If not it's available from this address:
http://jakarta.apache .org/struts.
In the
webapps folder of the download you'll find several example applications.
Let's take
struts-blank, which is the simplest among them.
First we define a new Tomcat project, called
StrutsBlank by following the steps described previously. Then import the
struts-blank war-file:

Click Next. Browse to the directory that contains the war file and type
"*.war" in the File name field. Click "Open" to see all the
war files:

Select
struts-blank.war and click Open and Finish in the next box. This'll create a
complete Struts project including all necessary jar-files, tag libraries, and
configuration files. Only one thing needs to be changed:
struts-blank contains a Message Resource file called
application.properties. It's located in
WEB-INF/classes/resources, but also in
WEB-INF/src/java/resources. Since Eclipse knows that the Java source is
placed in the
WEB-INF/src directory and the classes in
WEB-INF/classes, it'll create a new
classes folder called
java/resources. As a consequence we now have
application.properties in three places:

What a mess. But the cure is simple: right-click the project, select
"Properties" and change the project's source folder from
WEB-INF/src to
WEB-INF/src/java:

You do this be selecting "StrutsBlank/WEB-INF/src", then click
"Edit..." and then select the
java folder. Then "OK" twice. As a consequence you'll have to
place the source for new Java classes in the
java folder.
Try the
struts-blank application, but first reload Tomcat (so it'll recognize the
new Eclipse project) and then enter this URL in the browser:
http://localhost:8080/StrutsBlank
The browser will then show this page:

From the URL field you can see that Struts has processed the
Welcome action.
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|