The following exception is thrwon from JSP that is configured as is xml : ----------------------- org.apache.jasper.JasperException: null(3,44) The prefix "jsp" for element "jsp:useBean" is not bound. at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:83) at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:363) at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:259) at org.apache.jasper.compiler.JspDocumentParser.parse(JspDocumentParser.java:206) at org.apache.jasper.compiler.ParserController.parse(ParserController.java:225) at org.apache.jasper.compiler.ParserController.parse(ParserController.java:150) at org.apache.jasper.compiler.ParserController.parse(ParserController.java:137) at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:246) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:452) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:438) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:565) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:293) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:288) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:552) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1017) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:196) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:552) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1017) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2701) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:186) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:552) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1017) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:512) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:552) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1017) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:196) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:630) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:464) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:568) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:631) at java.lang.Thread.run(Thread.java:536) root cause org.xml.sax.SAXParseException: The prefix "jsp" for element "jsp:useBean" is not bound. at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1139) at javax.xml.parsers.SAXParser.parse(SAXParser.java:345) at org.apache.jasper.compiler.JspDocumentParser.parse(JspDocumentParser.java:198) at org.apache.jasper.compiler.ParserController.parse(ParserController.java:225) at org.apache.jasper.compiler.ParserController.parse(ParserController.java:150) at org.apache.jasper.compiler.ParserController.parse(ParserController.java:137) at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:246) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:452) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:438) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:565) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:293) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:288) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:552) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1017) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:196) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:552) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1017) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2701) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:186) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:552) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1017) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:512) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:552) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1017) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:196) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:630) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:464) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:568) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:631) at java.lang.Thread.run(Thread.java:536) ----------------------- This is the JSP : --------------------- <?xml version="1.0" ?> <HTML> <jsp:useBean id="foo" class="my.FooBean" /> <jsp:setProperty name="foo" property="bar" value="barValue" > </jsp:setProperty> <table> <tr><th> Property Name</th><th> Property Value</th></tr> <tr><td> bar </td><td>${foo.bar}</td></tr> </table> </HTML> ~
In xml syntax, all namespace, including "jsp", used as prefix in an xml element must be defined and in scope. The error message is clear on this. To fix the problem, you can place the definition of "jsp" at the xml root: <HTML xmlns:jsp="http://java.sun.com/JSP/Page"> Or you can do it at each of the jsp elements, such as <jsp:useBean id="foo" class="my.FooBean" xmlns:jsp="http://java.sun.com/JSP/Page"/> and similarily for <jsp:setProperty> You can even use a different prefix, such as <wombat:useBean id="foo" class="my.FooBean" xmlns:wombat="http://java.sun.com/JSP/Page"/> as long as you specify the correct uri for JSP.