loginaction.java

来自「Demo利用SSH分三层」· Java 代码 · 共 57 行

JAVA
57
字号

package limq.struts.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.*;
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.validator.DynaValidatorForm;

public class LoginAction extends BaseAction {

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

        HttpSession session = request.getSession();
        String username = null;
        String password = null;
        String kind = null;
     
        username = (String)((DynaValidatorForm) form).get("username");
        password = (String)((DynaValidatorForm) form).get("password");
        kind = (String)((DynaValidatorForm) form).get("kind");


        if (kind.equals("student") && super.getStudentsService().validate(username, password))            
        { 
        session.setAttribute("username",username);
        return mapping.findForward("student");
        }
        else if (kind.equals("teacher") && super.getTeachersSerivce().validate(username, password))
        {
            session.setAttribute("username",username);
            return mapping.findForward("teacher");    
          
        }
        else if (kind.equals("admin") && super.getAdminService().validate(username,password))      
        {
            session.setAttribute("username",username);
            return mapping.findForward("admin");
            
            }
          ActionMessages errors = new ActionMessages();
           errors.add("username", new ActionMessage(
                            "errors.password.mismatch"));

            saveErrors(request, errors);
      
            return (new ActionForward(mapping.getInput()));
        }
    

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?