此處只放相關部分,若有須要,請參考同名下本人的其餘博客javascript
index.jspcss
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>首頁</title> </head> <style type="text/css"> *{margin: 0;padding: 0} html,body{height: 100%} /*這裏很關鍵*/ .outer-wrap{ /*只有同時爲html和body設置height: 100%時,這裏的height才生效, 而且隨瀏覽器窗口變化始終保持和瀏覽器視窗等高*/ height: 100%; position: relative; background-image: url('images/01.jpg'); } .index-panel{ width: 400px; height: 300px; background-image: url('images/04.jpg'); position: absolute; top: 50%; left: 50%; margin-top: -150px; margin-left: -200px; } </style> <body> <% request.setCharacterEncoding("utf-8"); String message=(String)request.getAttribute("message"); if(message!=null){ if(message.equals("error")){ %> <script type="text/javascript"> alert("用戶名或密碼錯誤"); </script> <% }else if(message.equals("noerror")){ %> <script type="text/javascript"> alert("登陸成功"); </script> <% }else{ } } %> <div class="outer-wrap"> <div style="font-size:160px;text-align:center">家庭記帳本</div> <div class="index-panel"> <div style="font-size:40px;text-align:center">歡迎您的使用</div> <div style="font-size:30px;text-align:center"> <a href="add.jsp">記帳</a><br/> </div> <div style="font-size:30px;text-align:center"> <a href="show.jsp">查看帳目</a> </div> </div> </div> </body> </html>
add.jsphtml
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>記帳</title> </head> <style type="text/css"> *{margin: 0;padding: 0} html,body{height: 100%} /*這裏很關鍵*/ .outer-wrap{ /*只有同時爲html和body設置height: 100%時,這裏的height才生效, 而且隨瀏覽器窗口變化始終保持和瀏覽器視窗等高*/ height: 100%; position: relative; background-image: url('images/01.jpg'); } .add-panel{ width: 400px; height: 300px; background-image: url('images/06.jpg'); position: absolute; top: 50%; left: 50%; margin-top: -150px; margin-left: -200px; } </style> <body> <% request.setCharacterEncoding("utf-8"); String message=(String)request.getAttribute("message"); if(message!=null){ if(message.equals("error")){ %> <script type="text/javascript"> alert("添加失敗"); </script> <% }else if(message.equals("noerror")){ %> <script type="text/javascript"> alert("添加成功"); </script> <% }else{ } } %> <div class="outer-wrap"> <div style="font-size:160px;text-align:center">家庭記帳本</div> <div class="add-panel"> <div style="text-align:center;color:yellow">請輸入要添加的帳目信息:</div><br/> <form action="AddBillServlet" method="post"> <div style="text-align:center;color:yellow"> 帳目類型<select id="btype" name="btype"> <option value="飲食">飲食</option> <option value="教育">教育</option> <option value="購物">購物</option> <option value="醫療">醫療</option> <option value="收入">收入</option> <option value="借貸">借貸</option> <option value="其它">其它</option> </select> </div> <div style="text-align:center;color:red">注:借貸和其它類型的帳目不計入收支</div> <div style="text-align:center;color:yellow"> 金額<input type="text" name="bmoney"><br/> </div> <div style="text-align:center;color:yellow"> 日期<input type="date" name="bdate"><br/> </div> <div style="text-align:center;color:yellow"> 備註<input type="text" name="bremark"><br/> </div> <div style="text-align:center;color:yellow"> <input type="submit" value="添加"><br/> </div> </form> </div> </div> </body> </html>
AddBillServlet.javajava
package com.zzw.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.zzw.entity.Bill; import com.zzw.service.IUserService; import com.zzw.service.Impl.UserServiceImpl; public class AddBillServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); response.setContentType("text/html; charset=utf-8"); String type= request.getParameter("btype"); int money=Integer.parseInt(request.getParameter("bmoney")); String date= request.getParameter("bdate"); String remark= request.getParameter("bremark"); Bill bill =new Bill(type,money,date,remark); //接口 x=new 實現類() IUserService userservice = new UserServiceImpl(); boolean result=userservice.AddBill(bill); if(!result) { request.setAttribute("message","error"); }else { request.setAttribute("message","noerror"); } request.getRequestDispatcher("add.jsp").forward(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
UserServiceImpl.javasql
package com.zzw.service.Impl; import com.zzw.dao.IUserDao; import com.zzw.dao.Impl.UserDaoImpl; import com.zzw.entity.Bill; import com.zzw.entity.User; import com.zzw.service.IUserService; public class UserServiceImpl implements IUserService{ IUserDao userdao= new UserDaoImpl(); //登陸 public boolean Login(User user) { boolean flag=false; if(userdao.Login(user.getUname(),user.getUpwd())) { flag=true; } return flag; } //註冊 public boolean Register(User user) { boolean flag=false; if(!userdao.isExist(user.getUname())) { userdao.Register(user); flag=true; }else { System.out.println("此人已存在"); } return flag; } //根據帳號查詢用戶 public User Query(String uname) { return userdao.Query(uname); } //記帳 public boolean AddBill(Bill bill) { boolean flag=false; if(userdao.AddBill(bill)) { flag=true; } return flag; } }
IUserService.java數據庫
package com.zzw.service; import com.zzw.entity.Bill; import com.zzw.entity.User; public interface IUserService { //登陸 public boolean Login(User user); //註冊 public boolean Register(User user) ; //根據帳號查詢用戶 public User Query(String uname) ; //記帳 public boolean AddBill(Bill bill) ; }
Bill.java瀏覽器
package com.zzw.entity; public class Bill { private int bid; private String btype; private int bmoney; private String bdate; private String bremark; public Bill() { } public Bill(String btype, int bmoney, String bdate, String bremark) { this.btype = btype; this.bmoney = bmoney; this.bdate = bdate; this.bremark = bremark; } public Bill(int bid, String btype, int bmoney, String bdate, String bremark) { this.bid = bid; this.btype = btype; this.bmoney = bmoney; this.bdate = bdate; this.bremark = bremark; } @Override public String toString() { return "Bill [bid=" + bid + ", btype=" + btype + ", bmoney=" + bmoney + ", bdate=" + bdate + ", bremark=" + bremark + "]"; } public int getBid() { return bid; } public void setBid(int bid) { this.bid = bid; } public String getBtype() { return btype; } public void setBtype(String btype) { this.btype = btype; } public int getBmoney() { return bmoney; } public void setBmoney(int bmoney) { this.bmoney = bmoney; } public String getBdate() { return bdate; } public void setBdate(String bdate) { this.bdate = bdate; } public String getBremark() { return bremark; } public void setBremark(String bremark) { this.bremark = bremark; } }
UserDaoImpl.javajsp
package com.zzw.dao.Impl; import java.sql.ResultSet; import java.sql.SQLException; import com.zzw.dao.IUserDao; import com.zzw.entity.Bill; import com.zzw.entity.User; import com.zzw.utils.DBUtil; public class UserDaoImpl implements IUserDao{ //註冊 public boolean Register(User user) { String sql="insert into user(uname,upwd,usex) values(?,?,?)" ; Object [] params= {user.getUname(),user.getUpwd(),user.getUsex()}; return DBUtil.executeUpdate(sql, params); } //查詢帳戶是否存在 public boolean isExist(String uname) { return Query(uname)==null? false:true; } //登陸 public boolean Login(String uname,String upwd) { return Query(uname,upwd)==null? false:true; } //根據帳號查詢用戶所有信息 public User Query(String uname) { User user= null; ResultSet rs = null; try { String sql="select * from user where uname =?" ; Object [] params= {uname}; rs=DBUtil.executeQuery(sql, params); if(rs.next()) { String name=rs.getString("uname"); String pwd=rs.getString("upwd"); String sex=rs.getString("usex"); user= new User(name,pwd,sex); } }catch(SQLException e) { e.printStackTrace(); }catch(Exception e) { e.printStackTrace(); }finally { try { //先開的後關,後開的先關 if(rs!=null)rs.close(); if(DBUtil.pstmt!=null)DBUtil.pstmt.close(); if(DBUtil.connection !=null)DBUtil.connection.close(); }catch(SQLException e) { e.printStackTrace(); }finally { } } return user; } //根據帳戶密碼肯定是否存在 public User Query(String uname,String upwd) { User user= null; ResultSet rs = null; try { String sql="select * from user where uname =? and upwd=?" ; Object [] params= {uname,upwd}; rs=DBUtil.executeQuery(sql, params); if(rs.next()) { String name=rs.getString("uname"); String pwd=rs.getString("upwd"); String sex=rs.getString("usex"); user= new User(name,pwd,sex); } }catch(SQLException e) { e.printStackTrace(); }catch(Exception e) { e.printStackTrace(); }finally { try { //先開的後關,後開的先關 if(rs!=null)rs.close(); if(DBUtil.pstmt!=null)DBUtil.pstmt.close(); if(DBUtil.connection !=null)DBUtil.connection.close(); }catch(SQLException e) { e.printStackTrace(); }finally { } } return user; } //記帳 public boolean AddBill(Bill bill) { String sql="insert into bill(btype,bmoney,bdate,bremark) values(?,?,?,?)" ; Object [] params= {bill.getBtype(),bill.getBmoney(),bill.getBdate(),bill.getBremark()}; return DBUtil.executeUpdate(sql, params); } }
IUserDao.javaide
package com.zzw.dao; import com.zzw.entity.Bill; import com.zzw.entity.User; public interface IUserDao { //註冊 public boolean Register(User user) ; //查詢帳戶是否存在 public boolean isExist(String uname) ; //登陸 public boolean Login(String uname,String upwd) ; //根據賬號查詢用戶所有信息 public User Query(String uname) ; //記帳 public boolean AddBill(Bill bill); }
下圖爲數據庫中bill表post
登陸成功後進入首頁