⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 logonaction.java

📁 网上银行系统 该系统是一个B/S结构的系统; 该系统采用J2EE技术架构(Struts+EJB) 该系统数据库为Oracle9i 该系统的应用服务器为Weblogic8
💻 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 + -