以下是一个小的登录程序
package TH.daos;import java.util.List;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;import TH.formbeans.Admin;public class adminDao {
static SessionFactory sessionFactory;
static{
try{
Configuration config=new Configuration().configure();
sessionFactory=config.buildSessionFactory();
}catch(Exception e){
System.out.println(e.getMessage());
}
}
/*get admin info*/
public int adminLogin(Admin guest,HttpServletRequest request){
int rtn=-1;
Session session=sessionFactory.openSession();
String name=guest.getUsername();
String pwd=guest.getPassword();
String sql="from Admin where Admin.username='"+name+"'";
Query query=session.createQuery(sql);
List list=query.list();
if(list.size()==1){
Admin admin=(Admin)list.get(0);
String name1=admin.getUsername();
if(pwd.equals(admin.getPassword())){
rtn=1;
HttpSession httpsession=request.getSession();
httpsession.setAttribute("Manager",name);
}else{
rtn=2;
}
}else{
rtn=3;
}
return rtn;
}
}
当调用会报错,我已用红色标出。
java.lang.NullPointerException
TH.daos.adminDao.adminLogin(adminDao.java:30)
TH.servlet.adminLogin.doPost(adminLogin.java:77)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
请问这都是什么原因引起的。
package TH.daos;import java.util.List;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;import TH.formbeans.Admin;public class adminDao {
static SessionFactory sessionFactory;
static{
try{
Configuration config=new Configuration().configure();
sessionFactory=config.buildSessionFactory();
}catch(Exception e){
System.out.println(e.getMessage());
}
}
/*get admin info*/
public int adminLogin(Admin guest,HttpServletRequest request){
int rtn=-1;
Session session=sessionFactory.openSession();
String name=guest.getUsername();
String pwd=guest.getPassword();
String sql="from Admin where Admin.username='"+name+"'";
Query query=session.createQuery(sql);
List list=query.list();
if(list.size()==1){
Admin admin=(Admin)list.get(0);
String name1=admin.getUsername();
if(pwd.equals(admin.getPassword())){
rtn=1;
HttpSession httpsession=request.getSession();
httpsession.setAttribute("Manager",name);
}else{
rtn=2;
}
}else{
rtn=3;
}
return rtn;
}
}
当调用会报错,我已用红色标出。
java.lang.NullPointerException
TH.daos.adminDao.adminLogin(adminDao.java:30)
TH.servlet.adminLogin.doPost(adminLogin.java:77)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
请问这都是什么原因引起的。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货