loginaction.java

来自「大唐电信的管理系统」· Java 代码 · 共 47 行

JAVA
47
字号
package task.action;

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

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.DynaActionForm;

import task.Constants;
import task.business.TaskManagerService;
import task.business.TaskManagerServiceFactory;

public class LoginAction extends Action {
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		DynaActionForm f = (DynaActionForm) form;
		String id = f.getString("id");
		String password = f.getString("password");
		String position = f.getString("position");
		TaskManagerService service = TaskManagerServiceFactory
				.getTaskManagerService();
		boolean b = service.validateUser(id, password, position);
		if (b) {
			HttpSession session = request.getSession(false);
			session.setAttribute(Constants.USER_ID, id);
			session.setAttribute(Constants.USER_ROLE, position);
			if (position.equals(Constants.POSITION_CLERK)) {
				return null;
			} else if (position.equals(Constants.POSITION_MANAGER)) {
				ActionForward forward = new ActionForward("/option.do?optionID=listTask");
				forward.setRedirect(true);
				return forward;
			} else {
				throw new Exception();
			}
		} else {
			return mapping.findForward("login");
		}
	}

}

⌨️ 快捷键说明

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