> From: James Dekker [mailto:[EMAIL PROTECTED] 
> Subject: Helping setting appropriate prefix when using 
> ServletContext.getResourceAsStream()

Where to begin...

>         // String prefix = getServletContext().getRealPath("/");

You apparently already figured out the above was a bad idea, as is any
direct I/O request from inside a webapp.  When your webapp is deployed
as a .war, it has no access to the structure inside the .war file other
than via the classloader (which includes the getResourceAsStream() API).
Consequently, much of the rest of your code in the servlet is
inappropriate.

As far as where to place log4j.properties, the Tomcat doc states:

"You would place a similar log4j.properties file in your web
application's WEB-INF/classes folder, and log4j1.2.8.jar into
WEB-INF/lib. Then specify your package level logging."

See:
    http://tomcat.apache.org/tomcat-5.5-doc/logging.html
for more info.

>     <servlet-mapping>
>       <servlet-name>MySampleAppServlet</servlet-name>
>       <url-pattern>/app</url-pattern>
>     </servlet-mapping>

Note that the above will allow only the URI
http[s]://host[:port]/myapp/app to reach your servlet.  If you want all
requests for the myapp context to be processed by your servlet, change
the url-pattern to just "/" (without the quotes).

>            <param-value>WEB-INF\log4j.properties</param-value>
<snip>
>            <param-value>WEB-INF\attributes-config.xml</param-value>

Use forward slashes in the config files, even on Windows.

> Dec 21, 2006 4:53:16 PM
> org.apache.catalina.loader.WebappClassLoader.validateJarFile
> INFO: 
> validateJarFile(C:\DevTools\tomcat\jakarta-tomcat-5.5.9\webapps\
> affiliates\WEB-INF\lib\servlet-api.jar)
> - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending
> class: javax/servlet/Servlet.class

Don't put servlet-api.jar into any of your webapps, since Tomcat already
supplies it in common/lib.  No class should ever appear in more than one
place in any given branch of the classloader tree:

      Bootstrap
          |
       System
          |
       Common
      /      \
 Catalina   Shared
             /   \
        Webapp1  Webapp2 ... 

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you
received this in error, please contact the sender and delete the e-mail
and its attachments from all computers.

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to