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

📄 transfer.java

📁 网上银行EJB版本
💻 JAVA
字号:
package mypackage;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;
import javax.naming.NamingException;

public class Transfer extends HttpServlet 
{
  private static final String CONTENT_TYPE = "text/html; charset=GBK";

  public void init(ServletConfig config) throws ServletException
  {
    super.init(config);
  }

  public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
  {
    response.setContentType(CONTENT_TYPE);
    request.setCharacterEncoding("GBK");
    String accounts_a = request.getSession().getAttribute("accounts").toString();
    String accounts_b = request.getParameter("accounts_b").toString();
    String receive = request.getParameter("receive");
    String payment = String.valueOf(Double.parseDouble(receive)*1.05);
    double balance_a1 ;
    double balance_a2 ;
    double balance_b1 ;
    double balance_b2 ;
    int success_payment = 0;
    int success_receive = 0;

    if(accounts_a == accounts_b)
      request.getSession().getServletContext().getRequestDispatcher("/transferwrong.jsp").forward(request, response);
    
    try{
      Context context = new InitialContext();
      TaskHome taskHome = (TaskHome)PortableRemoteObject.narrow(context.lookup("Task"), TaskHome.class);
      Task task;
      task = taskHome.create();
      balance_a1 = Double.parseDouble(task.queryBalance(accounts_a));
      balance_b1 = Double.parseDouble(task.queryBalance(accounts_b));
      if(balance_a1 >= Double.parseDouble(payment) ){
        balance_a2 = balance_a1 - Double.parseDouble(payment);
        balance_b2 = balance_b1 + Double.parseDouble(receive);
        success_payment = task.modifyBalance(accounts_a, String.valueOf(balance_a2));
        success_receive = task.modifyBalance(accounts_b, String.valueOf(balance_b2));
      } 
      else
        request.getSession().getServletContext().getRequestDispatcher("/transferfail.jsp").forward(request, response);
    }
    catch(Throwable ex){
      ex.printStackTrace();
    }
    
    if(success_payment == 1 && success_receive == 1){
      request.setAttribute("accounts_a", accounts_a);
      request.setAttribute("accounts_b", accounts_b);
      request.setAttribute("payment", payment);
      request.setAttribute("receive", receive);
      request.getSession().getServletContext().getNamedDispatcher("AddTransaction").forward(request, response);
    }
    else
      request.getSession().getServletContext().getRequestDispatcher("/transferfail.jsp").forward(request, response);
  }
}

⌨️ 快捷键说明

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