public boolean isValid(final String oid, final String opwd) {
List list = (List) getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException {
List result = session.createCriteria(Operator.class).add(
Restrictions.eq("oid", oid)).add(
Restrictions.eq("opwd", opwd)).list();
return result;
}
});
if (list.size() > 0) {
return true;
} else {
return false;
}
}
以上这段代码在DAO测试时没有出现问题,但在执行action.do调用DAO时出现空指针错误,请问是怎么回事?
List list = (List) getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException {
List result = session.createCriteria(Operator.class).add(
Restrictions.eq("oid", oid)).add(
Restrictions.eq("opwd", opwd)).list();
return result;
}
});
if (list.size() > 0) {
return true;
} else {
return false;
}
}
以上这段代码在DAO测试时没有出现问题,但在执行action.do调用DAO时出现空指针错误,请问是怎么回事?
解决方案 »
- Struts2 spring hibernate参数传递问题
- 用axis开发webservice,call.invoke(requestSoapMsg)返回的status是“20002”
- eclipse和myeclipse版本问题
- 在线等..jsp页面数据更新问题
- 关于jsp页面网页卡死现象的问题原因征集!
- 一个*.java 中可不可以有多个的package 呢??
- web开发的初学者请进来
- 请帮忙大侠
- 各位大神帮忙,hql查询问题,
- 如何配置localhost的二级域名?例如http://test.localhost
- java.lang.NullPointerException
- 点击浏览器刷新按钮和回退、前进按钮时是发送新的http请求么?
attribute="loginForm"
input="/login.jsp"
name="loginForm"
path="/login"
scope="request"
type="com.hotel.struts.action.LoginAction">
<forward name="success" path="/welcome.jsp" />
<forward name="failure" path="/login.jsp" />
</action> <bean name="/login" class="com.hotel.struts.action.LoginAction">
<property name="operatorDAO">
<ref local="operatorDAO" />
</property>
</bean>请帮我看看问题出在哪?
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.actions.DispatchAction;import com.hotel.hibernate.dao.OperatorDAO;
import com.hotel.struts.form.LoginForm;
import com.hotel.struts.util.Constants;
public class LoginAction extends DispatchAction { protected OperatorDAO operatorDAO = new OperatorDAO();
Logger log = Logger.getLogger(this.getClass()); public OperatorDAO getOperatorDAO() {
return operatorDAO ;
} public void setOperatorDAO(OperatorDAO operatorDAO) {
this.operatorDAO = operatorDAO;
}
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception { ActionMessages messages = new ActionMessages();
ActionForward forward = new ActionForward();
LoginForm loginForm = (LoginForm) form; try {
// get parameters
String oid = loginForm.getOid();
String opwd = loginForm.getOpwd();
// invalidate the original session if exists
HttpSession session = request.getSession(false);
if (session != null) {
session.invalidate();
} // create a new session for the user
session = request.getSession(true); // login
if (operatorDAO.isValid(oid,opwd)){
session.setAttribute(Constants.OPERATOR_KEY, oid);
log.info("Operator " + oid + " login.");
} else {
messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"login.message.failed"));
} } catch (Exception e) {
messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"login.message.failed"));
} // If a message is required, save the specified key(s)
// into the request for use by the <struts:errors> tag. if (!messages.isEmpty()) {
saveErrors(request, messages);
request.setAttribute("loginFormBean", loginForm);
forward = mapping.findForward(Constants.FAILURE_KEY);
} else {
forward = mapping.findForward(Constants.SUCCESS_KEY);
} // Finish with
return (forward);
}
}