title: connect jsp with oracle database
body: <p>I wrote the following code to fetch data from my oracle database and show the result using JSP:</p>
  
  <pre><code>&lt;%@page contentType="text/html" pageEncoding="UTF-8"%&gt;
  &lt;%@ page import="java.io.*,java.util.*,java.sql.*"%&gt;
  &lt;%@ page import="javax.servlet.http.*,javax.servlet.*" %&gt;
  &lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%&gt;
  &lt;%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%&gt;
  &lt;!DOCTYPE html&gt;
  &lt;html&gt;
  &lt;head&gt;
      &lt;title&gt;SELECT Operation&lt;/title&gt;
  &lt;/head&gt;
  &lt;body&gt;
  
      &lt;sql:setDataSource var="snapshot" driver="oracle.jdbc.OracleDriver"
                         url="jdbc:oracle:thin:@localhost:1521:orcl"
                         user="hr"  password="Hrone699"/&gt;
  
      &lt;sql:query dataSource="${snapshot}" var="result"&gt;
          SELECT No from Client;
      &lt;/sql:query&gt;
  
      &lt;table border="1" width="100%"&gt;
          &lt;tr&gt;
              &lt;th&gt;No&lt;/th&gt;
              &lt;th&gt;Client&lt;/th&gt;
              &lt;th&gt;Information Collection Date&lt;/th&gt;
              &lt;th&gt;Payment Notice Date&lt;/th&gt;
          &lt;/tr&gt;
          &lt;c:forEach var="row" items="${result.row}"&gt;
              &lt;tr&gt;
                  &lt;td&gt;&lt;c:out value="${row.No}"/&gt;&lt;/td&gt;
                  &lt;td&gt;&lt;c:out value="${row.Client}"/&gt;&lt;/td&gt;
                  &lt;td&gt;&lt;c:out value="${row.INFOCOLLECTINGDATE}"/&gt;&lt;/td&gt;
                  &lt;td&gt;&lt;c:out value="${row.PAYMENTNOTICEISSUEDATE}"/&gt;&lt;/td&gt;
              &lt;/tr&gt;
          &lt;/c:forEach&gt;
      &lt;/table&gt;
  
  &lt;/body&gt;
  </code></pre>
  
  <p></p>
  
  <p>But I am getting the following error:
  An Error Occurred:</p>
  
  <p>SELECT No from Client; : ORA-00911: invalid character </p>
  
  <p>With the following Stack Trace:</p>
  
  <pre><code>javax.servlet.ServletException: 
  </code></pre>
  
  <p>SELECT No from Client;
  : ORA-00911: invalid character</p>
  
  <pre><code>at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:951)
  at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:886)
  at org.apache.jsp.dataBaseConnect_jsp._jspService(dataBaseConnect_jsp.java:111)
  at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
  at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411)
  at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:473)
  at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:377)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
  at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
  at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:875)
  at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:739)
  at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:575)
  at org.apache.catalina.core.ApplicationDispatcher.doDispatch(ApplicationDispatcher.java:546)
  at org.apache.catalina.core.ApplicationDispatcher.dispatch(ApplicationDispatcher.java:428)
  at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:378)
  at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:630)
  at com.sun.faces.application.view.JspViewHandlingStrategy.executePageToBuildView(JspViewHandlingStrategy.java:363)
  at com.sun.faces.application.view.JspViewHandlingStrategy.buildView(JspViewHandlingStrategy.java:153)
  at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:99)
  at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
  at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
  at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
  at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:344)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
  at org.glassfish.tyrus.servlet.TyrusServletFilter.doFilter(TyrusServletFilter.java:253)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:316)
  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
  at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
  at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
  at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
  at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:357)
  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:260)
  at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:188)
  at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:191)
  at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:168)
  at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:189)
  at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
  at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288)
  at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206)
  at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136)
  at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114)
  at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
  at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:838)
  at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113)
  at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)
  at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)
  at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)
  at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:564)
  at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544)
  at java.lang.Thread.run(Thread.java:744)
  </code></pre>
  
  <p>Caused by: java.sql.SQLException: ORA-00911: invalid character</p>
  
  <pre><code>at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
  at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:330)
  at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:287)
  at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:753)
  at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:218)
  at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:812)
  at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1050)
  at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:853)
  at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1155)
  at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3414)
  at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3459)
  at org.apache.taglibs.standard.tag.common.sql.QueryTagSupport.doEndTag(QueryTagSupport.java:257)
  at org.apache.jsp.dataBaseConnect_jsp._jspx_meth_sql_query_0(dataBaseConnect_jsp.java:172)
  at org.apache.jsp.dataBaseConnect_jsp._jspService(dataBaseConnect_jsp.java:88)
  ... 52 more
  </code></pre>