title: uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
body: <p>JSP, SQL experts, I'm so grateful that I have got working solutions to all my previous posts as I'm a newbie to the above programming languages with just basic college knowledge. After getting the Java - SQL database data extraction working via command line (for basic understanding of JDBC) I have shifted back to 'JSP - SQL database access'.<br>
  This is my first example but when i try to execute it I get a XML error message, that <strong>I guess</strong> is about <strong>Role Based Authentication</strong>, <strong>though I'm not sure</strong>. Please I request your assistance preferably with basic steps of the solution.<br>
  <strong>Below is the error message.</strong>   </p>
  
  <pre><code>HTTP Status 500 - The absolute uri: http://java.sun.com/jsp/jstl/core cannot be  resolved in either web.xml or the jar files deployed with this application
  
  type Exception report
  
  message The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
  
  description The server encountered an internal error that prevented it from fulfilling this request.
  
  exception
  
  org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
  org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:56)
  org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:445)
  org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:117)
  org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:311)
  org.apache.jasper.compiler.TagLibraryInfoImpl.&lt;init&gt;(TagLibraryInfoImpl.java:152)
  org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:410)
  org.apache.jasper.compiler.Parser.parseDirective(Parser.java:475)
  org.apache.jasper.compiler.Parser.parseElements(Parser.java:1427)
  org.apache.jasper.compiler.Parser.parse(Parser.java:138)
  org.apache.jasper.compiler.ParserController.doParse(ParserController.java:242)
  org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)
  org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198)
  org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
  org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
  org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
  org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
  org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
  org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
  org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
  javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
  
  note The full stack trace of the root cause is available in the Apache Tomcat/7.0.47 logs.
  Apache Tomcat/7.0.47  
  </code></pre>
  
  <p><strong>Here is the JSP code:</strong></p>
  
  <pre><code>&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;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="com.mysql.jdbc.Driver"
       url="jdbc:mysql://localhost/EMP"
       user="root" password="password"/&gt;
  
  &lt;sql:query dataSource="${snapshot}" var="result"&gt;
  SELECT * from Employees;
  &lt;/sql:query&gt;
  
  &lt;table border="1" width="100%"&gt;
  &lt;tr&gt;
  &lt;th&gt;Emp ID&lt;/th&gt;
  &lt;th&gt;Age&lt;/th&gt;
  &lt;th&gt;First Name&lt;/th&gt;
  &lt;th&gt;Last Name&lt;/th&gt;
  
  &lt;/tr&gt;
  &lt;c:forEach var="row" items="${result.rows}"&gt;
  &lt;tr&gt;
  &lt;td&gt;&lt;c:out value="${row.id}"/&gt;&lt;/td&gt;
  &lt;td&gt;&lt;c:out value="${row.age}"/&gt;&lt;/td&gt;
  &lt;td&gt;&lt;c:out value="${row.first}"/&gt;&lt;/td&gt;
  &lt;td&gt;&lt;c:out value="${row.last}"/&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;/c:forEach&gt;
  &lt;/table&gt;
  &lt;/body&gt;
  &lt;/html&gt;  
  </code></pre>
  
  <p><strong>Here are the file and class paths:</strong><br>
  <strong>JSP page:</strong> C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\jsp pages\RegName.jsp  </p>
  
  <p><strong>CLASSPATH:</strong> C:\Program Files\Apache Software Foundation\Tomcat 7.0\lib\jsp-api.jar;C:\glassfish3\jdk\jre\lib;C:\Program Files (x86)\MySQL\MySQL Connector J\mysql-connector-java-5.1.27-bin.jar  </p>
  
  <p><strong>JAVA_HOME:</strong> C:\glassfish3\jdk  </p>
  
  <p><strong>Path:</strong> C:\glassfish3\jdk\bin;C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin</p>