qq_38504311 2017-06-22 11:28 采纳率: 0%
浏览 998
已结题

为什么注册之后显示用户名已存在?

注册之后显示用户名已存在,但是数据库中并没有,求指教图片说明
package com.demo.struts.actions;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;

import com.demo.hibernate.beans.User;
import com.demo.hibernate.dao.UserDAO;
import com.demo.struts.forms.RegisterForm;
import com.demo.struts.util.Constants;

public class RegisterAction extends DispatchAction {

protected UserDAO userDAO;

Logger log = Logger.getLogger(this.getClass());

public UserDAO getUserDAO() {
    return userDAO;
}

public void setUserDAO(UserDAO userDAO) {
    this.userDAO = userDAO;
}

public ActionForward init(ActionMapping mapping, ActionForm form,
        HttpServletRequest request, HttpServletResponse response)
        throws Exception {
    ActionForward forward = mapping.findForward(Constants.FAILURE_KEY);
    return (forward);
}

public ActionForward register(ActionMapping mapping, ActionForm form,
        HttpServletRequest request, HttpServletResponse response)
        throws Exception {

    ActionMessages messages = new ActionMessages();
    ActionForward forward = new ActionForward();
    RegisterForm registerForm = (RegisterForm) form;

    try {
        // if exist
        boolean isExist = isExist(request, registerForm);

        if (isExist) {
            messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                    "register.message.failed"));
        } else {
            insert(request, registerForm);
            log.info("User " + registerForm.getUsername() + " register.");
        }

    } catch (Exception e) {
        messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                "register.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("registerFormBean", registerForm);
        forward = mapping.findForward(Constants.FAILURE_KEY);
    } else {
        forward = mapping.findForward(Constants.SUCCESS_KEY);
    }

    // Finish with
    return (forward);
}

private boolean isExist(HttpServletRequest request,
        RegisterForm registerForm) {
if (getUserDAO().isExist(registerForm.getUsername())) {
    return true;
} else {
        return false;
    }
}

private void insert(HttpServletRequest request, RegisterForm registerForm) {
    User user = new User();
    user.setUsername(registerForm.getUsername());
    user.setPassword(registerForm.getPassword1());
    user.setEmail(registerForm.getEmail());
    getUserDAO().insertUser(user);
}

}

  • 写回答

3条回答 默认 最新

  • zhanjr 2017-06-22 11:56
    关注

    getUserDAO().isExist(registerForm.getUsername()) 这个方法里面看了没

    评论

报告相同问题?