web项目_学生证管理系统
項目簡述:
基于java web實現(xiàn)學(xué)生卡管理系統(tǒng),用戶包括學(xué)生和學(xué)生處,分別實現(xiàn)以下功能。
學(xué)生:
1.對本人登錄密碼的修改
2.申請補辦學(xué)生卡
3.查看學(xué)生卡補辦狀態(tài)
學(xué)生處:
1.對學(xué)生信息的管理(包括對信息的增刪改查)
2.受理學(xué)生證的補辦申請
3.查詢學(xué)生證補辦記錄
一、項目實現(xiàn)思路
在此次javaweb的項目中,我采用mysql數(shù)據(jù)庫對數(shù)據(jù)進(jìn)行管理,前端界面采用JSP編寫,利用JavaBean實現(xiàn)用戶與數(shù)據(jù)庫之間的映射。難點在于實現(xiàn)學(xué)生端與學(xué)生處端的信息互動,說到底都是利用嵌入式sql語言對mysql數(shù)據(jù)庫的讀取、更新與在前端頁面顯示的問題。編寫代碼期間,還設(shè)置了session變量,將頁面中所涉及并且需要利用的用戶變量儲存在session變量中。
二、數(shù)據(jù)庫設(shè)計
該項目基于mysql數(shù)據(jù)庫,在mysql中創(chuàng)建studentcard數(shù)據(jù)庫,并且在studentcard中建立admin(學(xué)生處)、student(學(xué)生)、apply_info(申請信息)、log(補辦日志)四張表。
數(shù)據(jù)庫操作代碼:
Connection conn = null;Statement st = null;ResultSet rs = null;public BaseDAO(){try{Class.forName("com.mysql.jdbc.Driver");String url = "jdbc:mysql://localhost:3306/studentcard";// 連接url字符串String user = "root";// 數(shù)據(jù)庫用戶名String password = "";// 數(shù)據(jù)庫密碼this.conn=DriverManager.getConnection(url,user,password);this.st=this.conn.createStatement();this.rs=null;}catch(Exception ex){ex.printStackTrace();}}public String doUpgrade(String sql){ //數(shù)據(jù)庫更新操作try{if(this.st!=null)this.st.executeUpdate(sql);return "";}catch(Exception ex){ex.printStackTrace();return ex.getMessage();}}public ResultSet doQuery(String sql){ //數(shù)據(jù)庫查詢操作try{this.rs=this.st.executeQuery(sql);}catch(Exception ex){ex.printStackTrace();}return this.rs;}三、功能展示 & 代碼
1.登錄
//管理員身份驗證登錄關(guān)鍵代碼 sql="select * from admin where id='"+user.getUserId()+"' and password= '"+user.getUserPassword()+"'";ResultSet rs=db.doQuery(sql);if( rs.next()){String userName = rs.getString("name");System.out.println("sessionUserName" + userName);request.getSession().setAttribute("sessionUserId", user.getUserId());request.getSession().setAttribute("sessionUserName", userName);user.setPassed(true);out.print("Success!");response.sendRedirect("MainIndex.jsp");}else {out.print("<font color=red>用戶名或口令不正確</font><br>");}2.查詢?nèi)繉W(xué)生信息 & 查詢個人學(xué)生信息
//查詢?nèi)繉W(xué)生信息& 以表格的形式輸出 關(guān)鍵代碼 ResultSet rs=db.doQuery("select * from student");out.println("學(xué)生信息如下:<br>");out.println("<table border=1><thead><tr>");out.println("<th>學(xué)號</th><th>姓名</th><th>學(xué)院</th><th>專業(yè)</th><th>密碼</th></tr></thead>");out.println("<tbody>");while(rs.next()){String id=rs.getString("id");String un=rs.getString("sname");String co=rs.getString("college");String dp=rs.getString("sdept");String pd=rs.getString("password"); out.println("<tr><td>"+id+"</td>");out.println("<td>"+un+"</td>");out.println("<td>"+co+"</td>");out.println("<td>"+dp+"</td>");out.println("<td>"+pd+"</td></tr>");}out.println("</tbody></table>");3.學(xué)生申請補辦學(xué)生卡
//學(xué)生申請補辦學(xué)生卡 & 將申請信息插入到apply_info表中String name=request.getParameter("name");String id=request.getParameter("id");String college=request.getParameter("college");String department=request.getParameter("department");String userId = session.getAttribute("sessionUserId").toString();if(name!=null && id!=null && college!=null && department!=null && userId.equals(id)){ String sql="insert into apply_info(id,sname,college,sdept,state) values("+ "'"+ id+"','"+name+"','"+college+"','"+department+"','"+"未補辦"+"')";//System.out.println(sql);String rs=db.doUpgrade(sql);out.print("申請成功"); }4.學(xué)生處受理學(xué)生卡補辦
//完成補辦String id=request.getParameter("id");String name = request.getParameter("name");//System.out.println(id);if(id != null){String sql = "update apply_info set state = '補辦完成' where id='" + id +"'";//System.out.println(sql);String rs1 =db.doUpgrade(sql);String userId = session.getAttribute("sessionUserId").toString();String userName = session.getAttribute("sessionUserName").toString();//System.out.println("userId = "+ userId);//System.out.println("userUserName = "+ userName);sql="insert into log(id,name,sid,sname) values("+"'"+userId+"'"+",'"+userName+"','"+id+"','"+name+"')";//System.out.println(sql); String rs2 = db.doUpgrade(sql);response.sendRedirect("Repair.jsp");sql = "delete from apply_info where state = '補辦完成'";String rs3 = db.doUpgrade(sql);//response.sendRedirect("Repair.jsp");}5.學(xué)生查看受理狀態(tài)
//在apply_info表中讀數(shù)據(jù)并且輸出到j(luò)sp界面中,只能查看當(dāng)前用戶的受理補辦狀態(tài)String userId = session.getAttribute("sessionUserId").toString();System.out.println(userId);String sql = "select * from apply_info where id = '" + userId+ "'";ResultSet rs=db.doQuery(sql);if(rs.next()){String id=rs.getString("id");String name=rs.getString("sname"); String college=rs.getString("college"); String department = rs.getString("sdept"); String state = rs.getString("state"); out.print("您的補辦信息:<br>");out.print("........................................................................<br>");out.print("學(xué)號:"+id+"<br/>");out.print("姓名:"+name+"<br/>"); out.print("學(xué)院:"+college+"<br/>"); out.print("專業(yè):" + department + "<br/>");out.print("狀態(tài):" + state + "<br>");out.print("........................................................................");}else{out.print("無申請,你看什么看!");}6.學(xué)生處查看受理日志
//從log表中讀出所有的補辦日志輸出到JSP頁面中ResultSet rs=db.doQuery("select * from log");out.println("發(fā)放記錄如下:<br>");out.println("..............................................................................................<br>");while(rs.next()){String userId=rs.getString("id");String userName=rs.getString("name");String sid=rs.getString("sid");String sname=rs.getString("sname");//String pd=rs.getString("password"); out.print("管理員id:" + userId + " " );out.println("管理員name:" + userName + "<br>");out.print("學(xué)生id:" + sid + " ");out.println("學(xué)生name:" + sname + "<br>");out.println("............................................................................................." + "<br>" );}對于其他的學(xué)生信息增、刪、改、查功能不在一一贅述,代碼部分與上述功能代碼相似。
四、項目地址鏈接
項目鏈接請點擊:Student_Card_System
轉(zhuǎn)載于:https://www.cnblogs.com/yichaoShare/p/10300730.html
總結(jié)
以上是生活随笔為你收集整理的web项目_学生证管理系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《程序是怎样跑起来的》第一章读后感
- 下一篇: 上传文件小实例