ChromiumのUbuntu 16.04LTSでtomcat8を使用してJSPを実行しているときにこのエラーが発生します。私は、新しいデータベース・スキーマに一致するようにJSP処理中に例外が発生しましたwhileループ
sql = conn.prepareStatement ("SELECT TITLE, VENUE, DETAILS, MAXPERSONS, COSTPERPERSON, DURATION, DATE FROM CEP");
と
<%= ceps.getString("...") %> lines
を修正するまで、
すべてが細かいを実行していました。
私は何が間違っていたのか理解できません。
この問題を解決できますか?全体的に変更する必要があるものは他にありますか?
JSPページ:ビュー-cep.jsp
<!DOCTYPE html>
<html>
<head>
<title>View CEP</title>
<%@page import="java.sql.*"%>
<%@page import="java.util.*"%>
<%Class.forName("com.mysql.jdbc.Driver"); %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
</head>
<body class="content-wrapper">
<div class="content-page-heading">CEP - Further Action</div>
<%!
public class Cep {
String URL = "jdbc:mysql://localhost:3306/DBName";
String USERNAME = "username";
String PASSWORD = "password";
Connection conn = null;
PreparedStatement sql = null;
ResultSet res = null;
public Cep() {
try{
conn = DriverManager.getConnection (URL, USERNAME, PASSWORD);
sql = conn.prepareStatement ("SELECT TITLE, VENUE, DETAILS, MAXPERSONS, COSTPERPERSON, DURATION, DATE FROM CEP");
}
catch (Exception e) {
System.out.println(e);
}
}
public ResultSet getCep() {
try {
res = sql.executeQuery();
}
catch (Exception e) {
System.out.println(e);
}
return res;
}
}
%>
<%
Cep cep = new Cep();
ResultSet ceps = cep.getCep();
while (ceps.next()) { %>
<div class="content-row">
<div class="content-title content-dropDown-point">
<%= ceps.getString("TITLE") %>
</div>
<div class="content-details content-dropDown">
<hr>
<table>
<tr>
<td>Venue:</td>
<td><%= ceps.getString("VENUE") %></td>
</tr>
<tr>
<td>Details:</td>
<td><%= ceps.getString("DETAILS") %></td>
</tr>
<tr>
<td>Number of Employees Accepting:</td>
<td><%= ceps.getString("MAXPERSONS") %></td>
</tr>
<tr>
<td>Cost per Employee:</td>
<td><%= ceps.getString("COSTPERPERSON") %></td>
</tr>
<tr>
<td>Duration:</td>
<td><%= ceps.getString("DURATION") %></td>
</tr>
<tr>
<td>Date of Commencement:</td>
<td><%= ceps.getString("DATE") %></td>
</tr>
<tr>
<td><button>Submit</button></td>
</tr>
</table>
</div>
</div>
<% } %>
</body>
</html>
エラー:例外は58
org.apache.jasper.JasperException: An exception occurred processing JSP page /forms/view-cep.jsp at line 58
55: Cep cep = new Cep();
56: ResultSet ceps = cep.getCep();
57:
58: while (ceps.next()) { %>
59: <div class="content-row">
60: <div class="content-title content-dropDown-point">
61: <%= ceps.getString("TITLE") %>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:578)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
java.lang.NullPointerException
org.apache.jsp.forms.view_002dcep_jsp._jspService(view_002dcep_jsp.java:174)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
MYSQL DBスキーマ行で処理JSPページ/forms/view-cep.jspを発生しました:
+---------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------+---------------+------+-----+---------+-------+
| TITLE | varchar(30) | NO | | NULL | |
| VENUE | varchar(30) | NO | | NULL | |
| DETAILS | varchar(30) | NO | | NULL | |
| MAXPERSONS | varchar(30) | NO | | NULL | |
| COSTPERPERSON | varchar(30) | NO | | NULL | |
| DURATION | varchar(30) | NO | | NULL | |
| DATESTART | varchar(30) | NO | | NULL | |
+---------------+---------------+------+-----+---------+-------+