转账系统(Java Web转账系统设计实例版)
- 格式:doc
- 大小:1.46 MB
- 文档页数:65
转账系统设计——Servlet技术JavaBean技术Jsp技术Java web 转账系统设计完整代码湘竹集美伊客1,登陆界面:login.jsp代码如下:<%@page language="java"import="java.util.*"pageEncoding="UTF-8"%> <%String path = request.getContextPath();String basePath =request.getScheme()+"://"+request.getServerName()+":"+request.getServ erPort()+path+"/";%><!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'login.jsp' starting page</title><meta http-equiv="pragma"content="no-cache"><meta http-equiv="cache-control"content="no-cache"><meta http-equiv="expires"content="0"><meta http-equiv="keywords"content="keyword1,keyword2,keyword3"> <meta http-equiv="description"content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body bgcolor="FFD0"><form method="post"action="/Amount/amountlogin"><center><strong>欢迎进入账户登陆界面!</strong><br><br><br><img border="0"src="Photos/001111016a730d7e5f363f.jpg"width="366"height="439"><br><br>账户名:<input type="text"name="amountName"value=""/></br> 密码:<input type="text"name="pwd"value=""/></br> <input type="submit"name="登陆"value="登陆"><input type="reset"name="取消"value="取消"> <a href="amountAdd.jsp"title="注册"><input type="submit"value="注册"name="注册"><ahref="amountChange.jsp"title="转账"><input type="button"value="转账"name="转账"></a></a></center></form></body></html>2,注册界面amountAdd.jsp代码如下:<%@page language="java"import="java.util.*"pageEncoding="UTF-8"%> <%String path = request.getContextPath();String basePath =request.getScheme()+"://"+request.getServerName()+":"+request.getServ erPort()+path+"/";%><!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'amountAdd.jsp' starting page</title><meta http-equiv="pragma"content="no-cache"><meta http-equiv="cache-control"content="no-cache"><meta http-equiv="expires"content="0"><meta http-equiv="keywords"content="keyword1,keyword2,keyword3"> <meta http-equiv="description"content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body><div align="center"style="background-color: rgb(255, 128, 0);"><br><strong> 注册新账户界面</strong><br><br><form method="post"action="/Amount/servlet/amountAdd"name="注册"><hr width="100%"size="2"><img border="0"src="Photos/0019b90e16780d24c6f141.jpg"width="395"height="512"><br><br>账户名:<input type="text"name="amountName"><br> 密码:<input type="text"name="pwd"><br> <input type="submit"value="注册"name="注册"> <input type="reset"value="取消"name="取消"> <a href="login.jsp"title="返回"><input type="button"value="返回" name="返回"></a><p> </p><p> </p></form><br></div></body></html>单击注册按钮单击添加账户资金:进入增加资金界面3增加资金界面amountMoneyAdd.jsp<%@page language="java"import="java.util.*"pageEncoding="UTF-8"%> <%String path = request.getContextPath();String basePath =request.getScheme()+"://"+request.getServerName()+":"+request.getServ erPort()+path+"/";%><!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'amountMoneyAdd.jsp' starting page</title><meta http-equiv="pragma"content="no-cache"><meta http-equiv="cache-control"content="no-cache"><meta http-equiv="expires"content="0"><meta http-equiv="keywords"content="keyword1,keyword2,keyword3"> <meta http-equiv="description"content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body><div align="center"style="background-color: rgb(255, 128, 64);"><font color="#0000ff"><strong>增加资金界面<br><br></strong></font><hr width="100%"size="2"><font color="#0000ff"><strong><br></strong></font><form method="post"action="/Amount/servlet/amountMoneyAdd"name="增加资金"><a href="login.jsp"title="返回"><img border="0"src="Photos/f711a8d42d60ad33012d6de0f81900e8.jpg"width="408"height="390"></a> <br> 账户名:<input type="text"name="amountName"/><br> 增加资金:<input type="text"name="money"/><br> 密码:<input type="text"name="pwd"/><br> <input type="submit"value="确定"name="确定"><input type="reset"value="取消"name="取消"> <a href="login.jsp"title="返回登录界面"><input type="button"value="返回登录"name="返回登录"></a><p> </p><hr width="100%"size="2"><p> </p><p> </p><p> </p></form></div></body></html>再次注册新账户:如有再次注册则注册失败:添加资金20000:查询全部账户:核心业务转账功能:4 删除界面 amountDelete.jsp如果没有账户名,则删除失败!代码如下:<%@page language="java"import="java.util.*"pageEncoding="UTF-8"%> <%String path = request.getContextPath();String basePath =request.getScheme()+"://"+request.getServerName()+":"+request.getServ erPort()+path+"/";%><!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'amountDelete.jsp' starting page</title><meta http-equiv="pragma"content="no-cache"><meta http-equiv="cache-control"content="no-cache"><meta http-equiv="expires"content="0"><meta http-equiv="keywords"content="keyword1,keyword2,keyword3"> <meta http-equiv="description"content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body><div align="center"style="background-color: rgb(255, 255, 128);"><font color="#ff00ff"><strong>账户</strong><strong>删除</strong><strong>界面</strong><br><br></font><form method="post"action="/Amount/servlet/amountDelete"name="删除账户"><hr width="100%"size="2"><img border="0"src="Photos/u=3223225884,348546293&fm=52&gp=0.jpg"width="316"height="386"><br><font color="#ff00ff"><br><strong>账户名</strong>:<input type="text"name="amountName"><br> <strong>密码</strong>:<input type="text"name="pwd"></font> <p><font color="#ff00ff"> <input type="submit"name="确认"value="确认"><input type="reset" name="取消"value="取消"></font><a href="login.jsp"title="返回"><input type="button"value="返回登录"name="返回登录"></a></p><p> </p><p> </p><p> </p></form><br></div></body></html>再次登录账户幽居望竹清风账户不存在:业务Servlet类如下:Login.Java 登录验证数据库核心类package servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession;import pojo.amount;import dao.amountDao;public class login extends HttpServlet {/*** The doGet method of the servlet. <br>** This method is called when a form has its tag value method equals to get.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doPost(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("UTF-8");response.setCharacterEncoding("UTF-8");//没有设置编码的话,中文登陆不了response.setContentType("text/html");PrintWriter out = response.getWriter();StringamountName=request.getParameter("amountName");String amountPwd=request.getParameter("pwd");amount am=amountDao.login(amountName, amountPwd);if(am==null){response.sendRedirect("login.jsp");}else{HttpSession session=request.getSession();//得到一个会话session.setAttribute("amountName", amountName);//会话传递参数request.getRequestDispatcher("/servlet/amountData").forw ard(request, response); //页}}}amountAdd 账户增加核心业务类package servlet;import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import pojo.amount;import dao.amountDao;public class amountAdd extends HttpServlet {/*** The doGet method of the servlet. <br>** This method is called when a form has its tag value method equals to get.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doPost(request, response);}/*** The doPost method of the servlet. <br>** This method is called when a form has its tag value method equals to post.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("UTF-8");response.setCharacterEncoding("UTF-8");response.setContentType("text/html");PrintWriter out = response.getWriter();StringamountName=request.getParameter("amountName");String pwd=request.getParameter("pwd");List<amount> amounts=new ArrayList<amount>();//查找账户名是否存在数据库中,存在则重新输入账户名amount am1=amountDao.login(amountName,pwd);//调用持久类中的方法amount am2=amountDao.login(amountName);/*System.out.print("amounts.get(1).getName()************ ***********"+amounts.get(0).getName());*/if(am1!=null||"".equals(amountName)||am2!=null){response.sendRedirect("../amountAddFailure.jsp");//重定向}else{/* amounts2.clear();*/amountDao.amountInsert(amountName, pwd);amounts=amountDao.getAmountData(amountName);}out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");out.println("<HTML>");out.println(" <HEAD><TITLE>账户数据界面</TITLE></HEAD>");out.println(" <BODY>");out.print("<center><table border='1'width='300'>");out.print("<h2>账户数据</h2>");out.print("<tr><td>账户名</td><td>金钱</td></tr>");for(amount am:amounts){out.print("<tr><td>"+am.getName()+"</td><td>"+am.getMone y()+"</td></tr>");}out.println("</table></center> </BODY>");out.print("<a href='/servlet/amountDelete'>删除</a><br> ");/* out.print("<a href='servlet/amountChange'>转账</a><br> ");*/out.print("<a href='../login.jsp'>返回登录界面</a><br> ");out.print("<a href='../amountChange.jsp'>转账界面</a><br> ");out.print("<ahref='../index.jsp'>index.jsp</a><br> ");out.print("<a href='../servlet/amountView'>查询全部账户</a><br> ");out.print("<a href='../amountDelete.jsp'>删除账户</a><br> ");out.print("<a href='../amountMoneyAdd.jsp'>增加账户资金</a><br> ");out.print("<a href='../amountAdd.jsp'>注册</a><br> ");out.println(" </BODY>");out.println("</HTML>");out.flush();out.close();}}amountChange 转账系统转账核心类package servlet;import java.io.IOException;import java.io.PrintWriter;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import pojo.amount;import dao.amountDao;public class amountChange extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doPost(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String amountName=request.getParameter("amountName");StringaimAmountName=request.getParameter("aimAmountName");String amountMoney =request.getParameter("money");request.setCharacterEncoding("UTF-8");response.setCharacterEncoding("UTF-8");response.setContentType("text/html");PrintWriter out = response.getWriter();if(amountMoney.isEmpty()||amountName.isEmpty()||aimAmoun tName.isEmpty()){response.sendRedirect("../amountChange.jsp");}else{// List<amount>amounts=amountDao.amountChange(amountName, aimAmountName, amountMoney);/* List<amount>amounts1=amountDao.getAmountData(amountName);*/List<amount>amounts1=amountDao.getAmountData(amountName);out.print("转账前账户有资金:amounts1.get(0).getMoney()="+amounts1.get(0).getMoney());if(amounts1.get(0).getMoney()<=0){amountDao.amountChange(aimAmountName,amountName, amountMoney);//转账业务//转账业务out.print("账户"+amountName+"没有足够资金!不能转账!"); }else{amountDao.amountChange(amountName, aimAmountName, amountMoney);//转账业务}List<amount> amounts=amountDao.getAmountView();/*out.println("集合对象是否为空:"+amounts.isEmpty());*/out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");out.println("<HTML>");out.println(" <HEAD><TITLE>账户数据界面</TITLE></HEAD>");out.println(" <BODY>");out.print("<center><table border='1' width='300'>");out.print("<h2>账户数据</h2>");out.print("<tr><td>账户名</td><td>金钱</td></tr>");for(amount am:amounts){//集合循环调用if(am.getMoney()<=0){am.setMoney(0);}out.print("<tr><td>"+am.getName()+"</td><td>"+am.getMone y()+"</td></tr>");}out.println("</table></center> </BODY>");out.print("<a href='../servlet/amountDelete'>删除</a><br> ");/* out.print("<a href='servlet/amountChange'>转账</a><br> ");*/out.print("<a href='../login.jsp'>返回登录界面</a><br> ");out.print("<a href='../amountChange.jsp'>转账界面</a><br> ");out.print("<a href='../index.jsp'>index.jsp</a><br> ");out.print("<a href='amountView'>查询全部账户</a><br> ");out.print("amountName"+amountName);out.print("aimAmountName"+aimAmountName);out.print("amountMoney="+amountMoney);out.println(" </BODY>");out.println("</HTML>");out.flush();out.close();}}}单账户数据显示类:amountData.Javapackage servlet;import java.io.IOException;import java.io.PrintWriter;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import pojo.amount;import dao.amountDao;public class amountData extends HttpServlet {/*** The doGet method of the servlet. <br>** This method is called when a form has its tag value method equals to get.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doPost(request, response);}/*** The doPost method of the servlet. <br>** This method is called when a form has its tag value method equals to post.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {HttpSession session=request.getSession();//得到会话ID,会话Id是系统分配的唯一标识String amountName=(String)session.getAttribute("amountName");//必须强制转换字符型;if(amountName==null||"".equals(amountName)){ response.sendRedirect("index.jsp");//重定向登陆界面}else{/* amountName=amountName.substring(0,5); //*/List<amount>amounts=amountDao.getAmountData(amountName );//调用持久类中的方法request.setCharacterEncoding("UTF-8");response.setCharacterEncoding("UTF-8");response.setContentType("text/html");PrintWriter out = response.getWriter();/*out.println("集合对象是否为空:"+amounts.isEmpty());*/out.println("<!DOCTYPE HTML PUBLIC\"-//W3C//DTD HTML 4.01 Transitional//EN\">");out.println("<HTML>");out.println(" <HEAD><TITLE>账户数据查询界面</TITLE></HEAD>");out.println(" <BODY>");out.print("<center><table border='1'width='300'>");out.print("<h2>账户数据</h2>");out.print("<tr><td>账户名</td><td>金钱</td></tr>");for(amount am:amounts){out.print("<tr><td>"+am.getName()+"</td><td>"+am.getMo ney()+"</td></tr>");}out.println("</table></center> </BODY>");/* out.print("<a href='servlet/amountDelete'>删除</a><br> ");*//* out.print("<a href='servlet/amountChange'>转账</a><br> ");*/out.print("<a href='login.jsp'>返回登录</a><br> ");out.print("<a href='amountChange.jsp'>转账</a><br> ");out.print("<a href='amountMoneyAdd.jsp'>添加账户资金</a><br> ");out.print("<a href='amountMoneDecrease.jsp'>删除账户资金</a><br> ");out.print("<a href='amountAdd.jsp'>添加账户</a><br> ");out.print("<a href='amountDelete.jsp'>删除账户</a><br> ");out.print("<a href='servlet/amountView'>查询全部账户</a><br> ");out.println(" </BODY>");out.println("</HTML>");out.flush();out.close();}}}账户删除类:amountDelete.javapackage servlet;import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import pojo.amount;import dao.amountDao;public class amountDelete extends HttpServlet {/*** The doGet method of the servlet. <br>** This method is called when a form has its tag value method equals to get.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doPost(request, response);}/*** The doPost method of the servlet. <br>** This method is called when a form has its tag value method equals to post.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {StringamountName=request.getParameter("amountName");String pwd=request.getParameter("pwd");/* amount am=amountDao.login(amountName, pwd);*/ List<amount> amounts=new ArrayList<amount>();amount am1=amountDao.login(amountName, pwd);if(am1==null){response.sendRedirect("../amountDeleteFailure.jsp");}else{amountDao.amountDelete(amountName);amounts=amountDao.getAmountView();}response.setContentType("text/html");PrintWriter out = response.getWriter();out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");out.println("<HTML>");out.println(" <HEAD><TITLE>账户数据界面</TITLE></HEAD>");out.println(" <BODY>");out.print("<center><table border='1' width='300'>");out.print("<h2>账户数据</h2>");out.print("<tr><td>账户名</td><td>金钱</td></tr>");for(amount am:amounts){out.print("<tr><td>"+am.getName()+"</td><td>"+am.getMone y()+"</td></tr>");}out.println("</table></center> </BODY>");/* out.print("<a href='/servlet/amountDelete'>删除</a><br> ");*//* out.print("<a href='servlet/amountChange'>转账</a><br> ");*/out.print("<a href='../login.jsp'>返回登录界面</a><br> ");out.print("<a href='../amountChange.jsp'>转账界面</a><br> ");out.print("<a href='../amountAdd.jsp'>注册</a><br> ");out.print("<a href='../servlet/amountView'>查询全部账户</a><br> ");out.println(" </BODY>");out.println("</HTML>");out.flush();out.close();}}账户资金增加类:amountMoneyAdd.javapackage servlet;import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import pojo.amount;import dao.amountDao;public class amountMoneyAdd extends HttpServlet {/*** The doGet method of the servlet. <br>** This method is called when a form has its tag value method equals to get.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doPost(request, response);}/*** The doPost method of the servlet. <br>** This method is called when a form has its tag value method equals to post.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {StringamountName=request.getParameter("amountName");String pwd=request.getParameter("pwd");String money=request.getParameter("money");。