salesaction.java

来自「EJB+Struts+Webservice实现的开放式基金管理系统」· Java 代码 · 共 155 行

JAVA
155
字号
package com.fund.sales;


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

import org.apache.log4j.Logger;
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.ActionErrors;
import org.apache.struts.action.ActionError;

/**
 *
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class SalesAction extends Action {
    /**
     *
     * @param mapping ActionMapping
     * @param form ActionForm
     * @param request HttpServletRequest
     * @param response HttpServletResponse
     * @return ActionForward
     */
    public ActionForward execute(ActionMapping mapping, ActionForm form,
                                 HttpServletRequest request,
                                 HttpServletResponse response) {

        String parameter = mapping.getParameter();
        if (parameter.equals("registration")) {
            return add(mapping, form, request, response);
        }  else if (parameter.equals("login")) {
            return authenticate(mapping, form, request, response);
        } else  {
            return logout(mapping, form, request, response);
        }
    }

    /**
     *
     * @param mapping ActionMapping
     * @param form ActionForm
     * @param request HttpServletRequest
     * @param response HttpServletResponse
     * @return ActionForward
     */
    private ActionForward add(ActionMapping mapping,
                              ActionForm form,
                              HttpServletRequest request,
                              HttpServletResponse response) {
        String target = "success";
        SalesForm sales = (SalesForm) form;
        if (sales.getSalesDto().getPassword().equals(sales.getConfirmpwd())) {
            sales.getSalesDto().setCreatedDate(new java.sql.Timestamp((new java.
                    util.Date()).getTime()));
            try {
                //Registering new Sales
                SalesDelegate sd = new SalesDelegate();
                sd.createSales(sales.getSalesDto());
                SalesDto sdto = sd.salesFindByLogin(sales.getSalesDto().
                        getUsername().toUpperCase(),
                        sales.getSalesDto().getPassword());
                Logger log = Logger.getLogger(
                        "com.fund.sales.SalesAction.class");
                log.info(sdto.logData("SALES ADDED"));

            } catch (Exception e) { //username already exists
                target = "failure";
                ActionErrors errors = new ActionErrors();
                errors.add("username",
                           new ActionError("salesForm.usernameexists"));
                saveErrors(request, errors);
            }
        } else { //password is not equals to confirm password
            target = "failure";
            ActionErrors errors = new ActionErrors();
            errors.add("username",
                       new ActionError("salesForm.passwordmissmatch"));
            saveErrors(request, errors);
        }
        return mapping.findForward(target);
    }

    /**
     *
     * @param mapping ActionMapping
     * @param form ActionForm
     * @param request HttpServletRequest
     * @param response HttpServletResponse
     * @return ActionForward
     */
    private ActionForward authenticate(ActionMapping mapping,
                                       ActionForm form,
                                       HttpServletRequest request,
                                       HttpServletResponse response) {
        String target = "success";
        SalesForm sales = (SalesForm) form;
        try {
            //Retriving SalesDto for the specified username & password
            SalesDelegate sd = new SalesDelegate();
            SalesDto salesDto = sd.salesFindByLogin(sales.getSalesDto().
                    getUsername().toUpperCase(),
                    sales.getSalesDto().getPassword());
            //Placing the SalesDto in session
            HttpSession session = request.getSession(true);
            session.setAttribute("salesDto", salesDto);
        } catch (Exception e) {
            //did not retrive the SalesDto for specified username and password
            target = "failure";
            //Adding invalid username or password message
            ActionErrors errors = new ActionErrors();
            errors.add("username", new ActionError("salesForm.invalidlogin"));
            saveErrors(request, errors);

        }
        return mapping.findForward(target);
    }

    /**
     *
     * @param mapping ActionMapping
     * @param form ActionForm
     * @param request HttpServletRequest
     * @param response HttpServletResponse
     * @return ActionForward
     */
    private ActionForward logout(ActionMapping mapping,
                                 ActionForm form,
                                 HttpServletRequest request,
                                 HttpServletResponse response) {
        String target = "success";
        try {
            HttpSession session = request.getSession();
            session.removeAttribute("salesDto");
            session.invalidate();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return mapping.findForward(target);
    }
}

⌨️ 快捷键说明

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