tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason Beck" <jason.s.b...@gmail.com>
Subject Re: Context fails to load with Filter
Date Tue, 09 May 2006 17:21:08 GMT
Well, I feel silly now, but 10 seconds after I sent the email to the list, I
looked back at my Class and noticed that I had declared it Abstract.  Once I
removed the "abstract" declaration and recompiled it all works as expected.
Thanks for your time.

-Jason

On 5/9/06, Mike Sabroff <mike.sabroff@cygnusb2b.com> wrote:
>
> Disreguard my previous statement as I am obviously brain dead....sorry
>
> Mike Sabroff wrote:
> > If this is truly what your web.xml looks like, you are missing the end
> > tag '>' in the following line
> > <filter-class>com.affinity.tasc.filters.AuthenticateFilter
> >
> > Jason Beck wrote:
> >>
> >> Hello list,
> >>
> >> I have written my first filter and think that I have it right, but
> >> when I
> >> try to start Tomcat 5.5.9 after applying the necessary configuration
> >> changes
> >> to web.xml, the Context that the Filter is in fails to start.   Perhaps
> >> someone can tell me what I may have done wrong.
> >>
> >> <-- web.xml -->
> >>    <filter>
> >>       <filter-name>AuthenticateFilter</filter-name>
> >>       <filter-class>com.affinity.tasc.filters.AuthenticateFilter
> >> </filter-class>
> >>    </filter>
> >>    <filter-mapping>
> >>       <filter-name>AuthenticateFilter</filter-name>
> >>       <servlet-name>Index</servlet-name>
> >>    </filter-mapping>
> >>
> >>    <servlet>
> >>       <servlet-name>Index</servlet-name>
> >>       <servlet-class>com.affinity.tasc.core.Index</servlet-class>
> >>    </servlet>
> >>    <servlet-mapping>
> >>       <servlet-name>Index</servlet-name>
> >>       <url-pattern>/Index</url-pattern>
> >>    </servlet-mapping>
> >>
> >> <-- end web.xml -->
> >>
> >> <-- Filter code -->
> >>
> >> package com.affinity.tasc.filters;
> >>
> >> import java.io.IOException;
> >> import javax.servlet.*;
> >> import javax.servlet.http.*;
> >> import com.affinity.tasc.beans.SiteUserBean;
> >>
> >> public abstract class AuthenticateFilter implements Filter {
> >>
> >>         private FilterConfig fc;
> >>
> >>         public void doFilter(ServletRequest req, ServletResponse res,
> >> FilterChain chain)
> >>                 throws IOException, ServletException {
> >>
> >>                 /* Make sure we are dealing with HTTP */
> >>                 if (req instanceof HttpServletRequest) {
> >>                         HttpServletRequest request =
> >> (HttpServletRequest)req;
> >>                         HttpServletResponse response =
> >> (HttpServletResponse)res;
> >>
> >>                         HttpSession session = request.getSession
> (false);
> >>
> >>                         if
> >> (request.getParameter("Authenticate").equals("1"))
> >> {
> >>
> >>                                 try {
> >>                                         SiteUserBean user = new
> >> SiteUserBean();
> >>                                         user.setUsername(
> >> request.getParameter("username"));
> >>                                         user.setPassword(
> >> request.getParameter("password"));
> >>
> >>                                         int authed =
> >> user.getUserAuthed();
> >>
> >>                                         /* Successful authentication */
> >>                                         if (authed > 0) {
> >>
> >> session.setAttribute("user",
> >> user);
> >>                                         }
> >>
> >>                                         session.setAttribute("authed",
> >> authed);
> >>
> >>                                 } catch (NullPointerException nx) {
> >>                                         nx.printStackTrace();
> >>                                 } catch (Exception ex) {
> >>                                         ex.printStackTrace();
> >>                                 }
> >>                         }
> >>                 }
> >>
> >>                 /* Continue filtering */
> >>                 chain.doFilter(req, res);
> >>         }
> >>
> >>         public void init(FilterConfig filterConfig) throws
> >> ServletException
> >> {
> >>                 this.fc = filterConfig;
> >>         }
> >>
> >>         public void destroy() {
> >>                 this.fc = null;
> >>         }
> >> }
> >>
> >> <-- end filter code -->
> >>
> >> Here is the output from catalina.out when I try to start tomcat with
> >> this
> >> filter installed...
> >>
> >> May 9, 2006 11:46:31 AM org.apache.coyote.http11.Http11Protocol init
> >> INFO: Initializing Coyote HTTP/1.1 on http-8080
> >> May 9, 2006 11:46:31 AM org.apache.catalina.startup.Catalina load
> >> INFO: Initialization processed in 1270 ms
> >> May 9, 2006 11:46:32 AM org.apache.catalina.core.StandardService start
> >> INFO: Starting service Catalina
> >> May 9, 2006 11:46:32 AM org.apache.catalina.core.StandardEngine start
> >> INFO: Starting Servlet Engine: Apache Tomcat/5.5.9
> >> May 9, 2006 11:46:32 AM org.apache.catalina.core.StandardHost start
> >> INFO: XML validation disabled
> >> May 9, 2006 11:46:32 AM org.apache.catalina.core.StandardContext
> >> filterStart
> >> SEVERE: Exception starting filter AuthenticateFilter
> >> java.lang.InstantiationException
> >>         at
> >> sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(
> >> InstantiationExceptionConstructorAccessorImpl.java:30)
> >>         at
> >> java.lang.reflect.Constructor.newInstance(Constructor.java:494)
> >>         at java.lang.Class.newInstance0(Class.java:350)
> >>         at java.lang.Class.newInstance(Class.java:303)
> >>         at org.apache.catalina.core.ApplicationFilterConfig.getFilter(
> >> ApplicationFilterConfig.java:212)
> >>         at
> >> org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(
> >> ApplicationFilterConfig.java:308)
> >>         at org.apache.catalina.core.ApplicationFilterConfig.<init>(
> >> ApplicationFilterConfig.java:79)
> >>         at org.apache.catalina.core.StandardContext.filterStart(
> >> StandardContext.java:3540)
> >>         at org.apache.catalina.core.StandardContext.start(
> >> StandardContext.java:4110)
> >>         at
> >> org.apache.catalina.core.ContainerBase.start(ContainerBase.java
> >> :1012)
> >>         at org.apache.catalina.core.StandardHost.start(
> StandardHost.java
> >> :718)
> >>         at
> >> org.apache.catalina.core.ContainerBase.start(ContainerBase.java
> >> :1012)
> >>         at
> >> org.apache.catalina.core.StandardEngine.start(StandardEngine.java
> >> :442)
> >>         at org.apache.catalina.core.StandardService.start(
> >> StandardService.java:450)
> >>         at
> >> org.apache.catalina.core.StandardServer.start(StandardServer.java
> >> :683)
> >>         at org.apache.catalina.startup.Catalina.start(Catalina.java
> :537)
> >>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >>         at sun.reflect.NativeMethodAccessorImpl.invoke(
> >> NativeMethodAccessorImpl.java:39)
> >>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> >> DelegatingMethodAccessorImpl.java:25)
> >>         at java.lang.reflect.Method.invoke(Method.java:585)
> >>         at
> >> org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271)
> >>         at
> >> org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)
> >> May 9, 2006 11:46:32 AM org.apache.catalina.core.StandardContext start
> >> SEVERE: Error filterStart
> >> May 9, 2006 11:46:32 AM org.apache.catalina.core.StandardContext start
> >> SEVERE: Context [/TASC] startup failed due to previous errors
> >> May 9, 2006 11:46:33 AM org.apache.catalina.core.ApplicationContext log
> >> INFO: org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: [
> >> org.apache.webapp.balancer.RuleChain: [
> >> org.apache.webapp.balancer.rules.URLStringMatchRule: Target string:
> >> News /
> >> Redirect URL: http://www.cnn.com], [
> >> org.apache.webapp.balancer.rules.RequestParameterRule: Target param
> >> name:
> >> paramName / Target param value: paramValue / Redirect URL:
> >> http://www.yahoo.com], [
> >> org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL:
> >> http://jakarta.apache.org]]
> >> May 9, 2006 11:46:33 AM
> >> org.apache.catalina.loader.WebappClassLoaderloadClass
> >> INFO: Illegal access: this web application instance has been stopped
> >> already.  Could not load org.apache.xerces.impl.dtd.DTDGrammar.  The
> >> eventual following stack trace is caused by an error thrown for
> >> debugging
> >> purposes as well as to attempt to terminate the thread which caused the
> >> illegal access, and has no functional impact.
> >> May 9, 2006 11:46:33 AM
> >> org.apache.commons.modeler.RegistryregisterComponent
> >> SEVERE: Null component
> Catalina:type=JspMonitor,name=jsp,WebModule=//sa-
> >>
> test.valueweb.net/servlets-examples,J2EEApplication=none,J2EEServer=none
> >> May 9, 2006 11:46:33 AM
> >> org.apache.catalina.startup.HostConfigdeployDirectory
> >> SEVERE: Error deploying web application directory servlets-examples
> >> java.lang.ThreadDeath
> >>         at org.apache.catalina.loader.WebappClassLoader.loadClass(
> >> WebappClassLoader.java:1221)
> >>         at org.apache.catalina.loader.WebappClassLoader.loadClass(
> >> WebappClassLoader.java:1181)
> >>         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java
> :319)
> >>         at
> >> org.apache.xerces.impl.dtd.XMLDTDValidator.doctypeDecl(Unknown
> >> Source)
> >>         at
> >> org.apache.xerces.impl.XMLDocumentScannerImpl.scanDoctypeDecl(Unknown
> >> Source)
> >>         at
> >> org.apache.xerces.impl.XMLDocumentScannerImpl$PrologDispatcher.dispatch
> (Unknown
> >>
> >> Source)
> >>         at
> >> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument
> (Unknown
> >>
> >> Source)
> >>         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
> >> Source)
> >>         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
> >> Source)
> >>         at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
> >>         at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown
> >> Source)
> >>         at
> >> org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown
> >> Source)
> >>         at org.apache.tomcat.util.digester.Digester.parse(Digester.java
> >> :1561)
> >>         at
> >> org.apache.catalina.startup.ContextConfig.applicationWebConfig(
> >> ContextConfig.java:339)
> >>         at org.apache.catalina.startup.ContextConfig.start(
> >> ContextConfig.java:1031)
> >>         at org.apache.catalina.startup.ContextConfig.lifecycleEvent(
> >> ContextConfig.java:255)
> >>         at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent
> (
> >> LifecycleSupport.java:119)
> >>         at org.apache.catalina.core.StandardContext.start(
> >> StandardContext.java:4053)
> >>         at org.apache.catalina.core.ContainerBase.addChildInternal(
> >> ContainerBase.java:759)
> >>         at org.apache.catalina.core.ContainerBase.addChild(
> >> ContainerBase.java:739)
> >>         at
> >> org.apache.catalina.core.StandardHost.addChild(StandardHost.java
> >> :524)
> >>         at org.apache.catalina.startup.HostConfig.deployDirectory(
> >> HostConfig.java:894)
> >>         at org.apache.catalina.startup.HostConfig.deployDirectories(
> >> HostConfig.java:857)
> >>         at
> >> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java
> >> :475)
> >>         at org.apache.catalina.startup.HostConfig.start(HostConfig.java
> >> :1102)
> >>         at org.apache.catalina.startup.HostConfig.lifecycleEvent(
> >> HostConfig.java:311)
> >>         at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent
> (
> >> LifecycleSupport.java:119)
> >>         at
> >> org.apache.catalina.core.ContainerBase.start(ContainerBase.java
> >> :1020)
> >>         at org.apache.catalina.core.StandardHost.start(
> StandardHost.java
> >> :718)
> >>         at
> >> org.apache.catalina.core.ContainerBase.start(ContainerBase.java
> >> :1012)
> >>         at
> >> org.apache.catalina.core.StandardEngine.start(StandardEngine.java
> >> :442)
> >>         at org.apache.catalina.core.StandardService.start(
> >> StandardService.java:450)
> >>         at
> >> org.apache.catalina.core.StandardServer.start(StandardServer.java
> >> :683)
> >>         at org.apache.catalina.startup.Catalina.start(Catalina.java
> :537)
> >>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >>         at sun.reflect.NativeMethodAccessorImpl.invoke(
> >> NativeMethodAccessorImpl.java:39)
> >>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> >> DelegatingMethodAccessorImpl.java:25)
> >>         at java.lang.reflect.Method.invoke(Method.java:585)
> >>         at
> >> org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271)
> >>         at
> >> org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)
> >> May 9, 2006 11:46:33 AM org.apache.catalina.core.ApplicationContext log
> >> INFO: ContextListener: contextInitialized()
> >> May 9, 2006 11:46:33 AM org.apache.catalina.core.ApplicationContext log
> >> INFO: SessionListener: contextInitialized()
> >> May 9, 2006 11:46:34 AM org.apache.coyote.http11.Http11Protocol start
> >> INFO: Starting Coyote HTTP/1.1 on http-8080
> >> May 9, 2006 11:46:34 AM org.apache.jk.common.ChannelSocket init
> >> INFO: JK: ajp13 listening on /0.0.0.0:8009
> >> May 9, 2006 11:46:34 AM org.apache.jk.server.JkMain start
> >> INFO: Jk running ID=0 time=0/25  config=null
> >> May 9, 2006 11:46:34 AM org.apache.catalina.storeconfig.StoreLoaderload
> >> INFO: Find registry server-registry.xml at classpath resource
> >> May 9, 2006 11:46:34 AM org.apache.catalina.startup.Catalina start
> >> INFO: Server startup in 2637 ms
> >>
> >> thanks for your help.
> >>
> >
>
> --
> Mike Sabroff
> Web Services Developer
> mike.sabroff@cygnusb2b.com
> 920-568-8379
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message