Subject: How to deploy Struts-using app to Tomcat 4 from Forte?
From: "Jeff" <[EMAIL PROTECTED]>
 ===
I've just made the rather cruel discovery that getting web applications that
use Struts to work on a real web server running Tomcat 4 (as opposed to
Forte's built in Tomcat 3.2) isn't quite as plug-and-play as I've gotten
used to (and spoiled by).

I exported a web app (that works fine in Forte) to a .war file
(adminapp.war), uploaded it to the server's webapps directory
(/usr/local/tomcat/webapps), installed it using Tomcat's "manager" servlet,
and went to the app's root (http://host.domain.com:8080/adminapp). The page,
index.html loaded fine, but I did make one disturbing observation... I'd
forgotten that trying to call the app directly would require prepending
/adminapp (the name of the warfile from which it was deployed) to the url,
so the link to the main menu (/admin/menu.do) became /admapp/admin/menu.do

Uh oh. I guess I'm going to have to set it up with AJP and drag Apache into
to it after all, even if it's just an experiment (as opposed to leaving
Apache ignorant of its existence and just going straight to Tomcat at port
8080). But wait, it gets worse...

The link to /admin/menu.do didn't work (I didn't expect it to), but neither
did a call to /adminapp/admin/menu.do.

It threw an Apache Tomcat 4.01/ 404 -- The requested resource
(/adminapp/admin/menu.do) is not available

The big question is, did it fail because Tomcat failed to associate *.do
with the Struts action servlet, or did it fail because Struts's
ActionServlet saw the path as /adminapp/admin/menu instead of the value from
struts-config.xml (/admin/menu). Do Struts config errors just show up in
Tomcat 4 as being indistinguishable from any other kind of Tomcat error
(like 404), or does Struts throw up error pages of its own to make it clear
that ActionServlet loaded fine, but gave up because it didn't know what it
was supposed to do?

Does anyone have any tips to make the deployment of a Struts-using app
developed entirely within Forte on a standalone web server running Tomcat 4
and Apache simple?

Also, I made another disturbing realization... if it IS possible to
autodeploy Struts-using apps via Forte-generated .warfile after all (and I
just missed some minor detail), what happens if TWO such apps get deployed
via .warfile into the same running instance of Tomcat?

Supposing the two apps deploy into the "first" and "second" subdirectories
of Tomcat's webapps directory, does Tomcat map "/first/*.do" to one instance
of ActionServlet that uses /first/WEB-INF/struts-config.xml as its config
file, and map "/second/*.do" to another instance of ActionServlet that uses
/second/WEB-INF/struts-config.xml as ITS config file? Or will the two simply
clobber each other?

If two or more Struts-using apps know nothing about each other and have
their own struts-config.xml files, do they simply HAVE to be launched in
separate instances of Tomcat?



--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to