Bir veritabanından alınan tarayıcı bilgilerini görüntüleyen basit bir JSP oluşturdum. Veritabanına bağlantı, jsp'de çağıran basit bir sınıf oluşturdum. İki istisna vardır: JasperException ve NullPointerException. Nerede yanlış gittiğimi anlamıyorum. Yardımını ben istiyorum.Veritabanındaki bağlantı ile basit jsp
PS:. Benim ingilizce :) için üzgün bu 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>
bu sınıfı 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;
}
}
olduğunu ve bu bir hata sayfası olduğunu
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 ve mySQL kullanıyorum. Tutulmadan sunucuda Çalıştır'ı kullanıyorum. önce tomcat webapps klasöründe kaydedilen savaş dosyası ihracat yapmak. Mysql bağlayıcısını tomcat'in lib klasörüne ekledim, projemin tutulması için hem dış jar hem de. Eğer için "yakın" çalıştıklarında
Daha fazla açıklığa sahip olması için jsp'ye sahip olabilecek tüm kodları kaldırmanızı öneririm. – meyquel
Tüm yığın izlerini günlüklerden alın. – nitind