以下是一个小的登录程序
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)
请问这都是什么原因引起的。