On 19/7/09 05:13, Lucas Vickers wrote:
For what it's worth.

Every now and then tomcat throws that exception again.
I then shut down tomcat, touch the .policy file, start tomcat, and it works.

Are you using a repackaged Tomcat or have you downloaded and installed it yourself?

How, exactly, are you starting and stopping it?

The permissions below shouldn't need setting, even if you're running a SecurityManager. Not my area of expertise, but if this is the fix, something else, somewhere, is horribly wrong.

Don't forget to check that you're not ending up with a servlet-api.jar (or something similar, with the contained classes) in your webapp/WEB-INF/lib.

Ending up with javax.servlet.* classes actually inside your webapp will cause all manner of fail conditions.

p


On Sat, Jul 18, 2009 at 9:29 PM, Lucas Vickers<lucasvick...@gmail.com>wrote:

// ========== WEB APPLICATION PERMISSIONS
=====================================


// These permissions are granted by default to all web applications
// In addition, a web application will be given a read FilePermission
// and JndiPermission for all files and directories in its document root.
grant {
...

     // Needed for TABS
     permission java.util.PropertyPermission "org.apache.tomcat.dbcp.*",
"read";
     permission java.util.PropertyPermission "javax.servlet.*", "read";
     permission java.util.PropertyPermission "javax.servlet.http.*", "read";


was added.  I tested by commenting out and then uncommenting.  Works when
it's not commented out.


I run using "catalina.sh start"

if commented out, I get:


HTTP Status 500 -
------------------------------

*type* Exception report

*message*

*description* *The server encountered an internal error () that prevented
it from fulfilling this request.*

*exception*

javax.servlet.ServletException: Error allocating a servlet instance
        
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)

        
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
        
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)

        java.lang.Thread.run(Thread.java:619)

*root cause*

java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet
        java.lang.ClassLoader.defineClass1(Native Method)
        java.lang.ClassLoader.defineClass(ClassLoader.java:621)

        java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
        java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
        java.net.URLClassLoader.access$000(URLClassLoader.java:56)
        java.net.URLClassLoader$1.run(URLClassLoader.java:195)

        java.security.AccessController.doPrivileged(Native Method)
        java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

        java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1302)
        
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)

        
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)

        
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
        java.lang.Thread.run(Thread.java:619)

*root cause*

java.lang.ClassNotFoundException: javax.servlet.http.HttpServlet
        java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        java.security.AccessController.doPrivileged(Native Method)
        java.net.URLClassLoader.findClass(URLClassLoader.java:188)

        java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)

        java.lang.ClassLoader.defineClass1(Native Method)
        java.lang.ClassLoader.defineClass(ClassLoader.java:621)
        java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
        java.net.URLClassLoader.defineClass(URLClassLoader.java:260)

        java.net.URLClassLoader.access$000(URLClassLoader.java:56)
        java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        java.security.AccessController.doPrivileged(Native Method)
        java.net.URLClassLoader.findClass(URLClassLoader.java:188)

        java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1302)

        
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
        
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)

        
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
        
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)

        java.lang.Thread.run(Thread.java:619)

*note* *The full stack trace of the root cause is available in the Apache
Tomcat/6.0.20 logs.*
------------------------------
Apache Tomcat/6.0.20


On Sat, Jul 18, 2009 at 9:19 PM, Caldarale, Charles R<
chuck.caldar...@unisys.com>  wrote:

From: Lucas Vickers [mailto:lucasvick...@gmail.com]
Subject: Re: Tomcat 6 database pooling causes HttpServlet class not
found exception

Well I can confirm that adding the classes to catalina.policy
even when i am not explicitly running with -security , does fix the
issue
What exactly did you change in catalina.policy?

What happens if you undo those changes (and only those changes) now?

  - 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 unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org





---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to