jsp+servlet+mysql 实现简单的银行登录转账功能

jsp+servlet+mysql 实现简单的银行登录转账功能

【前期的准备】

html(登录界面),servlet(处理业务逻辑),jsp(主要实现界面),mysql(实现与数据库的简单的交互)
先从一个登录页面开始(利用表单提交,action=“jsp实现页面”)
第一步:在(mysql)数据库中建表:
建立一个用户的基本信息表(用户姓名,密码,账户余额),用户转账(用户名,转账金额)的操作表
第二步:
登录页面:输入用户名和密码对数据库中的用户信息(login.jsp)进行验证(qq浏览器中有个书签里面登录成功验证,登录成功验证跳转的页面可以改成到另一个页面(里面包含可以看到自己的账户余额里面有多少钱,还有一个转账的链接)(login.jsp,back.jsp(登录失败),数据库处理类(DB1.java)(主要是验证用户名和密码,里面有一个方法boolean loginSucess(String username,String password)),servlet类(有dopost方法,里面主要构造数据库类的对象,调用里面的loginsucess方法,如果用户名和密码都没有错,利用response.sendRedirect则跳转到zhuangzhang.jsp))
登录之后的页面(转账的功能,):
主要是转账的功能:
{转账 :输入账号和密码后,能根据密码判断用户是否合法,然后再输入对方的转账账户,并判断对方的转账账户是否合法,如果合法,再输入转账的金额,并能判断转账金额是否超过了账户余额,如果转账金额合法,就对该账号的余额信息以及对方的账户余额信息进行更新}
{}部分是从网上看到的一段话,第二个转账部分的数据库处理类,可以写两个方法(1.判断方法(转出账户,转账金额,转入账户是否合法,这个方法的返回类型可以用boolean) 2.更新方法(对该账户的余额信息以及对方的账户余额信息,进行更新)
具体代码
boolean puanduan(String outuser,double cash,String inuser);
void update();
}
然后在servlet里面调用这两个方法。
转账链接到(转账的页面,(zhuanzhang.jsp)这个页面里面包含三个输入框:转出账户(outuser),转账金额(cash),转入账户(inuser)),然后还是编写一个数据库处理类(DB2.java):写一个方法dozz用来处理通过转账,实现转出账户金额减少cash,转入账户金额增加cash,具体的语句参看jdbc语句和mysql语句。然后还要写一个servlet类,还是通过dopost方法来获取zhuanzhang.jsp页面输入框里面的值,然后通过创建数据库类的方法来调用dozz方法实现其功能,然后response.sendRedirect跳转到一个页面(自己用户减少的页面done.jsp???)

关键代码

loginServlet.java

package servlet;

import java.io.IOException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.websocket.Session;

import org.apache.jasper.tagplugins.jstl.core.Out;

import javax.servlet.http.HttpServlet;
import javabean.DB01;

public class LoginServlet extends HttpServlet{
static String userId;
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
userId = request.getParameter("id");
HttpSession session=request.getSession();
session.setAttribute("user", userId);
String password = request.getParameter("password");
DB01 db1 = new DB01();
boolean canLogin = db1.loginSuccess(userId,password);
if(canLogin){
response.sendRedirect("transfer.jsp");
}
else if(!canLogin){
response.sendRedirect("back.jsp");
}

}
public ServletConfig getServletConfig(){
return null;
}
public String getServletInfo(){
return null;
}
public void service(ServletRequest request,ServletResponse response) throws ServletException, IOException{
HttpServletRequest rq = (HttpServletRequest)request;
HttpServletResponse rs = (HttpServletResponse)response;
doPost(rq,rs);
}
public void destroy(){
System.out.println("DESTROY");
}
public void init(ServletConfig args0) throws ServletException{
System.out.println("init");
}
}

checkServlet.java

package servlet;
import javabean.DB02;
import java.io.IOException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.websocket.Session;

import org.apache.jasper.tagplugins.jstl.core.Out;
import org.omg.CosNaming.NamingContextExtPackage.StringNameHelper;

import javax.servlet.http.HttpServlet;
import javabean.DB01;
import sun.text.resources.cldr.es.FormatData_es_419;

public class CheckServlet extends HttpServlet{
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session=request.getSession();
String outId = (String)session.getAttribute("user");
String inId = request.getParameter("inid");
String cash0 = request.getParameter("cash");
DB02 db2 = new DB02();
boolean checkSuccess = db2.checkAndChangeUser(outId,cash0,inId);
if(checkSuccess){
System.out.println(outId);
System.out.println(inId);
response.sendRedirect("success.jsp");
}
else if(!checkSuccess){
response.sendRedirect("transfer.jsp");
}
}
public ServletConfig getServletConfig(){
return null;
}
public String getServletInfo(){
return null;
}
public void service(ServletRequest request,ServletResponse response) throws ServletException, IOException{
HttpServletRequest rq = (HttpServletRequest)request;
HttpServletResponse rs = (HttpServletResponse)response;
doPost(rq,rs);
}
public void destroy(){
System.out.println("DESTROY");
}
public void init(ServletConfig args0) throws ServletException{
System.out.println("init");
}
}

后期感想和总结

银行登录页面的总结

经过两周,不,也许只能说是用了一周左右的时间,因为前一周有比较多的事。还有一部分原因就是自己并不是太懂这方面的总体的知识架构,还有就是学长只是粗略的讲了一些基础的知识。然后自己就得开始写,只是实现简单的登录进去之后,实现用户的转账功能。

前期:
1.自己也在网上去查找了一些资料,关于jsp+servlet+mysql,实现简单的登录验证,还有,就是也怪自己之前暑假学习java没有学习和用过java.sql.*里面的一些接口,用来实现与数据库的连接,还有就是之前没怎么用过idea,然后前一周,怎么在idea里面引入数据库驱动包,也是问了学长和其他人才把它解决好,不过在解决之前这段时间,这个小小的银行登录转账,我都用eclipse开始写了,还好因为之前大多数时间都是用的eclipse,然后用起来也比较顺利,经过一些与数据库之间的小小的测试,还是证明引入数据库驱动包引入顺利。
2.自己前期也写了一个要做之前的可以称得上是小小的需求文档,不过感觉以前没有怎么写过这种,写起来也有点困难,所谓万事开头难,大概就是如此吧!
3.然后根据自己的需求文档,一步一实现功能,中间还是遇到了一几个比较伤脑筋的问题,困扰了我两天,百度也没百度出来,最后还是问的同学,相比较而言,自己学的进度还是有点慢。
4.还有一个问题就是,之前学习jsp的时候,忘了有一个东西,就是session对象,一般都是用来存储用户登录的用户名和密码,然后在多个页面之间互相使用,之前把这一点忘了,问题就比较大了,不是这个用户登录进去的用户,都可以在任意用户之间实现转账功能,所以,这个是个很严重的错误,所以,自己上网查查资料,看了看书,然后自己也比较了解了一些,然后就是通过登录,跳转到转账的页面,这个页面上面就只有,输入转账金额和转入用户。
5.然后自己又想了一下,一个用户肯定想知道自己账户里面到底有多少钱,所以,我后来又想了下,做了一个链接来查询自己账户的余额,然后再衡量自己转账的金额。

总结起来,就是自己如果只是想,而不去做,是没有任何收获的,所以,我每天不仅仅是看书,要多敲敲代码,哪怕是照着书敲,自己慢慢理解,然后再敲一遍,这样多多巩固,才能使自己的动手能力增强。
通过这次,简单的一个银行登录,让我还是学到了比较多的知识,jsp里面的几个常用的内置对象,还有java里面怎么连接数据库的代码,然后还有servlet里面的一些doPost方法,service方法,init方法,destroy方法,等等很多的知识,然后自己也收获了:要多从实践中去总结,bug要学会怎么调,港真,如果一个bug修复不好,真的会影响后面的很多事,还有就是,不要让自己的代码目录看起来太乱了,代码里面还是要做到精简整洁,如果有重复的代码,尽量写一个工具类来实现,分清层次还是很重要的。

时间: 2024-10-29 19:05:40

jsp+servlet+mysql 实现简单的银行登录转账功能的相关文章

jsp+servlet+mysql员工管理系统源代码下载

原文:jsp+servlet+mysql员工管理系统源代码下载 源代码下载地址:http://www.zuidaima.com/share/1550463498996736.htm jsp+servlet+mysql员工管理系统

node.js基于express框架搭建一个简单的注册登录Web功能

这个小应用使用到了node.js  bootstrap  express  以及数据库的操作 :使用mongoose对象模型来操作 mongodb 如果没了解过的可以先去基本了解一下相关概念~ 首先注明一下版本,因为express因为版本的不同使用的方式也不同,我这算是目前最新的了吧 还没有装express的可以移步到这里 看看express框架的获取安装 1.简单地项目初始化 进入你的nodejs安装路径下边,如图,然后执行命令  express -e test  (这里把项目名设置为test

java jsp+servlet+mysql实现登录网页设计

涉及下面几个文件: 1,登录页面 login.jsp 2,成功跳转页面 success.jsp 3,失败跳转页面 fail.jsp 4,servlet 处理类 LoginTestServlet.java 5,配置文件 web.xml ---------------------------------------------  依次看代码      -------------------------------------------- LoginTestServlet.java 内容 packa

jsp+servlet+mysql简单实现用户登陆注册

原码,项目中遇到的错误,解决方法,文章最后有链接可以获取 项目简介 功能描述 登陆,注册,用户一览表,修改,删除,添加,模糊查询和精确查询 采用的技术及环境 JSP:前端的信息展示 Servlet:业务逻辑功能实现,及调用数据库的实现数据处理和传输 MySQL:用来实现数据存储 利用Eclipse来实现,MySQL数据库版本:5.x 运行效果展示 数据库数据 项目结构图 *因屏幕小,截图用了两张图片 登陆页面 登陆成功用户一览表页面 注册页面 *因我在数据设计表时,性别(sex)设置的大小为2长

jsp/servlet/mysql/linux基本概念和操作

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "PingFang SC" } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "PingFang SC"; min-height: 18.0px } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "PingFang SC Semibo

Jsp+servlet+mysql搭建套路

1.建立数据库根据需求建立相应的数据库确立数据库的字段.属性.主键等2.建立javaweb项目,搭建开发环境在开发环境的/WebRoot/WEB-INF下建立lib文件夹,存放需要使用的jar包常用的包:mysqldriver.jarbeanutil.jarcommons-logging.jarjstl.jarstandard.jar3.java内部书写,建立domain包在其下书写bean类,类的字段与数据库对应4.定义dao和其接口(1)接口dao包:对daoimlents包进行抽象(为了增

jsp,servlet,mysql技术建立动态网站的一些细节问题

当今的购物网站,多使用jsp和servlet技术,连接数据库来进行页面的动态显示以及数据库的读写.接下来我写的一些问题是在进行类似技术设计时遇到的,献给一些像我这样的初学者,为你们摆平一些困难.请大神们无视 1.java连接mysql数据库的具体过程在这里不进行详细讲解,自行百度“jdbc连接mysql数据库”,这里说的问题是一定要要导入包mysql-connector-java-x.x.x,这一点一般没有问题,但是还有一点要注意的是一定要在环境变量的系统变量classpath里添加“包路径”+

JavaWeb基础 jsp+servlet分工合作的简单示例

礼悟:    好好学习合思考,尊师重道存感恩.叶见寻根三返一,江河湖海同一体.          虚怀若谷良心主,愿行无悔给最苦.读书锻炼强身心,诚劝且行且珍惜. javaEE:7                  javaSE:1.8          JSTL:1.2.2        server:tomcat 8.5    browser:Chrome/Firefox             os:windows7 x64            ide:MyEclipse 2017 项目

学生成绩管理系统3.0(JSP+Servlet+MySQL)

源代码:戳这里! 环境:MyEclipse 2016 CI & MySQL5.5 & apache-tomcat-8.5.9 实现功能: 项目结构: 部分页面效果: 蠢新手,蠢瞎写,请多指教.