jsp - Java Login Servlet getting a internal error request HTTP 500 java.lang.NullPointerException -


i'm working on java web application uses login servlet jsp login page. login page action set go servlet won't load , i'm getting http 500 error. had arraylist stored username , password locally in java class worked fine without error until changed pull login data local mysql database using jdbc. database setup table "user" has string data user class.

i ran seperate java class test database , seemed run fine when tried implement web application gave errors within loginservlet. setup authenicationservice class pull user login data database , store them objects in arraylist. not sure if there better way didn't want mess previous code seemed work ok prior changes. i'm sure there better way i'm kind of lost change appreciated thanks.

here user class have setup business logic layer:

public class user { private string username; private string password; private string firstname; private string lastname; private string email; private string phonenumber;   public user(string username, string pwd, string first, string last, string email, string phone) {    this.password = pwd;    this.username = username;    this.firstname = first;    this.lastname = last;    this.email = email;    this.phonenumber = phone; }   public string getfirstname() {     return firstname; }   public string getlastname() {     return lastname; }   public string getusername() {     return this.username; }  private string getpassword(){     return this.password; }  private string getemail(){     return this.email; }  private string getphonenumber(){     return this.phonenumber; }  public boolean checklogin(string username, string pwd){     return this.getusername().equals(username) && this.getpassword().equals(pwd); }     } 

another class setup pulls user login data database:

import java.sql.connection; import java.sql.drivermanager; import java.sql.resultset; import java.sql.sqlexception; import java.sql.preparedstatement; import java.sql.statement; import java.util.arraylist; import java.util.iterator;   public class authenicationservice {     arraylist<user> users;       public authenicationservice()throws sqlexception {         string username = null;         string password = null;         string firstname = null;         string lastname = null;         string email = null;         string phone =  null;            try {          connection myconn =   drivermanager.getconnection("jdbc:mysql://localhost:3306/titanbank_db", "root", "sesame");          statement mystmt = myconn.createstatement();          resultset result = mystmt.executequery("select * user");          while (result.next()){              username = result.getstring("username");               password = result.getstring("password");              firstname = result.getstring("firstname");              lastname = result.getstring("lastname");              email = result.getstring("email");              phone = result.getstring("phone");              users = new arraylist<user>();              users.add(new user(username, password, firstname, lastname, email, phone));       }             }           catch (exception exc){             exc.printstacktrace();     } }       public user login(string username, string pwd){         user actual = null;         (user me : users) {             if (me.checklogin(username, pwd)){                 actual = me;             }         }         return actual;     } } 

login servlet:

import com.titanbank.bll.*; import java.io.ioexception; import java.sql.sqlexception; import java.util.logging.level; import java.util.logging.logger; import javax.servlet.servletexception; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse;    public class loginservlet extends httpservlet {   protected void processrequest(httpservletrequest request, httpservletresponse response)         throws servletexception, ioexception {  }   @override protected void doget(httpservletrequest request, httpservletresponse response)         throws servletexception, ioexception {     processrequest(request, response); }  @override protected void dopost(httpservletrequest request, httpservletresponse response)         throws servletexception, ioexception {      try {         string username = request.getparameter("username");         string pwd = request.getparameter("password");            authenicationservice service = new authenicationservice();         user user = service.login(username, pwd);          string url = "/accounts/accounts.jsp";         string errorurl = "/stderror.jsp";          request.setattribute("login", "true");            if (user != null)             getservletcontext().getrequestdispatcher(url).forward(request, response);         else             getservletcontext().getrequestdispatcher(errorurl).forward(request, response);     } catch (sqlexception ex) {         logger.getlogger(loginservlet.class.getname()).log(level.severe, null, ex);     } }   @override public string getservletinfo() {     return "short description"; }// </editor-fold>  } 

error i'm getting:

type exception report  message  description server encountered internal error prevented fulfilling     request.  exception  java.lang.nullpointerexception com.titanbank.bll.authenicationservice.login(authenicationservice.java:56) com.titanbank.controllers.loginservlet.dopost(loginservlet.java:41) javax.servlet.http.httpservlet.service(httpservlet.java:644) javax.servlet.http.httpservlet.service(httpservlet.java:725) org.apache.tomcat.websocket.server.wsfilter.dofilter(wsfilter.java:52) org.netbeans.modules.web.monitor.server.monitorfilter.dofilter(monitorfilter.java:393) note full stack trace of root cause available in apache tomcat/8.0.9 logs. 

   public user login(string username, string pwd){     user actual = null;    if(users!=null){     (user me : users) {         if (me.checklogin(username, pwd)){             actual = me;         }     }     return actual;     }     return null;     } 

Comments

Popular posts from this blog

ruby on rails - RuntimeError: Circular dependency detected while autoloading constant - ActiveAdmin.register Role -

c++ - OpenMP unpredictable overhead -

javascript - Wordpress slider, not displayed 100% width -