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
原创粉丝点击