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

📄 struts+ejb.txt

📁 DispatchAction 的一般使用
💻 TXT
字号:
package struts;

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 org.apache.struts.action.Action;
import javax.naming.Context;
import atm.EnterHome;
import javax.rmi.PortableRemoteObject;
import java.util.Properties;
import atm.Enter;
import java.util.ArrayList;
import org.apache.struts.actions.DispatchAction;
import java.util.List;

//EJB加Struts的应用

//主要是对Action的改写


//默认的Action类的继承对象是Action类,这样的话,那就是要求一个操作就要对应多个Actio类,那样会造成项目的难以维护和可扩展性不强的问题

//当继承DispatchAction这个Action的子类后就可以书写多个ActionForward方法。
//唯一的要求就是要修改配置文件struts-config.xml在<Action perporty="method"></Action>添加perporty="method".就是在提交给Action.do?method=delprice参数


public class MainAction extends DispatchAction {
    public ActionForward addprice(ActionMapping mapping, ActionForm form,
                                  HttpServletRequest request,
                                  HttpServletResponse response) {
        ATMActionForm atmForm = (ATMActionForm) form;
        String cardid = request.getSession().getAttribute("cardid").toString();
        Float bal = atmForm.getBalance();
        float balance = bal.floatValue();
        System.out.println("传过来的卡号是:" + cardid);
        System.out.println("传过来的钱为:" + balance);
        System.out.println("开始存款......");
        String mess = save(cardid, balance);
        request.setAttribute("message", mess);
        return mapping.findForward("addprice");
    }

    public ActionForward delprice(ActionMapping mapping, ActionForm form,
                                  HttpServletRequest request,
                                  HttpServletResponse response) {
        ATMActionForm atmForm = (ATMActionForm) form;
        String cardid = request.getSession().getAttribute("cardid").toString();
        Float bal = atmForm.getBalance();
        float balance = bal.floatValue();
        System.out.println("传过来的卡号是:" + cardid);
        System.out.println("传过来的钱为:" + balance);
        System.out.println("开始取款......");
        String mess = fetch(cardid, balance);
        request.setAttribute("message", mess);
        return mapping.findForward("delprice");
    }

    public ActionForward query(ActionMapping mapping, ActionForm form,
                               HttpServletRequest request,
                               HttpServletResponse response) {
        ATMActionForm atmForm = (ATMActionForm) form;
        String cardid = request.getSession().getAttribute("cardid").toString();
        System.out.println("开始查询余额.....");
        String mess = querylist(cardid);
        request.setAttribute("mess", mess);
        return mapping.findForward("query");
    }

    //virement
    public ActionForward updatepassword(ActionMapping mapping, ActionForm form,
                                        HttpServletRequest request,
                                        HttpServletResponse response) {
        ATMActionForm atmForm = (ATMActionForm) form;
        String cardid = request.getSession().getAttribute("cardid").toString();
        String oldpassword = atmForm.getPassword();
        System.out.println("老密码:"+oldpassword);
        String password = request.getParameter("upassword");
        System.out.println("新密码:"+password);
        System.out.println("开始修改密码.....");
        String mess = remakpassword(cardid, oldpassword, password);
        request.setAttribute("message", mess);
        return mapping.findForward("update");
    }

    public ActionForward virement(ActionMapping mapping, ActionForm form,
                                  HttpServletRequest request,
                                  HttpServletResponse response) {
        ATMActionForm atmForm = (ATMActionForm) form;
        String cardid = request.getSession().getAttribute("cardid").toString();
        String inputcardid = atmForm.getCardid();
        Float bal = atmForm.getBalance();
        float price = bal.floatValue();
        System.out.println("开始转帐.....");
        String mess = virement(cardid,price,inputcardid);
        request.setAttribute("message", mess);
        return mapping.findForward("virement");
    }

    public String remakpassword(String cardid, String oldpassword,
                                String password) {
        String mess = "";
        Enter ter = ter();
        try {
            mess = ter.Reworkpassword(cardid, oldpassword, password);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return mess;
    }

    public String virement(String cardid, float price,
                                String inputcardid) {
        String mess = "";
        Enter ter = ter();
        try {
            mess = ter.Virement(cardid,price,inputcardid);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return mess;
    }

    public String querylist(String cardid) {
        String mess = "";
        Enter ter = ter();
        try {
            mess = ter.Querybalance(cardid).toString();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return mess;
    }

    public String fetch(String accoutNo, float price) {
        String mess = "";
        try {
            Enter ter = ter();
            mess = ter.Fetch(accoutNo, price);
        } catch (Exception ne) {
            ne.printStackTrace();
        }
        return mess;
    }

    public String save(String accoutNo, float price) {
        String mess = "";
        try {
            Enter ter = ter();
            mess = ter.Saving(accoutNo, price);
        } catch (Exception ne) {
            ne.printStackTrace();
        }
        return mess;
    }

    public Enter ter() {
        Enter ter = null;
        try {
            Context context = getInitialContext();
            Object ref = context.lookup("Enter");
            EnterHome enterHome = (EnterHome) PortableRemoteObject.narrow(ref,
                    EnterHome.class);
            ter = enterHome.create();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return ter;
    }

    public Context getInitialContext() throws Exception {
        String url = "t3://127.0.0.1:7001";
        String user = null;
        String password = null;
        Properties properties;
        try {
            properties = new Properties();
            properties.put(Context.INITIAL_CONTEXT_FACTORY,
                           "weblogic.jndi.WLInitialContextFactory");
            properties.put(Context.PROVIDER_URL, url);
            if (user != null) {
                properties.put(Context.SECURITY_PRINCIPAL, user);
                properties.put(Context.SECURITY_CREDENTIALS,
                               password == null ? "" : password);
            }
            return new javax.naming.InitialContext(properties);
        } catch (Exception e) {
            throw e;
        }
    }
}

⌨️ 快捷键说明

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