This code should work: <sql:setDataSource dataSource='jdbc:cloudscape:c:/databases/sunpress,COM.cloudscape.core.JDBCDrive r'/> <sql:query var='customers'> SELECT * FROM CUSTOMERS </sql:query> But instead it throws this exception: HTTP Status 500 - Internal Server Error ------------------------------------------------------------------------------- - type Exception report message Internal Server Error description The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request. exception javax.servlet.ServletException: dataSource is neither a String nor a javax.sql.DataSource at org.apache.jasper.runtime.PageContextImpl.handlePageException (PageContextImpl.java:463) at org.apache.jsp.index$jsp._jspService(index$jsp.java:300) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service (JspServlet.java:202) at org.apache.jasper.servlet.JspServlet.serviceJspFile (JspServlet.java:382) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:243) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:577) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:483) at org.apache.catalina.core.ContainerBase.invoke (ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:201) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:577) at org.apache.catalina.valves.CertificatesValve.invoke (CertificatesValve.java:246) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:575) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:483) at org.apache.catalina.core.ContainerBase.invoke (ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke (StandardContext.java:2344) at org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:164) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:577) at org.apache.catalina.valves.ErrorDispatcherValve.invoke (ErrorDispatcherValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:575) at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:171) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:575) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:483) at org.apache.catalina.core.ContainerBase.invoke (ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:577) at org.apache.catalina.valves.AccessLogValve.invoke (AccessLogValve.java:469) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:575) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:483) at org.apache.catalina.core.ContainerBase.invoke (ContainerBase.java:995) at org.apache.catalina.connector.http.HttpProcessor.process (HttpProcessor.java:1024) at org.apache.catalina.connector.http.HttpProcessor.run (HttpProcessor.java:1119) at java.lang.Thread.run(Thread.java:536) root cause javax.servlet.jsp.JspException: dataSource is neither a String nor a javax.sql.DataSource at org.apache.taglibs.standard.tag.common.sql.DataSourceUtil.setDataSource (DataSourceUtil.java:129) at org.apache.taglibs.standard.tag.common.sql.QueryTagSupport.doStartTag (QueryTagSupport.java:182) at org.apache.taglibs.standard.tag.el.sql.QueryTag.doStartTag (QueryTag.java:124) at org.apache.jsp.index$jsp._jspService(index$jsp.java:169) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service (JspServlet.java:202) at org.apache.jasper.servlet.JspServlet.serviceJspFile (JspServlet.java:382) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:243) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:577) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:483) at org.apache.catalina.core.ContainerBase.invoke (ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:201) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:577) at org.apache.catalina.valves.CertificatesValve.invoke (CertificatesValve.java:246) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:575) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:483) at org.apache.catalina.core.ContainerBase.invoke (ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke (StandardContext.java:2344) at org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:164) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:577) at org.apache.catalina.valves.ErrorDispatcherValve.invoke (ErrorDispatcherValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:575) at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:171) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:575) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:483) at org.apache.catalina.core.ContainerBase.invoke (ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:577) at org.apache.catalina.valves.AccessLogValve.invoke (AccessLogValve.java:469) at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:575) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:483) at org.apache.catalina.core.ContainerBase.invoke (ContainerBase.java:995) at org.apache.catalina.connector.http.HttpProcessor.process (HttpProcessor.java:1024) at org.apache.catalina.connector.http.HttpProcessor.run (HttpProcessor.java:1119) at java.lang.Thread.run(Thread.java:536) ------------------------------------------------------------------------------- - Java Web Services Developer Pack/1.0-ea1
Fixed. <sql:setDataSource> was setting the javax.servlet.jsp.jstl.sql.dataSource configuration variable using pageContext.setAttribute() instead of Config.set().