Я пытаюсь получить данные из базы данных с помощью JSP, но при запуске на сервере я получаю следующую ошибку. Может ли кто-нибудь сказать мне, что случилось, и показать мне, как это исправить?Java EE, JDBC и Tomcat
type Rapport d''exception
message java.lang.NullPointerException
description Le serveur a rencontré une erreur interne qui l''a empêché de satisfaire la requête.
exception
org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549)
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:728)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
cause mère
java.lang.NullPointerException
org.apache.jsp.vrf_jsp._jspService(vrf_jsp.java:84)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
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:728)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/7.0.47.
вот мой код:
package utilitaire;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Database
{
public Connection con;
public Connection createConnection()
{
try
{
Class.forName("com.mysql.jdbc.driver");
this.con = DriverManager.getConnection("jdbc:mysql://localhost:3306/scoop_phase2p2","root","");
}catch(ClassNotFoundException e){
System.out.println("driver introuvable");
}catch(SQLException e){
e.getErrorCode();
}
return this.con;
}
}
/* ** * ** * ** * ** * ** * ** * ** * * * * ** * ** * ** * ** */
<%@ page language = "java" %>
<%@ page import = "utilitaire.Admin" %>
<%@ page import = "utilitaire.Database" %>
<%@ page import = "java.sql.SQLException" %>
<%@ page import = "java.sql.ResultSet" %>
<%@ page import = "java.sql.PreparedStatement" %>
<%@ page import = "java.sql.Connection" %>
<%
String login = request.getParameter("login");
String mdp = request.getParameter("mdp");
Database db = new Database();
Connection conn = db.createConnection();
try
{
PreparedStatement query = conn.prepareStatement("SELECT * FROM admin WHERE login= ? AND DECODE(mdp, 'key')=?");
query.setString(1, login);
query.setString(2, mdp);
ResultSet rs = query.executeQuery();
for(int i=0; rs.next(); i++)
if(i!=0)
out.print("yup");
else
out.print("nope");
}catch(SQLException e){
e.getCause();
}
%>
NullPointerException происходит, когда вы пытаетесь использовать метод невагоризованного объекта. Когда у меня возникает эта проблема, я вставляю некоторые if (! = Null) {} else {} в использование каждого объекта для просмотра источника проблемы. При первом представлении вы не создаете соединение в JSP, beacause conn равно null – alepuzio