Note that there are some explanatory texts on larger screens.

plurals
  1. POjava jsp display data from database
    primarykey
    data
    text
    <p>Hi I am trying to display the content of a database in the jsp page.. I would like the connection and processing of data to be in java file and only the display of the data will be included in the jsp page.</p> <p>I am using tomcat server. I have ojdbc6.jar and jstl-1.2.jar on my WEB-INF/lib folder.</p> <p>Kindly advise what I am missing. Any idea would be appreciated. Thank you.</p> <p>Here is the content of the java file.</p> <h2> DBConn.java</h2> <pre><code>public class DBConn extends HttpServlet { public void getData(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { Connection connection = null; List dataList = new ArrayList(); try { // Load the JDBC driver String driverName = "oracle.jdbc.driver.OracleDriver"; Class.forName(driverName); // Create a connection to the database String serverName = "localhost"; String portNumber = "1521"; String sid = "xe"; String url = "jdbc:oracle:thin:@" + serverName + ":" + portNumber + ":" + sid; String username = "hr"; String password = "hr"; connection = DriverManager.getConnection(url, username, password); Statement stmt = connection.createStatement(); ResultSet rset = stmt.executeQuery("select * from employees"); while (rset.next()) { dataList.add(rset.getInt("employee_id")); dataList.add(rset.getString("first_name")); } stmt.close(); } catch (ClassNotFoundException e) { // Could not find the database driver } catch (SQLException e) { // Could not connect to the database } request.setAttribute("data", dataList); String strViewPage = "index.jsp"; RequestDispatcher dispatcher = request.getRequestDispatcher(strViewPage); if (dispatcher != null) { dispatcher.forward(request, response); } } } </code></pre> <p>Here is the content of the jsp file.</p> <h2> index.jsp</h2> <pre><code>&lt;%@page import="java.util.List"%&gt; &lt;%@page import="java.util.Iterator"%&gt; &lt;%@page language="java" import="java.util.*" %&gt; &lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %&gt; &lt;%@page contentType="text/html" pageEncoding="UTF-8"%&gt; &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt; &lt;title&gt;JSP Page&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;h1&gt;Hello World!&lt;/h1&gt; &lt;table border="1" width="303"&gt; &lt;tr&gt; &lt;td width="119"&gt;&lt;b&gt;Employee ID&lt;/b&gt;&lt;/td&gt; &lt;td width="168"&gt;&lt;b&gt;First Name&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;%Iterator itr;%&gt; &lt;% List data = (List) request.getAttribute("data"); for (itr = data.iterator(); itr.hasNext();) { %&gt; &lt;tr&gt; &lt;td width="119"&gt;&lt;%=itr.next()%&gt;&lt;/td&gt; &lt;td width="168"&gt;&lt;%=itr.next()%&gt;&lt;/td&gt; &lt;/tr&gt; &lt;%}%&gt; &lt;/table&gt; &lt;/body&gt; &lt;/html&gt; </code></pre> <h2>web.xml</h2> <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"&gt; &lt;!-- Config here. No taglibs! --&gt; &lt;!-- To change this template, choose Tools | Templates and open the template in the editor. --&gt; &lt;!--web.xml code --&gt; &lt;servlet&gt; &lt;servlet-name&gt;DBConn&lt;/servlet-name&gt; &lt;servlet-class&gt;DBConn&lt;/servlet-class&gt; &lt;/servlet&gt; &lt;servlet-mapping&gt; &lt;servlet-name&gt;DBConn&lt;/servlet-name&gt; &lt;url-pattern&gt;/DBConn&lt;/url-pattern&gt; &lt;/servlet-mapping&gt; &lt;/web-app&gt; </code></pre> <h2>Output:</h2> <pre><code>org.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 26 23: &lt;/tr&gt; 24: &lt;%Iterator itr;%&gt; 25: &lt;% List data = (List) request.getAttribute("data"); 26: for (itr = data.iterator(); itr.hasNext();) { 27: %&gt; 28: &lt;tr&gt; 29: &lt;td width="119"&gt;&lt;%=itr.next()%&gt;&lt;/td&gt; Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470) 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:722) org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) root cause java.lang.NullPointerException org.apache.jsp.index_jsp._jspService(index_jsp.java:88) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) 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:722) org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload