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

📄 dispatcher.java

📁 j2ee tutorial
💻 JAVA
字号:
/*
 *
 * Copyright 2001 Sun Microsystems, Inc. All Rights Reserved.
 * 
 * This software is the proprietary information of Sun Microsystems, Inc.  
 * Use is subject to license terms.
 * 
 */

package com.sun.ebank.web;
import javax.servlet.*;
import javax.servlet.http.*;
import com.sun.ebank.util.Debug;
import java.util.*;
import java.math.BigDecimal;

public class Dispatcher extends HttpServlet {
  public void doGet(HttpServletRequest request, HttpServletResponse response) {   
      HttpSession session = request.getSession();
      ResourceBundle messages = (ResourceBundle)session.getAttribute("messages");
      if (messages == null) {
         Locale locale=request.getLocale();
         messages = ResourceBundle.getBundle("WebMessages", locale); 
         session.setAttribute("messages", messages);
      }


    String selectedScreen = request.getServletPath();
    request.setAttribute("selectedScreen", selectedScreen);
    BeanManager beanManager = (BeanManager)getServletContext().getAttribute("beanManager");

    if (selectedScreen.equals("/accountHist")) {
      AccountHistoryBean accountHistoryBean = new AccountHistoryBean();
      request.setAttribute("accountHistoryBean", accountHistoryBean);
      try {
        accountHistoryBean.setAccountId(request.getParameter("accountId"));
        accountHistoryBean.setSortOption(Integer.parseInt(request.getParameter("sortOption")));
        accountHistoryBean.setActivityView(Integer.parseInt(request.getParameter("activityView")));
        accountHistoryBean.setDate(Integer.parseInt(request.getParameter("date")));
        accountHistoryBean.setYear(Integer.parseInt(request.getParameter("year")));
        accountHistoryBean.setSinceDay(Integer.parseInt(request.getParameter("sinceDay")));
        accountHistoryBean.setSinceMonth(Integer.parseInt(request.getParameter("sinceMonth")));
        accountHistoryBean.setBeginDay(Integer.parseInt(request.getParameter("beginDay")));
        accountHistoryBean.setBeginMonth(Integer.parseInt(request.getParameter("beginMonth")));
        accountHistoryBean.setEndDay(Integer.parseInt(request.getParameter("endDay")));
        accountHistoryBean.setEndMonth(Integer.parseInt(request.getParameter("endMonth")));
      } catch (NumberFormatException e) {
      }
      accountHistoryBean.setBeanManager(beanManager);
      accountHistoryBean.populate();
    }
    try {
        request.getRequestDispatcher("/template.jsp").forward(request, response);
    } catch(Exception ex) {
      ex.printStackTrace();
    }
  }
  public void doPost(HttpServletRequest request, HttpServletResponse response) {
    HttpSession session = request.getSession();
    ResourceBundle messages = (ResourceBundle)session.getAttribute("messages");
    String selectedScreen = request.getServletPath();
    Debug.print(selectedScreen);  
    request.setAttribute("selectedScreen", selectedScreen);
    BeanManager beanManager = (BeanManager)getServletContext().getAttribute("beanManager");

    if (selectedScreen.equals("/accountHist")) {
      AccountHistoryBean accountHistoryBean = new AccountHistoryBean();
      request.setAttribute("accountHistoryBean", accountHistoryBean);
      try {
        accountHistoryBean.setAccountId(request.getParameter("accountId"));
        accountHistoryBean.setSortOption(Integer.parseInt(request.getParameter("sortOption")));
        accountHistoryBean.setActivityView(Integer.parseInt(request.getParameter("activityView")));
        accountHistoryBean.setYear(Integer.parseInt(request.getParameter("year")));
        accountHistoryBean.setDate(Integer.parseInt(request.getParameter("date")));
        accountHistoryBean.setSinceDay(Integer.parseInt(request.getParameter("sinceDay")));
        accountHistoryBean.setSinceMonth(Integer.parseInt(request.getParameter("sinceMonth")));
        accountHistoryBean.setBeginDay(Integer.parseInt(request.getParameter("beginDay")));
        accountHistoryBean.setBeginMonth(Integer.parseInt(request.getParameter("beginMonth")));
        accountHistoryBean.setEndDay(Integer.parseInt(request.getParameter("endDay")));
        accountHistoryBean.setEndMonth(Integer.parseInt(request.getParameter("endMonth")));
      } catch (NumberFormatException e) {
        // Not possible
      }
      accountHistoryBean.setBeanManager(beanManager);
      accountHistoryBean.populate();
    } else if (selectedScreen.equals("/transferAck")) {
      String fromAccountId = request.getParameter("fromAccountId");
      String toAccountId = request.getParameter("toAccountId");
      if ( (fromAccountId == null) || (toAccountId == null) ) {
        request.setAttribute("selectedScreen", "/error");
        request.setAttribute("errorMessage", messages.getString("AccountError"));
      } else { 
        TransferBean transferBean = new TransferBean();
        request.setAttribute("transferBean", transferBean);
        transferBean.setMessages(messages);
        transferBean.setFromAccountId(fromAccountId);       
        transferBean.setToAccountId(toAccountId);
        transferBean.setBeanManager(beanManager);
        try {
          transferBean.setTransferAmount(new BigDecimal(request.getParameter("transferAmount")));
          String errorMessage = transferBean.populate();
          if (errorMessage != null) {
          request.setAttribute("selectedScreen", "/error");
          request.setAttribute("errorMessage", errorMessage);
          }         
        } catch (NumberFormatException e) {
          request.setAttribute("selectedScreen", "/error");
          request.setAttribute("errorMessage", messages.getString("AmountError"));
        }
      }
    } else if (selectedScreen.equals("/atmAck")) {
      ATMBean atmBean = new ATMBean();
      request.setAttribute("atmBean", atmBean);
      atmBean.setMessages(messages);         
      atmBean.setAccountId(request.getParameter("accountId"));
      atmBean.setBeanManager(beanManager);
      try {
        atmBean.setAmount(new BigDecimal(request.getParameter("amount")));
        atmBean.setOperation(Integer.parseInt(request.getParameter("operation")));
        String errorMessage = atmBean.populate();
        if (errorMessage != null) {
          request.setAttribute("selectedScreen", "/error");
          request.setAttribute("errorMessage", errorMessage);
        }                 
      } catch (NumberFormatException e) {
        request.setAttribute("selectedScreen", "/error");
        request.setAttribute("errorMessage", messages.getString("AmountError"));
      }
    }       
    try {
        request.getRequestDispatcher("/template.jsp").forward(request, response);
    } catch(Exception e) {
    }
  }
}

⌨️ 快捷键说明

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