データベースから取得したブラウザ情報を表示する簡単なJSPを作成しました。データベースへの接続jspを呼び出すシンプルなクラスを作成しました。 JasperExceptionとNullPointerExceptionの2つの例外が発生します。 どこが間違っていたのか分かりません。私はあなたの助けを求める。データベースに接続した単純なjsp
PS:私の英語のため申し訳ありません:) これはこれは、クラスConnessione
package connessione;
import java.sql.*;
public class Connessione
{
protected String driver = "com.mysql.jdbc.Driver", url = "jdbc:mysql//localhost:3306/world ";
protected String user = "root", psw = "informatica";
public Connection connetti()
{
Connection dbConn = null;
try
{
Class.forName(driver);
dbConn = DriverManager.getConnection(url, user, psw);
}
catch(ClassNotFoundException ex)
{
ex.printStackTrace();
}
catch(SQLException ex)
{
ex.getMessage();
}
return dbConn;
}
}
と、これはエラーページであるindex.jspを
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>WORLD</title>
</head>
<body>
<%@ page language="java" import="java.sql.*" %>
<%@ page language="java" import="connessione.*" %>
<%
Connessione con = new Connessione();
Connection cnn = con.connetti();
Statement st = null;
ResultSet rs = null;
try
{
st = cnn.createStatement();
rs = st.executeQuery("SELECT code,name,continent FROM country");
int code=0;
String name="";
String continent="";
out.println("<h1>ELENCO STATI:</h1>");
while(rs.next())
{
code = rs.getInt(1);
name = rs.getString(2);
continent = rs.getString(3);
out.println("<br><br><b>ID:</b> "+ code + " <br> " + "<b>COUNTRY:</b> "+name+" <br> " + "<b>CONTINENT</b> "+continent+" <br> ");
}
}
catch (SQLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
finally
{
try
{
rs.close();
st.close();
cnn.close();
}
catch(SQLException e)
{
out.println(e.getMessage());
}
}
%>
</body>
</html>
です
type Exception report
message An exception occurred processing JSP page /index.jsp at line 47
description The server encountered an internal error that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 47
44: }
45: finally
46: {
47: rs.close();
48: st.close();
49: cnn.close();
50: }
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWra pper.java:574)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:4 76)
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.index_jsp._jspService(index_jsp.java:158)
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:4 38)
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)
note The full stack trace of the root cause is available in the Apache Tomcat/8.0.33 logs.
私はeclipse jee mars、tomcat v8.0 .33、およびmySQLを使用します。私はサーバー上で実行を使用して日食から。 私はwarファイルのエクスポートをtomcatのwebappsフォルダに保存します。私はmysqlコネクタがTomcatのlibフォルダにあり、両方の外部jarが私のプロジェクトのeclipseであると付け加えました。あなたは、彼らが最初のNULLでないかどうかを確認するために「近い」彼ら(おそらくRS)
チェックしようとすると、それはどちらかRSのように見える
私は、jspがより明確になるようにすべてのコードを削除することをお勧めします。 – meyquel
ログから完全なスタックトレースを取得します。 – nitind