📄 transfer.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 + -