📄 logonaction.java
字号:
/**
* (C) JB-APTECH.
*/
package com.aptech.accp.bank.action;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForward;
import com.aptech.accp.bank.form.LogonForm;
import org.apache.commons.logging.LogFactory;
import org.apache.commons.logging.Log;
import org.apache.struts.action.ActionMessages;
import javax.naming.Context;
import javax.naming.InitialContext;
import com.aptech.accp.bank.ejb.session.LogonHome;
import javax.rmi.PortableRemoteObject;
import com.aptech.accp.bank.ejb.session.Logon;
import javax.naming.NamingException;
import javax.ejb.CreateException;
import java.rmi.RemoteException;
import org.apache.struts.action.Action;
/**
* 实现登陆用例的Action类.
* <p>Title:com.aptech.accp.bank.action.LogonAction </p> *
* <p>Description: </p> *
* <p>Copyright: Copyright (c) 2005</p> *
* <p>Company: </p> *
* @author Michael Luo
* @version 1.0
*/
public class LogonAction extends Action {
/**
* Action类方法重写.
* @param actionMapping ActionMapping
* @param actionForm ActionForm
* @param servletRequest HttpServletRequest
* @param servletResponse HttpServletResponse
* @return ActionForward
*/
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm,
HttpServletRequest servletRequest,
HttpServletResponse servletResponse) {
/**日志处理.*/
Log log = LogFactory.getLog("BankLog");
log.trace("This is a trace message from LogonAction");
LogonForm logonForm = (LogonForm) actionForm;
String accountNo = logonForm.getAccountNo();
String password = logonForm.getPassword();
log.trace("accountNo:" + accountNo);
String checkDes = "";
if (accountNo == null || accountNo.trim().equals("")) {
checkDes = "请输入帐号!";
} else if (password == null || password.trim().equals("")) {
checkDes = "请输入密码!";
} else {
int checkResult = checkAccout(accountNo, password);
switch (checkResult) {
case -2:
checkDes = "此帐号已经被冻结!";
break;
case -1:
checkDes = "此帐号不存在!";
break;
case 0:
checkDes = "密码不对!";
break;
default:
break;
}
}
/** 资源获取 .*/
org.apache.struts.util.MessageResources messages = getResources(
servletRequest);
servletRequest.getSession().setAttribute("AccountNo", accountNo);
/**页面流转控制.*/
ActionMessages errors = new ActionMessages();
if (!checkDes.equals("")) {
servletRequest.setAttribute("check", checkDes);
return new ActionForward(actionMapping.getInput());
} else {
return actionMapping.findForward("main");
}
}
/**
* 检查登陆账户.
* @param accoutNo String
* @param password String
* @return int -1 表示帐户不存在,-2表示帐户已经冻结, 0 表示密码不正确,1表示帐户存在且密码正确
*/
public int checkAccout(String accoutNo, String password) {
int result = 0;
try {
Context initial = new InitialContext();
Object obj = initial.lookup("Logon");
LogonHome home = (LogonHome) PortableRemoteObject.narrow(obj,
LogonHome.class);
Logon logon = home.create();
result = logon.checkAccount(accoutNo, password);
} catch (NamingException ne) {
ne.printStackTrace();
} catch (CreateException ce) {
ce.printStackTrace();
} catch (RemoteException re) {
re.printStackTrace();
}
return result;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -