Servlet cannot find taglib
naeem.ally Mar 2, 2012 5:15 AMI got my application successfully deployed but when I got to my web page I get the following error.
I'm using jboss 7.0.10.Final
{quote}
16:49:00,137 INFO [org.jboss.web] (MSC service thread 1-2) JBAS018210: Registering web context: /sim-web
16:49:00,224 INFO [org.jboss.as.server] (management-handler-threads - 1) JBAS018559: Deployed "sim-web.war"
16:49:18,996 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/sim-web].[jsp]] (http--0.0.0.0-8080-1) Servlet.service() for servlet jsp threw exception: org.apache.jasper.JasperException: The absolute uri: http://www.springframework.org/tags cannot be resolved in either web.xml or the jar files deployed with this application
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51) [jbossweb-7.0.10.Final.jar:]
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409) [jbossweb-7.0.10.Final.jar:]
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:116) [jbossweb-7.0.10.Final.jar:]
at org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:239) [jbossweb-7.0.10.Final.jar:]
at org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:152) [jbossweb-7.0.10.Final.jar:]
at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:386) [jbossweb-7.0.10.Final.jar:]
at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:448) [jbossweb-7.0.10.Final.jar:]
at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1398) [jbossweb-7.0.10.Final.jar:]
at org.apache.jasper.compiler.Parser.parse(Parser.java:130) [jbossweb-7.0.10.Final.jar:]
at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:255) [jbossweb-7.0.10.Final.jar:]
at org.apache.jasper.compiler.ParserController.parse(ParserController.java:103) [jbossweb-7.0.10.Final.jar:]
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:194) [jbossweb-7.0.10.Final.jar:]
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:360) [jbossweb-7.0.10.Final.jar:]
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:340) [jbossweb-7.0.10.Final.jar:]
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:327) [jbossweb-7.0.10.Final.jar:]
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:607) [jbossweb-7.0.10.Final.jar:]
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:312) [jbossweb-7.0.10.Final.jar:]
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:326) [jbossweb-7.0.10.Final.jar:]
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:253) [jbossweb-7.0.10.Final.jar:]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.10.Final.jar:]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.10.Final.jar:]
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:162) [spring-security-web.jar:3.0.6.RELEASE]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) [spring-web.jar:3.0.6.RELEASE]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) [spring-web.jar:3.0.6.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.10.Final.jar:]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.10.Final.jar:]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.10.Final.jar:]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.10.Final.jar:]
at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.1.0.Final.jar:7.1.0.Final]
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:154) [jboss-as-web-7.1.0.Final.jar:7.1.0.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.10.Final.jar:]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.10.Final.jar:]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.10.Final.jar:]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.10.Final.jar:]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.10.Final.jar:]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.10.Final.jar:]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.10.Final.jar:]
at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_29]
{quote}
The taglib is found in the spring-mvc jar and that jar is present in my spring module
{code:xml}
<module xmlns="urn:jboss:module:1.1" name="org.springframework.spring">
<resources>
<resource-root path="spring-context.jar"/>
<resource-root path="spring-context-support.jar"/>
<resource-root path="spring-beans.jar"/>
<resource-root path="spring-aop.jar"/>
<resource-root path="spring-asm.jar"/>
<resource-root path="spring-core.jar"/>
<resource-root path="spring-jdbc.jar"/>
<resource-root path="spring-expression.jar"/>
<resource-root path="spring-tx.jar"/>
<resource-root path="spring-jms.jar"/>
<resource-root path="spring-orm.jar"/>
<resource-root path="spring-security-acl.jar"/>
<resource-root path="spring-security-config.jar"/>
<resource-root path="spring-security-core.jar"/>
<resource-root path="spring-security-taglibs.jar"/>
<resource-root path="spring-security-web.jar"/>
<resource-root path="spring-web.jar"/>
<resource-root path="spring-webmvc.jar"/>
<resource-root path="aopalliance-1.0.jar"/>
</resources>
<dependencies>
<module name="javax.api" />
<module name="javax.jms.api" />
<module name="javax.annotation.api" />
<module name="org.apache.commons.logging" />
<module name="org.jboss.vfs" />
<module name="javax.servlet.api" />
<module name="javax.servlet.jsp.api" />
<module name="javax.xml.ws.api" />
<module name="javax.jws.api" />
<module name="javax.persistence.api" />
<module name="javax.validation.api"></module>
<module name="org.apache.tiles"></module>
<module name="org.hibernate.validator" services="import">
<imports>
<include path="META-INF**" />
<include path="org**" />
</imports>
</module>
</dependencies>
</module>
{code}
I also added the spring module in jboss-deployment-structure
{code:xml}
<module name="org.springframework.spring" services="import" export="true">
<imports>
<include path="**" />
</imports>
</module>
{code}
and I added the spring module in my manifest
Manifest-Version: 1.0
Dependencies: org.slf4j, org.apache.cxf services, org.springframework.spring services, org.hibernate, org.hibernate.validator services, org.apache.ws.security
Class-Path:
How else do I get my app to recognise the spring.tld?