




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、網(wǎng)上報(bào)名系統(tǒng)開發(fā)案例三層架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)分為:1.數(shù)據(jù)訪問(wèn)層2.業(yè)務(wù)邏輯層3.控制器三個(gè)模塊(1).考生報(bào)名模塊(2).考生登錄模塊(3).修改密碼模塊設(shè)計(jì)package myclass.bol;import java.sql.*;import javax.sql.DataSource;import javax.naming.*;public class DBAccess private Connection conn = null; private Statement stmt = null; private ResultSet rs = null; private PreparedState
2、ment prpSql=null; public DBAccess() /* * 返回一個(gè)數(shù)據(jù)庫(kù)連接 * return Connection */ public Connection getConn() if (conn = null) getConnection(); return conn; /* * 加載MySQL驅(qū)動(dòng) * 函數(shù)功能:獲得連接對(duì)象,Statement對(duì)象 */ public void databaseDriver() try Class.forName(com.mysql.jdbc.Driver); catch(Exception e) public void getCo
3、nnection() databaseDriver(); try conn=DriverManager.getConnection(jdbc:mysql:/localhost:3306/booklib?useUnicode=true&characterEncoding=GB2312,root,000000); stmt=conn.createStatement(); /創(chuàng)建Statement對(duì)象,用于執(zhí)行SQL語(yǔ)句 rs=stmt.executeQuery(select * from book); System.out.println(數(shù)據(jù)庫(kù)連接建立(連接池)!); catch (SQLExc
4、eption ex2) System.out.println(請(qǐng)檢查數(shù)據(jù)庫(kù)是否啟動(dòng)!); ex2.printStackTrace(); /*返回結(jié)果集*param strSql 查詢語(yǔ)句*return 成功返回結(jié)果集,失敗返回Null */ public ResultSet query(String strSql) ResultSet rs = null; try rs=stmt.executeQuery(strSql); return rs; catch (SQLException ex) ex.printStackTrace(); return rs; /* 返回結(jié)果* param prp
5、Sql 查詢預(yù)處理* return 成功返回結(jié)果集,失敗返回null*/ public ResultSet query(PreparedStatement prpSql) this.prpSql=prpSql; ResultSet rs=null; try rs=this.prpSql.executeQuery(); return rs; catch (SQLException ex) ex.printStackTrace(); return rs; /*插入多條數(shù)據(jù)*param sqls insert語(yǔ)句數(shù)組*return 成功返回true,失敗返回false*/ public boolea
6、n insert(String sqls) boolean breturn =false; try conn.setAutoCommit(false); for (int i=0;i sqls.length;i+) if(sqlsi !=null) stmt.addBatch(sqlsi); stmt.executeBatch(); mit(); conn.setAutoCommit(true); catch(SQLException ex) return breturn; /*返回影響行數(shù) * param strSql查詢語(yǔ)句*return 成功返回影響行數(shù),失敗返回0 -1 數(shù)據(jù)庫(kù)訪問(wèn)錯(cuò)誤
7、*/ public int executeSql(String strSql) int result=0; try stmt=conn.createStatement(); result=stmt.executeUpdate(strSql); catch (SQLException ex) System.out.println(產(chǎn)生異常,:at DBAccess.executeSql(); ex.printStackTrace(); result=-1; return result; /*返回影響行數(shù)*param StrSql 查詢預(yù)處理*return影響行數(shù),失敗返回0*/ public i
8、nt executeSql(PreparedStatement prpSql) int result=0; try this.prpSql=prpSql; result=this.prpSql.executeUpdate(); catch(SQLException ex) System.out.print(產(chǎn)生異常,:at DBAccess.executeSql(); result=-1; return result; /*返回結(jié)果true或false*param sqls查詢語(yǔ)句數(shù)組*return 成功true,失敗false*/ public boolean executeSql(Stri
9、ng sqls) boolean breturn =false; try conn.setAutoCommit(false); stmt=conn.createStatement(); for(int i=0;i0)boolean isLD=true;for(int i=0;iexamID.length();i+)char c=examID.charAt(i);if(!(c=a)|(c=A)|(c=0)isLD=false;if(isLD=true & examDal.getExamineeByID(examID)!=null)return result=-2;if(isLD=true)res
10、ult=examDal.CreateExaminee(examID, examName, sex, company, address, phone, email, password, examType, memo, pic);elseSystem.out.println(身份證號(hào)或密碼不符合要求!);System.out.println(函數(shù)返回值:+result);return result;/*考生登錄方法*/public int examineeLogin(String examID,String password)examineeDal examDal=new examineeDal(
11、);int result=0;if(examID.length()=12|examID.length()=18)&password.length()0)examinee exam=null;exam=examDal.getExamineeByIdPwd(examID, password);if(exam!=null)result=1;elseresult=-1;return result;/*儲(chǔ)存照片文件名*/public int setExamineePic(String examID,String picStr)examineeDal examDal=new examineeDal();/
12、int result;/if()/業(yè)務(wù)邏輯/return examDal.setExamineePic(examID, picStr);/*返回examinee對(duì)象*/public examinee getExamineeByID(String examID)examinee exam =null;examineeDal examdal=new examineeDal();exam=examdal.getExamineeByID(examID);return exam;/*返回examinee對(duì)象集*/public ArrayList getExamineeAll()examineeDal e
13、xamdal=new examineeDal();return examdal.getExamineeAll();/*設(shè)置用戶密碼*/public int setExamineePwd(String examID,String newPassword,String oldPassword)int result=0;examineeDal examdal=new examineeDal();if(newPassword=| newPassword.equals(oldPassword)return result;if(examdal.getExamineeByIdPwd(examID, oldP
14、assword)!=null)result=examdal.setExaminePwd(examID, newPassword);elseresult=-1;return result;/*更新考生信息*/public int updateExaminByID(String examID,String examName,String sex,String company,String address,String phone,String email,String examType,String memo)examineeDal examdal=new examineeDal();int re
15、sult=0;if(examName.length()0)result=examdal.updateExamineeByID(examID, examName, sex, company, address, phone, email, examType, memo);elsereturn result=-1;return result;/*刪除考生數(shù)據(jù)*/public int deleteExamineeByID(String examID)examineeDal examdal=new examineeDal();int result=0;if(examID=null)result=-2;i
16、f(examID.length()0)result=examdal.deleteExmineeByID(examID);return result;package myclass.bol;import java.sql.ResultSet;import java.sql.PreparedStatement;import java.util.ArrayList;import myclass.bol.DBAccess;import myclass.bol.examinee;public class examineeDal /*在考生表中插入一條記錄*return 成功1,失敗0*/ public
17、int CreateExaminee(String examID,String examName,String sex, String company,String address,String phone,String email, String password,String examType,String memo,String pic) int result=0; String createSql=insert into examinee(id,name,sex,company,+ address,phone,email,password,examType,memo,pic)+valu
18、es(+examID+,+examName+,+sex+,+company+,+address+,+phone+,+email+,+password+,+examType+,+memo+,+pic+); DBAccess dba = new DBAccess(); try if(dba.getConn()!=null) result=dba.executeSql(createSql); catch(Exception ne) System.out.println(examineedal出現(xiàn)如下錯(cuò)誤:); System.out.println(ne); finally dba.closeConn
19、ection(); return result; /*按考生身份證號(hào)獲得一個(gè)考生對(duì)象(考生信息)*return 成功返回 examinee對(duì)象,失敗返回null*param examID*/ public examinee getExamineeByID(String examID) DBAccess dba=new DBAccess(); examinee exam=null; try if(dba.getConn()!=null&examID!=null) String str=select * from examinee where id=+examID+; ResultSet rst=
20、dba.query(str); if(rst!=null&rst.next() exam=new examinee(rst.getString(1),rst.getString(2), rst.getString(3), rst.getString(4),rst.getString(5),rst.getString(6), rst.getString(7),rst.getString(8),rst.getString(10), rst.getString(9),rst.getString(11); catch(Exception ne) (examineedal:getExamineeByID
21、發(fā)生錯(cuò)誤); finally dba.closeConnection(); return exam; /*返回examinee對(duì)象數(shù)組*return成功examinee對(duì)象數(shù)組,否則null*/ public ArrayList getExamineeAll() DBAccess dba=new DBAccess(); ArrayList examList = new ArrayList(); try if(dba.getConn()!=null) String str=select * from examinee; ResultSet rst=dba.query(str); while (r
22、st!=null&rst.next() if(rst.getString(id) !=null) examinee exam=new examinee(rst.getString(1),rst.getString(2), rst.getString(3), rst.getString(4),rst.getString(5),rst.getString(6), rst.getString(7),rst.getString(8),rst.getString(10), rst.getString(9),rst.getString(11); examList.add(exam); catch(Exce
23、ption ne) System.out.println(examineedal:getExamineeall發(fā)生錯(cuò)誤); finally dba.closeConnection(); return examList; /*根據(jù)身份證和密碼返回考生對(duì)象*return 成功examinee對(duì)象,失敗返回null*/ public examinee getExamineeByIdPwd(String examID,String password) DBAccess dba=new DBAccess(); examinee exam=null; try if(dba.getConn() !=null
24、&examID!=null&password!=null) System.out.println(數(shù)據(jù)庫(kù)連接已經(jīng)建立); String str=select * from examinee where id=? and password=?; PreparedStatement prpSql; prpSql=dba.getConn().prepareStatement(str); prpSql.setString(1, examID); prpSql.setString(2, password); ResultSet rst=dba.query(prpSql); if(rst!=null&rs
25、t.next() exam=new examinee(rst.getString(1),rst.getString(2),rst.getString(3),rst.getString(4),rst.getString(5),rst.getString(6),rst.getString(7),rst.getString(8),rst.getString(9),rst.getString(10),rst.getString(11) ); if(prpSql!=null) prpSql.close(); prpSql=null; catch(Exception ne)(examineedal:get
26、examineebyIDPwd發(fā)生錯(cuò)誤); finally dba.closeConnection(); return exam; /*函數(shù)功能修改用戶密碼*return 成功返回1,否則返回*/ public int setExaminePwd(String examID,String newPassword) DBAccess dba=new DBAccess(); int result=0; try if(dba.getConn()!=null) PreparedStatement prpSql; String strSql=Update examinee set password=?
27、where id=?; prpSql=dba.getConn().prepareStatement(strSql); prpSql.setString(1, newPassword); prpSql.setString(2, examID); result=dba.executeSql(prpSql); if(prpSql!=null) prpSql.close(); prpSql=null; catch(Exception ne) System.out.println(exmaineedal:setPassword發(fā)生錯(cuò)誤); result=-1; finally dba.closeConn
28、ection(); return result; /*修改考生信息*return影響行數(shù),失敗0 */ public int updateExamineeByID(String examID,String examName,String sex,String company,String address,String phone,String email,String examType,String memo) DBAccess dba=new DBAccess(); int result=0; try if(dba.getConn()!=null) PreparedStatement prp
29、Sql; String strSql=update examinee set name=?,sex=?,company=?,+address=?,phone=?,email=?,examType=?,memo=?,where id=?; prpSql=dba.getConn().prepareStatement(strSql); prpSql.setString(1,examName); prpSql.setString(2, sex); prpSql.setString(3, company); prpSql.setString(4, address); prpSql.setString(5
30、, phone); prpSql.setString(6, email); prpSql.setString(7, examType); prpSql.setString(8, memo); prpSql.setString(9, examID); if(prpSql!=null) prpSql.close(); prpSql=null; catch(Exception ne) ne.printStackTrace(); System.out.println(ne.toString(); return -1; finally dba.closeConnection(); return resu
31、lt; /*設(shè)置圖片文件名*param examID *param picStr *return 成功1,失敗0*/ public int setExamineePic(String examID ,String picStr) DBAccess dba=new DBAccess(); int result=0; try if(dba.getConn()!=null) String strSql=update examinee set pic=+picStr+ where id=+examID+; result=dba.executeSql(strSql); catch(Exception n
32、e) System.out.println(發(fā)生異常+ne); ne.printStackTrace(); finally dba.closeConnection(); return result; /*按身份證號(hào)刪除考生*param examID*return 1成功,0失敗,出現(xiàn)異常*/ public int deleteExmineeByID(String examID) DBAccess dba=new DBAccess(); int result=0; try if(dba.getConn()!=null) PreparedStatement prpSql; String strSq
33、l=delete from examinee where id=?; prpSql=dba.getConn().prepareStatement(strSql); prpSql.setString(1, examID); result=prpSql.executeUpdate(); if(prpSql!=null) prpSql.close(); prpSql=null; catch(Exception ne) ne.printStackTrace(); System.out.println(ne.toString(); return -1; finally dba.closeConnecti
34、on(); return result; package myclass.bol;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import myclass.bol.*;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class HandleLogin extends HttpServlet public String handleString(String s)try byte bb=s.getBytes(iso-8859-1); s=new String(bb);catch(Exception ee)return s;public HandleLogin() super();/* * D
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江省紹興市重點(diǎn)名校2024-2025學(xué)年初三下摸底統(tǒng)一考試化學(xué)試題含解析
- 荊門職業(yè)學(xué)院《旅行社管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 湛江市年模擬地理試題(一)
- 2025網(wǎng)站設(shè)計(jì)合同范本
- 2025深圳單間房屋租賃合同范本
- 2025示范商業(yè)店鋪?zhàn)赓U合同書范本
- 2025年標(biāo)準(zhǔn)辦公室租賃合同完整范本
- 2025數(shù)字合同的法律效力
- 2025船舶維護(hù)合同
- 2025婚禮攝影服務(wù)合同范本
- DB5301-T 71-2022 地理標(biāo)志產(chǎn)品 湯池老醬
- 配電工程項(xiàng)目規(guī)范
- 地鐵典型事故案例分析
- 浙江省幼兒園教育裝備要求規(guī)范(試行)
- 法律法規(guī)題庫(kù)題庫(kù)附答案(精練)
- 譯林版六年級(jí)下單詞默寫
- 方案光伏發(fā)電項(xiàng)目吊裝方案
- 礦井火災(zāi)事故搶險(xiǎn)救援
- 龍軟LongRuanGIS地測(cè)空間管理信息系統(tǒng)教程-wx4766
- 人教版四年級(jí)數(shù)學(xué)下冊(cè)期中試卷(含答案)
- (高清版)DZT 0203-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 稀有金屬類
評(píng)論
0/150
提交評(píng)論