When I try to run the struts-example in Tomcat 4.0
(jre 1.3.1, NT 4, SP6) I get the infamous
Missing message for key index.title

I noticed tho, that the logs have an earlier exception
trying to load /WEB-INF/struts-config.xml:

2001-11-30 12:45:39 action: Initializing configuration from resource path
/WEB-INF/struts-config.xml
2001-11-30 12:45:39 StandardWrapper[/struts-example:action]: Marking servlet
action as unavailable
2001-11-30 12:45:39 StandardContext[/struts-example]: Servlet
/struts-example threw load() exception
javax.servlet.UnavailableException: Missing configuration resource for path
/WEB-INF/struts-config.xml
        at
org.apache.struts.action.ActionServlet.initMapping(ActionServlet.java:1316)
        at org.apache.struts.action.ActionServlet.init(ActionServlet.java:465)
  ...

The error is coming in ActionServlet.initMapping on the lines:
        InputStream input = getServletContext().getResourceAsStream(config);
        if (input == null)
            throw new UnavailableException
                (internal.getMessage("configMissing", config));
Changing the first line to
        String path = getServletContext().getRealPath(config);
        input = new java.io.FileInputStream(path);
throws a security exception!
(it doesn't seem right that getServletContext().getResourceAsStream(config)
swallows this!)

I have security on and it isn't allowing file access!

Unfortunately, I can't see a "proper" fix for this.
It should be possible to fix it by granting
permission in catalina.policy, but the spec
to give struts.jar permission, e.g.:
  grant codeBase
"file:${catalina.home}/webapps/struts-example/WEB-INF/lib/-" {
     permission java.security.AllPermission;
  };

doesn't work because of a Tomcat bug loading
libraries from /WEB-INF/lib.

Moving the lib to <tomcat>/common/lib also
seems to have problems with derived classes
in the /WEB-INF/classes classes.

HOWEVER, the tomcat bug can be worked around
by exploding struts.jar
into your /WEB-INF/classes directory.

This may not be everyone's solution to the infamous
Missing message for key index.title
(see post "Missing message for key index.title - general comments").

Frank Lawlor
Athens Group, Inc.
(512) 345-0600 x151
Athens Group, an employee-owned consulting firm integrating technology
strategy and software solutions.




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

Reply via email to