You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Bryan Basham <bb...@stillsecure.com> on 2007/02/02 19:10:22 UTC

Configuring JSF in the TOMCAT/conf/web.xml for all webapps

Hello,

I am developing a system in which every webapp deployed to Tomcat uses JSF.
So, I decided to move the common JSF configuration from each 
webapp/WEB-INF/web.xml
into the TOMCAT/conf/web.xml file.

At startup time everything looks fine.  Here's an example of the output 
I see for each webapp:
-------------------------
[02 Feb 2007 10:32:15,699]  INFO [main] (HostConfig.java:788) - 
Deploying web application archive admin.war
[02 Feb 2007 10:32:16,022]  INFO [main] (FacesConfigurator.java:151) - 
Reading standard config 
org/apache/myfaces/resource/standard-faces-config.xml
[02 Feb 2007 10:32:16,112]  INFO [main] (FacesConfigurator.java:397) - 
Reading config /WEB-INF/module-faces-config.xml
[02 Feb 2007 10:32:16,134]  INFO [main] (FacesConfigurator.java:411) - 
Reading config /WEB-INF/faces-config.xml
[02 Feb 2007 10:32:16,165]  INFO [main] (NamedNavigationHandler.java:48) 
- The Cobia navigation handler has been instantiated.
[02 Feb 2007 10:32:16,167]  INFO [main] (CobiaVariableResolver.java:59) 
- The Cobia variable resolver has been instantiated.
[02 Feb 2007 10:32:16,171]  INFO [main] 
(CrossContextViewHandler.java:57) - The Cobia cross-context ViewHandler 
has been instantiated.
[02 Feb 2007 10:32:16,230]  INFO [main] (HtmlRenderKitImpl.java:104) - 
Overwriting renderer with family = javax.faces.SelectOne rendererType = 
javax.faces.Radi
o renderer class = 
org.stillsecure.common.web.components.SelectOneRadioRenderer
[02 Feb 2007 10:32:16,231]  INFO [main] (HtmlRenderKitImpl.java:104) - 
Overwriting renderer with family = javax.faces.Form rendererType = 
javax.faces.Form renderer class = 
org.stillsecure.common.web.components.HtmlFormRenderer
[02 Feb 2007 10:32:16,237]  INFO [main] 
(StartupServletContextListener.java:99) - ServletContext 
'/usr/local/apache-tomcat/webapps/admin/' initialized.
[02 Feb 2007 10:32:16,237]  INFO [main] 
(StartupServletContextListener.java:140) - Serialization provider : 
class org.apache.myfaces.shared_impl.util.serial.DefaultSerialFactory
[02 Feb 2007 10:32:16,238]  INFO [main] (CobiaInitializer.java:66) - 
Initializing Cobia ServletContext
-------------------------

However, when the first URL to *.jsf occurs I get the following error 
message:
-------------------------
02 Feb 2007 10:33:04,953]  INFO [http-443-Processor25] 
(ApplicationContext.java:646) - No state saving method defined, assuming 
default server state saving
[02 Feb 2007 10:33:04,971]  WARN [http-443-Processor25] 
(JspViewHandlerImpl.java:394) - no faces servlet mappings found
[02 Feb 2007 10:33:07,757]  WARN [http-443-Processor25] 
(JspViewHandlerImpl.java:394) - no faces servlet mappings found
[02 Feb 2007 10:33:07,813]  INFO [http-443-Processor25] 
(MyfacesConfig.java:133) - No context init parameter 
'org.apache.myfaces.PRETTY_HTML' found, using default value true
[02 Feb 2007 10:33:07,815]  INFO [http-443-Processor25] 
(MyfacesConfig.java:133) - No context init parameter 
'org.apache.myfaces.ALLOW_JAVASCRIPT' found, using  default value true
[02 Feb 2007 10:33:07,818]  INFO [http-443-Processor25] 
(MyfacesConfig.java:119) - Tomahawk jar not available. Autoscrolling, 
DetectJavascript, AddResourceClass and CheckExtensionsFilter are 
disabled now.
[02 Feb 2007 10:33:12,544] ERROR [http-443-Processor24] 
(UIComponentTag.java:926) - Faces context not found. getResponseWriter 
will fail. Check if the FacesServlet has been initialized at all in your 
web.xml.
[02 Feb 2007 10:33:12,553] ERROR [http-443-Processor24] 
(StandardWrapperValve.java:253) - Servlet.service() for servlet jsp 
threw exception
java.lang.NullPointerException
        at 
javax.faces.webapp.UIComponentTag.setupResponseWriter(UIComponentTag.java:929)
        at 
javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:310)
        at 
org.apache.myfaces.taglib.core.ViewTag.doStartTag(ViewTag.java:70)
        at org.apache.jsp.login_jsp._jspx_meth_f_view_0(login_jsp.java:105)
        at org.apache.jsp.login_jsp._jspService(login_jsp.java:82)
        at 
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
        at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at 
org.stillsecure.cobia.web.user.AuthenticationFilter.doFilter(AuthenticationFilter.java:101)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at 
org.stillsecure.cobia.web.tomcat.SharedSessionRequestValve.invoke(SharedSessionRequestValve.java:97)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
        at 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
        at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:595)
-------------------------

If I move the JSF configuration back into each webapp-specific web.xml,
then it works fine.  Any ideas why this would happen?

Thanks,
Bryan


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


RE: Configuring JSF in the TOMCAT/conf/web.xml for all webapps

Posted by Tim Lucia <ti...@yahoo.com>.

> -----Original Message-----
> From: Bryan Basham [mailto:bbasham@stillsecure.com]
> Sent: Friday, February 02, 2007 3:52 PM
> To: Tomcat Users List
> Subject: Re: Configuring JSF in the TOMCAT/conf/web.xml for all webapps
> 
> Hello Tim,
> 
> OK, but if the JSF jar files are *only* in TOMCAT/common/lib/ directory
> and *never*
> in the WEBAPP/WEB-INF/lib/ directory?
 
It is likely something that they load.  When they are in WEB-INF/lib, that
something is loaded in the same class loader and is visible.  When the JSF
classes are loaded by the common loader, they cannot see things in your
individual web app.

Try here: http://tomcat.apache.org/tomcat-5.5-doc/class-loader-howto.html

Tim

> Thanks,
> Bryan
> 
> > This is almost certainly caused by the involvement of two different
> > classloaders.  For example, if you place a driver jar such as Oracle's
> > classes12.jar in both places, then you'll find you cannot cast from a
> > com.oracle...BlobXXX to a com.oracle...BlobXXX, as the class you can see
> > comes from the web-app class loader, but the blob you have came from
> > Tomcat's common class loader, from whence the connection came.  The
> class
> > names are the same, and it can be quite confusing trying to figure it
> out,
> > as the CastClassException doesn't indicate the loader, only the class
> name.
> >
> > Tim
> >
> >
> >
> >> -----Original Message-----
> >> From: Bryan Basham [mailto:bbasham@stillsecure.com]
> >> Sent: Friday, February 02, 2007 1:10 PM
> >> To: Tomcat Users List
> >> Subject: Configuring JSF in the TOMCAT/conf/web.xml for all webapps
> >>
> >> Hello,
> >>
> >> I am developing a system in which every webapp deployed to Tomcat uses
> >> JSF.
> >> So, I decided to move the common JSF configuration from each
> >> webapp/WEB-INF/web.xml
> >> into the TOMCAT/conf/web.xml file.
> >>
> >> At startup time everything looks fine.  Here's an example of the output
> >> I see for each webapp:
> >> -------------------------
> >> [02 Feb 2007 10:32:15,699]  INFO [main] (HostConfig.java:788) -
> >> Deploying web application archive admin.war
> >> [02 Feb 2007 10:32:16,022]  INFO [main] (FacesConfigurator.java:151) -
> >> Reading standard config
> >> org/apache/myfaces/resource/standard-faces-config.xml
> >> [02 Feb 2007 10:32:16,112]  INFO [main] (FacesConfigurator.java:397) -
> >> Reading config /WEB-INF/module-faces-config.xml
> >> [02 Feb 2007 10:32:16,134]  INFO [main] (FacesConfigurator.java:411) -
> >> Reading config /WEB-INF/faces-config.xml
> >> [02 Feb 2007 10:32:16,165]  INFO [main]
> (NamedNavigationHandler.java:48)
> >> - The Cobia navigation handler has been instantiated.
> >> [02 Feb 2007 10:32:16,167]  INFO [main] (CobiaVariableResolver.java:59)
> >> - The Cobia variable resolver has been instantiated.
> >> [02 Feb 2007 10:32:16,171]  INFO [main]
> >> (CrossContextViewHandler.java:57) - The Cobia cross-context ViewHandler
> >> has been instantiated.
> >> [02 Feb 2007 10:32:16,230]  INFO [main] (HtmlRenderKitImpl.java:104) -
> >> Overwriting renderer with family = javax.faces.SelectOne rendererType =
> >> javax.faces.Radi
> >> o renderer class =
> >> org.stillsecure.common.web.components.SelectOneRadioRenderer
> >> [02 Feb 2007 10:32:16,231]  INFO [main] (HtmlRenderKitImpl.java:104) -
> >> Overwriting renderer with family = javax.faces.Form rendererType =
> >> javax.faces.Form renderer class =
> >> org.stillsecure.common.web.components.HtmlFormRenderer
> >> [02 Feb 2007 10:32:16,237]  INFO [main]
> >> (StartupServletContextListener.java:99) - ServletContext
> >> '/usr/local/apache-tomcat/webapps/admin/' initialized.
> >> [02 Feb 2007 10:32:16,237]  INFO [main]
> >> (StartupServletContextListener.java:140) - Serialization provider :
> >> class org.apache.myfaces.shared_impl.util.serial.DefaultSerialFactory
> >> [02 Feb 2007 10:32:16,238]  INFO [main] (CobiaInitializer.java:66) -
> >> Initializing Cobia ServletContext
> >> -------------------------
> >>
> >> However, when the first URL to *.jsf occurs I get the following error
> >> message:
> >> -------------------------
> >> 02 Feb 2007 10:33:04,953]  INFO [http-443-Processor25]
> >> (ApplicationContext.java:646) - No state saving method defined,
> assuming
> >> default server state saving
> >> [02 Feb 2007 10:33:04,971]  WARN [http-443-Processor25]
> >> (JspViewHandlerImpl.java:394) - no faces servlet mappings found
> >> [02 Feb 2007 10:33:07,757]  WARN [http-443-Processor25]
> >> (JspViewHandlerImpl.java:394) - no faces servlet mappings found
> >> [02 Feb 2007 10:33:07,813]  INFO [http-443-Processor25]
> >> (MyfacesConfig.java:133) - No context init parameter
> >> 'org.apache.myfaces.PRETTY_HTML' found, using default value true
> >> [02 Feb 2007 10:33:07,815]  INFO [http-443-Processor25]
> >> (MyfacesConfig.java:133) - No context init parameter
> >> 'org.apache.myfaces.ALLOW_JAVASCRIPT' found, using  default value true
> >> [02 Feb 2007 10:33:07,818]  INFO [http-443-Processor25]
> >> (MyfacesConfig.java:119) - Tomahawk jar not available. Autoscrolling,
> >> DetectJavascript, AddResourceClass and CheckExtensionsFilter are
> >> disabled now.
> >> [02 Feb 2007 10:33:12,544] ERROR [http-443-Processor24]
> >> (UIComponentTag.java:926) - Faces context not found. getResponseWriter
> >> will fail. Check if the FacesServlet has been initialized at all in
> your
> >> web.xml.
> >> [02 Feb 2007 10:33:12,553] ERROR [http-443-Processor24]
> >> (StandardWrapperValve.java:253) - Servlet.service() for servlet jsp
> >> threw exception
> >> java.lang.NullPointerException
> >>         at
> >>
> javax.faces.webapp.UIComponentTag.setupResponseWriter(UIComponentTag.java:
> >> 929)
> >>         at
> >> javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:310)
> >>         at
> >> org.apache.myfaces.taglib.core.ViewTag.doStartTag(ViewTag.java:70)
> >>         at
> >> org.apache.jsp.login_jsp._jspx_meth_f_view_0(login_jsp.java:105)
> >>         at org.apache.jsp.login_jsp._jspService(login_jsp.java:82)
> >>         at
> >> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> >>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> >>         at
> >>
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java
> >> :334)
> >>         at
> >>
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
> >>         at
> >> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
> >>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> >>         at
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati
> >> onFilterChain.java:252)
> >>         at
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter
> >> Chain.java:173)
> >>         at
> >>
> org.stillsecure.cobia.web.user.AuthenticationFilter.doFilter(Authenticatio
> >> nFilter.java:101)
> >>         at
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati
> >> onFilterChain.java:202)
> >>         at
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter
> >> Chain.java:173)
> >>         at
> >>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.
> >> java:213)
> >>         at
> >>
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.
> >> java:178)
> >>         at
> >>
> org.stillsecure.cobia.web.tomcat.SharedSessionRequestValve.invoke(SharedSe
> >> ssionRequestValve.java:97)
> >>         at
> >>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:1
> >> 26)
> >>         at
> >>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:1
> >> 05)
> >>         at
> >>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.ja
> >> va:107)
> >>         at
> >>
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148
> >> )
> >>         at
> >>
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
> >>         at
> >>
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.proces
> >> sConnection(Http11BaseProtocol.java:664)
> >>         at
> >>
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.j
> >> ava:527)
> >>         at
> >>
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollower
> >> WorkerThread.java:80)
> >>         at
> >>
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.j
> >> ava:684)
> >>         at java.lang.Thread.run(Thread.java:595)
> >> -------------------------
> >>
> >> If I move the JSF configuration back into each webapp-specific web.xml,
> >> then it works fine.  Any ideas why this would happen?
> >>
> >> Thanks,
> >> Bryan
> >>
> 
> 
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org




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


Re: Configuring JSF in the TOMCAT/conf/web.xml for all webapps

Posted by Bryan Basham <bb...@stillsecure.com>.
Hello Tim,

OK, but if the JSF jar files are *only* in TOMCAT/common/lib/ directory 
and *never*
in the WEBAPP/WEB-INF/lib/ directory?

Thanks,
Bryan

> This is almost certainly caused by the involvement of two different
> classloaders.  For example, if you place a driver jar such as Oracle's
> classes12.jar in both places, then you'll find you cannot cast from a
> com.oracle...BlobXXX to a com.oracle...BlobXXX, as the class you can see
> comes from the web-app class loader, but the blob you have came from
> Tomcat's common class loader, from whence the connection came.  The class
> names are the same, and it can be quite confusing trying to figure it out,
> as the CastClassException doesn't indicate the loader, only the class name.
>
> Tim
>
>
>   
>> -----Original Message-----
>> From: Bryan Basham [mailto:bbasham@stillsecure.com]
>> Sent: Friday, February 02, 2007 1:10 PM
>> To: Tomcat Users List
>> Subject: Configuring JSF in the TOMCAT/conf/web.xml for all webapps
>>
>> Hello,
>>
>> I am developing a system in which every webapp deployed to Tomcat uses
>> JSF.
>> So, I decided to move the common JSF configuration from each
>> webapp/WEB-INF/web.xml
>> into the TOMCAT/conf/web.xml file.
>>
>> At startup time everything looks fine.  Here's an example of the output
>> I see for each webapp:
>> -------------------------
>> [02 Feb 2007 10:32:15,699]  INFO [main] (HostConfig.java:788) -
>> Deploying web application archive admin.war
>> [02 Feb 2007 10:32:16,022]  INFO [main] (FacesConfigurator.java:151) -
>> Reading standard config
>> org/apache/myfaces/resource/standard-faces-config.xml
>> [02 Feb 2007 10:32:16,112]  INFO [main] (FacesConfigurator.java:397) -
>> Reading config /WEB-INF/module-faces-config.xml
>> [02 Feb 2007 10:32:16,134]  INFO [main] (FacesConfigurator.java:411) -
>> Reading config /WEB-INF/faces-config.xml
>> [02 Feb 2007 10:32:16,165]  INFO [main] (NamedNavigationHandler.java:48)
>> - The Cobia navigation handler has been instantiated.
>> [02 Feb 2007 10:32:16,167]  INFO [main] (CobiaVariableResolver.java:59)
>> - The Cobia variable resolver has been instantiated.
>> [02 Feb 2007 10:32:16,171]  INFO [main]
>> (CrossContextViewHandler.java:57) - The Cobia cross-context ViewHandler
>> has been instantiated.
>> [02 Feb 2007 10:32:16,230]  INFO [main] (HtmlRenderKitImpl.java:104) -
>> Overwriting renderer with family = javax.faces.SelectOne rendererType =
>> javax.faces.Radi
>> o renderer class =
>> org.stillsecure.common.web.components.SelectOneRadioRenderer
>> [02 Feb 2007 10:32:16,231]  INFO [main] (HtmlRenderKitImpl.java:104) -
>> Overwriting renderer with family = javax.faces.Form rendererType =
>> javax.faces.Form renderer class =
>> org.stillsecure.common.web.components.HtmlFormRenderer
>> [02 Feb 2007 10:32:16,237]  INFO [main]
>> (StartupServletContextListener.java:99) - ServletContext
>> '/usr/local/apache-tomcat/webapps/admin/' initialized.
>> [02 Feb 2007 10:32:16,237]  INFO [main]
>> (StartupServletContextListener.java:140) - Serialization provider :
>> class org.apache.myfaces.shared_impl.util.serial.DefaultSerialFactory
>> [02 Feb 2007 10:32:16,238]  INFO [main] (CobiaInitializer.java:66) -
>> Initializing Cobia ServletContext
>> -------------------------
>>
>> However, when the first URL to *.jsf occurs I get the following error
>> message:
>> -------------------------
>> 02 Feb 2007 10:33:04,953]  INFO [http-443-Processor25]
>> (ApplicationContext.java:646) - No state saving method defined, assuming
>> default server state saving
>> [02 Feb 2007 10:33:04,971]  WARN [http-443-Processor25]
>> (JspViewHandlerImpl.java:394) - no faces servlet mappings found
>> [02 Feb 2007 10:33:07,757]  WARN [http-443-Processor25]
>> (JspViewHandlerImpl.java:394) - no faces servlet mappings found
>> [02 Feb 2007 10:33:07,813]  INFO [http-443-Processor25]
>> (MyfacesConfig.java:133) - No context init parameter
>> 'org.apache.myfaces.PRETTY_HTML' found, using default value true
>> [02 Feb 2007 10:33:07,815]  INFO [http-443-Processor25]
>> (MyfacesConfig.java:133) - No context init parameter
>> 'org.apache.myfaces.ALLOW_JAVASCRIPT' found, using  default value true
>> [02 Feb 2007 10:33:07,818]  INFO [http-443-Processor25]
>> (MyfacesConfig.java:119) - Tomahawk jar not available. Autoscrolling,
>> DetectJavascript, AddResourceClass and CheckExtensionsFilter are
>> disabled now.
>> [02 Feb 2007 10:33:12,544] ERROR [http-443-Processor24]
>> (UIComponentTag.java:926) - Faces context not found. getResponseWriter
>> will fail. Check if the FacesServlet has been initialized at all in your
>> web.xml.
>> [02 Feb 2007 10:33:12,553] ERROR [http-443-Processor24]
>> (StandardWrapperValve.java:253) - Servlet.service() for servlet jsp
>> threw exception
>> java.lang.NullPointerException
>>         at
>> javax.faces.webapp.UIComponentTag.setupResponseWriter(UIComponentTag.java:
>> 929)
>>         at
>> javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:310)
>>         at
>> org.apache.myfaces.taglib.core.ViewTag.doStartTag(ViewTag.java:70)
>>         at
>> org.apache.jsp.login_jsp._jspx_meth_f_view_0(login_jsp.java:105)
>>         at org.apache.jsp.login_jsp._jspService(login_jsp.java:82)
>>         at
>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>         at
>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java
>> :334)
>>         at
>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>>         at
>> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>         at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati
>> onFilterChain.java:252)
>>         at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter
>> Chain.java:173)
>>         at
>> org.stillsecure.cobia.web.user.AuthenticationFilter.doFilter(Authenticatio
>> nFilter.java:101)
>>         at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati
>> onFilterChain.java:202)
>>         at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter
>> Chain.java:173)
>>         at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.
>> java:213)
>>         at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.
>> java:178)
>>         at
>> org.stillsecure.cobia.web.tomcat.SharedSessionRequestValve.invoke(SharedSe
>> ssionRequestValve.java:97)
>>         at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:1
>> 26)
>>         at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:1
>> 05)
>>         at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.ja
>> va:107)
>>         at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148
>> )
>>         at
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
>>         at
>> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.proces
>> sConnection(Http11BaseProtocol.java:664)
>>         at
>> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.j
>> ava:527)
>>         at
>> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollower
>> WorkerThread.java:80)
>>         at
>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.j
>> ava:684)
>>         at java.lang.Thread.run(Thread.java:595)
>> -------------------------
>>
>> If I move the JSF configuration back into each webapp-specific web.xml,
>> then it works fine.  Any ideas why this would happen?
>>
>> Thanks,
>> Bryan
>>     


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


RE: Configuring JSF in the TOMCAT/conf/web.xml for all webapps

Posted by Tim Lucia <ti...@yahoo.com>.
This is almost certainly caused by the involvement of two different
classloaders.  For example, if you place a driver jar such as Oracle's
classes12.jar in both places, then you'll find you cannot cast from a
com.oracle...BlobXXX to a com.oracle...BlobXXX, as the class you can see
comes from the web-app class loader, but the blob you have came from
Tomcat's common class loader, from whence the connection came.  The class
names are the same, and it can be quite confusing trying to figure it out,
as the CastClassException doesn't indicate the loader, only the class name.

Tim


> -----Original Message-----
> From: Bryan Basham [mailto:bbasham@stillsecure.com]
> Sent: Friday, February 02, 2007 1:10 PM
> To: Tomcat Users List
> Subject: Configuring JSF in the TOMCAT/conf/web.xml for all webapps
> 
> Hello,
> 
> I am developing a system in which every webapp deployed to Tomcat uses
> JSF.
> So, I decided to move the common JSF configuration from each
> webapp/WEB-INF/web.xml
> into the TOMCAT/conf/web.xml file.
> 
> At startup time everything looks fine.  Here's an example of the output
> I see for each webapp:
> -------------------------
> [02 Feb 2007 10:32:15,699]  INFO [main] (HostConfig.java:788) -
> Deploying web application archive admin.war
> [02 Feb 2007 10:32:16,022]  INFO [main] (FacesConfigurator.java:151) -
> Reading standard config
> org/apache/myfaces/resource/standard-faces-config.xml
> [02 Feb 2007 10:32:16,112]  INFO [main] (FacesConfigurator.java:397) -
> Reading config /WEB-INF/module-faces-config.xml
> [02 Feb 2007 10:32:16,134]  INFO [main] (FacesConfigurator.java:411) -
> Reading config /WEB-INF/faces-config.xml
> [02 Feb 2007 10:32:16,165]  INFO [main] (NamedNavigationHandler.java:48)
> - The Cobia navigation handler has been instantiated.
> [02 Feb 2007 10:32:16,167]  INFO [main] (CobiaVariableResolver.java:59)
> - The Cobia variable resolver has been instantiated.
> [02 Feb 2007 10:32:16,171]  INFO [main]
> (CrossContextViewHandler.java:57) - The Cobia cross-context ViewHandler
> has been instantiated.
> [02 Feb 2007 10:32:16,230]  INFO [main] (HtmlRenderKitImpl.java:104) -
> Overwriting renderer with family = javax.faces.SelectOne rendererType =
> javax.faces.Radi
> o renderer class =
> org.stillsecure.common.web.components.SelectOneRadioRenderer
> [02 Feb 2007 10:32:16,231]  INFO [main] (HtmlRenderKitImpl.java:104) -
> Overwriting renderer with family = javax.faces.Form rendererType =
> javax.faces.Form renderer class =
> org.stillsecure.common.web.components.HtmlFormRenderer
> [02 Feb 2007 10:32:16,237]  INFO [main]
> (StartupServletContextListener.java:99) - ServletContext
> '/usr/local/apache-tomcat/webapps/admin/' initialized.
> [02 Feb 2007 10:32:16,237]  INFO [main]
> (StartupServletContextListener.java:140) - Serialization provider :
> class org.apache.myfaces.shared_impl.util.serial.DefaultSerialFactory
> [02 Feb 2007 10:32:16,238]  INFO [main] (CobiaInitializer.java:66) -
> Initializing Cobia ServletContext
> -------------------------
> 
> However, when the first URL to *.jsf occurs I get the following error
> message:
> -------------------------
> 02 Feb 2007 10:33:04,953]  INFO [http-443-Processor25]
> (ApplicationContext.java:646) - No state saving method defined, assuming
> default server state saving
> [02 Feb 2007 10:33:04,971]  WARN [http-443-Processor25]
> (JspViewHandlerImpl.java:394) - no faces servlet mappings found
> [02 Feb 2007 10:33:07,757]  WARN [http-443-Processor25]
> (JspViewHandlerImpl.java:394) - no faces servlet mappings found
> [02 Feb 2007 10:33:07,813]  INFO [http-443-Processor25]
> (MyfacesConfig.java:133) - No context init parameter
> 'org.apache.myfaces.PRETTY_HTML' found, using default value true
> [02 Feb 2007 10:33:07,815]  INFO [http-443-Processor25]
> (MyfacesConfig.java:133) - No context init parameter
> 'org.apache.myfaces.ALLOW_JAVASCRIPT' found, using  default value true
> [02 Feb 2007 10:33:07,818]  INFO [http-443-Processor25]
> (MyfacesConfig.java:119) - Tomahawk jar not available. Autoscrolling,
> DetectJavascript, AddResourceClass and CheckExtensionsFilter are
> disabled now.
> [02 Feb 2007 10:33:12,544] ERROR [http-443-Processor24]
> (UIComponentTag.java:926) - Faces context not found. getResponseWriter
> will fail. Check if the FacesServlet has been initialized at all in your
> web.xml.
> [02 Feb 2007 10:33:12,553] ERROR [http-443-Processor24]
> (StandardWrapperValve.java:253) - Servlet.service() for servlet jsp
> threw exception
> java.lang.NullPointerException
>         at
> javax.faces.webapp.UIComponentTag.setupResponseWriter(UIComponentTag.java:
> 929)
>         at
> javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:310)
>         at
> org.apache.myfaces.taglib.core.ViewTag.doStartTag(ViewTag.java:70)
>         at
> org.apache.jsp.login_jsp._jspx_meth_f_view_0(login_jsp.java:105)
>         at org.apache.jsp.login_jsp._jspService(login_jsp.java:82)
>         at
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>         at
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java
> :334)
>         at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>         at
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati
> onFilterChain.java:252)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter
> Chain.java:173)
>         at
> org.stillsecure.cobia.web.user.AuthenticationFilter.doFilter(Authenticatio
> nFilter.java:101)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati
> onFilterChain.java:202)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter
> Chain.java:173)
>         at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.
> java:213)
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.
> java:178)
>         at
> org.stillsecure.cobia.web.tomcat.SharedSessionRequestValve.invoke(SharedSe
> ssionRequestValve.java:97)
>         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:1
> 26)
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:1
> 05)
>         at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.ja
> va:107)
>         at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148
> )
>         at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
>         at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.proces
> sConnection(Http11BaseProtocol.java:664)
>         at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.j
> ava:527)
>         at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollower
> WorkerThread.java:80)
>         at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.j
> ava:684)
>         at java.lang.Thread.run(Thread.java:595)
> -------------------------
> 
> If I move the JSF configuration back into each webapp-specific web.xml,
> then it works fine.  Any ideas why this would happen?
> 
> Thanks,
> Bryan
> 
> 
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org




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