loginaction.java
来自「一个购房管理系统,JSF+Hibernate+Mssql2」· Java 代码 · 共 103 行
JAVA
103 行
package com.housesale.struts.action;
import java.io.UnsupportedEncodingException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
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.housesale.hibernate.Customer;
import com.housesale.hibernate.Operator;
import com.housesale.struts.form.LoginForm;
import com.housesale.util.TreeBuildMenu;
public class LoginAction extends DispatchAction {
private static final String USER_TYPE = "userType";
private static final String LOGINFAIL = "loginfail";
private static final String LOGINOK = "loginok";
private static final String SYS_USER = "sysUser";
private static final String JAVASCRIPT = "javascript";
private static final String toChart = "utf-8";
private static final String fromChart = "ISO-8859-1";
public LoginAction() {
super();
}
public ActionForward logIn(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
LoginForm loginForm = (LoginForm) form;
String userName = loginForm.getName();
String password = loginForm.getPassword();
String userType = loginForm.getUserType();
String javaScript = null;
TreeBuildMenu treeBuildMenu = new TreeBuildMenu();
if (userType.equals("manager")) {
Operator operator = treeBuildMenu.getOperator(userName, password);
if (operator != null) {
javaScript = treeBuildMenu.buildMenu(
operator.getOperatorName(), userType);
return setAttribute(mapping, request, javaScript, operator,
userType);
}
} else if (userType.equals("customer")) {
Customer customer = treeBuildMenu.getCustomer(userName, password);
if (customer != null) {
javaScript = treeBuildMenu.buildMenu(
customer.getCustomerName(), userType);
return setAttribute(mapping, request, javaScript, customer,
userType);
}
}
return mapping.findForward(LOGINFAIL);
}
private ActionForward setAttribute(ActionMapping mapping,
HttpServletRequest request, String javaScript, Object sysUser,
String userType) throws UnsupportedEncodingException {
if (javaScript != null && !javaScript.equals("")) {
HttpSession session = request.getSession(true);
session.setAttribute(USER_TYPE, userType);
session.setAttribute(SYS_USER, sysUser);
session.setAttribute(JAVASCRIPT, javaScript);
return mapping.findForward(LOGINOK);
} else {
return mapping.findForward(LOGINFAIL);
}
}
private String toChinise(String javaScript)
throws UnsupportedEncodingException {
return new String(javaScript.getBytes(fromChart), toChart);
}
public ActionForward logOut(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
HttpSession session = (HttpSession) request.getSession(false);
session.removeAttribute("sysUser");
session.removeAttribute("userType");
session.removeAttribute("javascript");
return mapping.findForward("index");
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?