javax.servlet.ServletException///java.lang.NullPointerException
请高手指点,非常感谢!!!
Tomcat5.5.26报错:
exception:
javax.servlet.ServletException
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:520)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:427)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause :
java.lang.NullPointerException
com.core.MySession.openSession(MySession.java:24)
com.dao.UserDAO.query(UserDAO.java:15)
com.dao.UserDAO.login(UserDAO.java:70)
com.action.User.login(User.java:130)
com.action.User.execute(User.java:34)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
MySession.java:
public class MySession {
static SessionFactory sessionFactory;
static {
try {
Configuration config = new Configuration().configure();
sessionFactory = config.buildSessionFactory();
} catch (Exception e) {
System.out.println("创建SessionFactory时的错误信息:" + e.getMessage());
}
}
//打开Session
public static Session openSession() {
24行: Session session = sessionFactory.openSession();
return session;
}
//关闭Session
public static void closeSession(Session session) {
if (session != null) {
session.close();
}
}
}
UserDAO.java:
public String login(UserForm userForm,HttpServletRequest request){
String rtn="";
String name=userForm.getName();
String pwd=userForm.getPwd();
String str="name='"+name+"'";
70行: List list = query(str);
if(list.size()==1){
UserForm m=(UserForm)list.get(0);
String username=m.getName();
if(pwd.equals(m.getPwd())){
rtn="ok";
//********将登录的用户名称保存到HttpSession中****
HttpSession httpsession=request.getSession();
httpsession.setAttribute("username",username);
//********************************************
System.out.println("登录成功!");
}else{
rtn="您输入的密码错误!";
System.out.println("密码错误!");
}
}else{
rtn="您输入的用户名称错误!";
System.out.println("您输入的用户名称错误!");
}
return rtn;
}
User.java:
//用户登录
public ActionForward login(ActionMapping mapping, ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
UserForm userForm = (UserForm) form;
130行: String rtn=userDAO.login(userForm,request);
if(rtn.equals("ok")){
return mapping.findForward("loginok");
}else{
request.setAttribute("error",rtn);
return mapping.findForward("error");
}
}
}else if(action.equals("login")){
34行: return login(mapping,form,request,response);
}else{
request.setAttribute("err","您的操作有误!");
return mapping.findForward("error");
}