J'ai récemment commencé la programmation Java. Je reçois java.lang.NullPointerException dans mon serlvet. Le code est posté ci-dessous. Quelqu'un peut-il m'aider s'il-vous-plaît?java.lang.NullPointerException- servlet de connexion
J'utilise mysql-nom d'utilisateur, mot de passe, etc sont corrects.Je peux voir les valeurs dans le tableau.
message dans la console -
java.lang.NullPointerException
à j2ee.Authenticate.processRequest (Authenticate.java:49)
à j2ee.Authenticate.doGet (Authenticate.java:93)
code -
package j2ee;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(name = "Authenticate", urlPatterns = {"/Authenticate"})
public class Authenticate extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String user = request.getParameter("userId");
String pwd = request.getParameter("passwd");
String dbuser = null;
String dbpwd = null;
try
{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/j2ee","root","password");
String query = "select username, password from user_info where username=? && password=?";
PreparedStatement p = con.prepareStatement(query);
p.setString(1,dbuser);
p.setString(2,dbpwd);
ResultSet rs=p.executeQuery();
if(dbuser.equals(user) && dbpwd.equals(pwd))
{
String s=request.getParameter(user);
out.println("Welcome" +s);
RequestDispatcher rd = request.getRequestDispatcher("Home");
rd.include(request, response);
}
else
{
out.println("Please enter a valid Username and Password!");
RequestDispatcher rd = request.getRequestDispatcher("Login");
rd.include(request, response);
}
}
catch (IOException e)
{
System.out.println(e);
} catch (ClassNotFoundException e) {
System.out.println(e);
} catch (SQLException e) {
System.out.println(e);
} catch (ServletException e) {
System.out.println(e);
}
}
qu'est-ce que 'null'? –
Avez-vous essayé de parcourir votre code pour déterminer quelle valeur est nulle? Je sais que l'éclipse a un très bon support pour le débogage. (Cela fait un moment que je l'ai utilisé, donc cela aurait pu changer.) – Freddy
Voyez-vous où vous avez la ligne 'at j2ee.Authenticate.processRequest (Authenticate.java:49)'? Cela vous indique que le problème est dans la ligne 49 de 'Authenticate.java'. Le 'NullPointerException' vous indique que vous avez une variable qui est nulle. Cela pourrait vous aider à voir où le problème vient. – glenatron