jsp+mvc之ATM
来源:互联网 发布:马云 大数据 贵州 编辑:程序博客网 时间:2024/06/06 08:25
这个小程序主要是加强对jsp+mvc的理解。
程序采用了Oracle数据库。其他的数据库,请自行修改数据库配置文件db.properties。
需要源程序的请微博关注TraCatche私信我,欢迎大家跟我一起讨论学习的问题。
我有各种ui设计视频,Android视频,java视频,还有各种的项目的视频。要的请私信
注:此程序只适用初学者,高手请关注我的其他文档,我会陆续把javaweb的基础到三大框架的小程序陆续发出来。
主要的逻辑代码都已粘出来了。
AtmDaoImpl
package com.wdf.newatm; import java.io.IOException;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.Properties; public class AtmDaoImpl implements AtmDao{ privateConnection conn; PreparedStatementpstmt=null; Stringurl=null; Stringuname=null; Stringupass=null; StringdriverName=null; @Override publicvoid condb() { //TODO Auto-generated method stub init(); try{ Class.forName(driverName); conn=DriverManager.getConnection(url,uname, upass); }catch (ClassNotFoundException e) { //TODO Auto-generated catch block e.printStackTrace(); }catch (SQLException e) { //TODO Auto-generated catch block e.printStackTrace(); System.out.println("数据库异常"); } } @Override publicvoid createPtmt(String sql) { //TODO Auto-generated method stub try{ pstmt=conn.prepareStatement(sql); }catch (SQLException e) { //TODO Auto-generated catch block e.printStackTrace(); } } @Override publicint update(Object... params) { //TODO Auto-generated method stub intlineNum=-1; try{ for(inti=0;i<params.length;i++){ pstmt.setObject(i+1,params[i]); } lineNum=pstmt.executeUpdate(); }catch (SQLException e) { //TODO Auto-generated catch block e.printStackTrace(); } returnlineNum; } @Override publicResultSet query(Object... params) { //TODO Auto-generated method stub try{ for(inti=0;i<params.length;i++){ pstmt.setObject(i+1,params[i]); } returnpstmt.executeQuery(); }catch (SQLException e) { //TODO Auto-generated catch block e.printStackTrace(); } returnnull; } publicvoid init(){ Propertiespt=new Properties(); InputStreamis=AtmDaoImpl.class.getClassLoader().getResourceAsStream("db.properties"); try{ pt.load(is); url=pt.getProperty("url"); uname=pt.getProperty("uname"); upass=pt.getProperty("upass"); driverName=pt.getProperty("drivername"); }catch (IOException e) { //TODO Auto-generated catch block e.printStackTrace(); }finally{ try{ is.close(); }catch (IOException e) { //TODO Auto-generated catch block e.printStackTrace(); } } } publicvoid closeConn(){ if(conn!=null){ try{ conn.close(); }catch (SQLException e) { //TODO Auto-generated catch block e.printStackTrace(); } } }/* publicvoid closeRs(){ if(rs!=null){ try{ conn.close(); }catch (SQLException e) { //TODO Auto-generated catch block e.printStackTrace(); } } }*/ publicvoid closePstmt(){ if(pstmt!=null){ try{ conn.close(); }catch (SQLException e) { //TODO Auto-generated catch block e.printStackTrace(); } } } }
Jsp的action
Atm.jsp
<%@ page language="java"contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@page import="com.wdf.newatm.AtmDaoImpl"%> <%@page import="java.sql.ResultSet"%> <%@page import="java.net.URLEncoder"%> <%@page import="com.wdf.newatm.ATMUser"%><!DOCTYPEhtml PUBLIC "-//W3C//DTDHTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html; charset=utf-8"><title>Insert title here</title></head><body><% request.setCharacterEncoding("utf-8"); String status=request.getParameter("status"); String err=""; AtmDaoImpl atm=new AtmDaoImpl(); atm.condb(); if(status.equals("login")){ String acc=request.getParameter("account"); String pass=request.getParameter("password"); atm.createPtmt("select * from atmuser where account=?"); ResultSet rs=atm.query(acc); ATMUser user=null; if(rs.next()){ if(rs.getString(3).equals(pass)){ user=new ATMUser(); user.setId(rs.getInt(1)); user.setAccount(rs.getString(2)); user.setPassword(rs.getString(3)); user.setName(rs.getString(4)); user.setMoney(rs.getDouble(5)); session.setAttribute("user", user); response.sendRedirect("main.jsp"); }else{ err="密码不正确"; err=URLEncoder.encode(err,"utf-8"); response.sendRedirect("index.jsp?err="+err+"&acc="+acc); } }else{ err="用户名不正确"; err=URLEncoder.encode(err,"utf-8"); response.sendRedirect("index.jsp?err="+err); } //request.setAttribute("err",err); rs.close(); atm.closePstmt(); atm.closeConn(); } if(status.equals("register")){ String account=request.getParameter("account"); Stringpassowrd=request.getParameter("password"); Stringr_password=request.getParameter("r_password"); Stringname=request.getParameter("name"); Stringsmoney=request.getParameter("money"); if(account!=null && passowrd!=null && r_password!=null && name!=null){ atm.createPtmt("insert into atmuser(account,password,name,money)values(?,?,?,?)"); ATMUser user=null; if(passowrd.equals(r_password)){ doublemoney=Double.parseDouble(smoney); if(atm.update(account,passowrd,name,money)!=-1){ user=new ATMUser(); user.setAccount(account); user.setPassword(passowrd); user.setName(name); user.setMoney(money); session.setAttribute("user", user); response.sendRedirect("main.jsp"); }else{ response.sendRedirect("shibai.jsp"); } }else{ err="两次密码输入不一样"; account=URLEncoder.encode(account,"utf-8"); err=URLEncoder.encode(err,"utf-8"); response.sendRedirect("register.jsp?err="+err+"&acc="+account); } atm.closePstmt(); atm.closeConn(); }else{ err="用户名密码或名字不能为空"; err=URLEncoder.encode(err,"utf-8"); response.sendRedirect("register.jsp?err="+err); } } if(status.equals("savemoney")){ String smoney=request.getParameter("smoney"); if(smoney!=null){ double money=Double.parseDouble(smoney); ATMUseruser = (ATMUser) session.getAttribute("user"); double nmoney=user.getMoney(); Stringaccount = user.getAccount(); user.setMoney(nmoney+money); session.setAttribute("user", user); atm.createPtmt("UPDATE ATMUSER SET MONEY=MONEY+? WHERE ACCOUNT=?"); int i=atm.update(money,account); if(i!=-1){ err="操作成功"; err=URLEncoder.encode(err,"utf-8"); response.sendRedirect("savemoney.jsp?err="+err); }else{ response.sendRedirect("shibai.jsp"); } atm.closePstmt(); atm.closeConn(); } } if(status.equals("takemoney")){ String tmoney=request.getParameter("tmoney"); if(tmoney!=null){ double money=Double.parseDouble(tmoney); ATMUseruser = (ATMUser) session.getAttribute("user"); double smoney=user.getMoney(); Stringaccount = user.getAccount(); if(money<=smoney){ user.setMoney(smoney-money); session.setAttribute("user", user); atm.createPtmt("UPDATE ATMUSER SET MONEY=MONEY-? WHERE ACCOUNT=?"); int i=atm.update(money,account); if(i!=-1){ err="操作成功"; err=URLEncoder.encode(err,"utf-8"); response.sendRedirect("takemoney.jsp?err="+err); }else{ response.sendRedirect("shibai.jsp"); } atm.closePstmt(); }else{ err="当前余额"+smoney+",所取金额大于余额"; err=URLEncoder.encode(err,"utf-8"); response.sendRedirect("takemoney.jsp?err="+err); } atm.closeConn(); } } %></body></html>
0 0
- jsp+mvc之ATM
- MVC框架之jsp总结
- JSP MVC模式案例之投票系统
- JSP的开发模式之MVC模式
- SQL之ATM机实例
- ATM
- ATM
- ATM
- ATM
- ATM
- ATM
- ATM
- ATM
- ATM
- ATM
- ATm
- ATM
- ATM
- 2016年8月 web前端面试题
- ABAP的PAI和PBO中的字段传递顺序
- AVAudioRecorder录音和AVAudioPlayer播放声音小的问题!
- android studio 添加aar文件库
- synchronized(this)
- jsp+mvc之ATM
- UTF-8 和 ISO88591到底有什么区别
- 数据流DataInputStream和内存流ByteArrayInputStream
- java设计模式——中介者模式(Mediator Pattern)
- SDUT OJ 3399 数据结构实验之排序二:交换排序
- windows编译mxnet,boost,dlib库
- artTemplate学习笔记
- 面向对象 继承
- nginx反向代理(proxy_pass)tomcat的过程中,session失效的问题解决