資源描述:
《云南大學(xué)軟件學(xué)院j2ee實驗5》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、云南大學(xué)軟件學(xué)院J2EE實驗報告姓名:學(xué)號:班級:曰期:成績:Lab5-分頁和Cookie一、實驗?zāi)康?、進一步掌握使用JDBC連接數(shù)據(jù)庫的六個基本步驟;2、理解如何實現(xiàn)分頁(涉及四個變設(shè));3、理解Cookie如何在客戶端保存用戶相關(guān)的信息;二、實驗步驟1、使用Eclipse建立DynamicWebProject項目,命名為LoginVI.7;2、重構(gòu)LoginV1.6的Welcome.java,添加分頁顯示代碼,完成LoginV1.7;3、使用Eclipse建立DynamicWebProject項目,命名為LoginVl.8;4、重構(gòu)LoginVl.7的Lgoin.java、Logi
2、nCheck.java和Welcome.java,使用cookie技術(shù)保存用戶名和密碼,實現(xiàn)用戶的自動登錄,完成LoginV1.8;三、框架圖1、LoginVl.7的框架圖加入分頁顯示代碼2、LoginV1.8的框架圖相:杏cookie中是否存在用戶名和密碼,如有,重新定到使用cookie,保存用戶名和密碼檢査cookie中是否存在用戶名和密碼,如有,重析定到四、主要代碼LoginV1.7分頁功能主要代碼ConnectionFactory.javapackagecom.DB;//操作數(shù)裾庫的工具類importjavaJo.*;importjava.sql.*;importjava.uti
3、l.*;//使用數(shù)據(jù)源需要引包importjavax.naming.*;importjavax.servlet.jsp.tagext.TryCatchFinally;importjavax.sq1.DataSource;publicclassConnectionFactory{//定義訪問數(shù)據(jù)庫需要的變量privatestaticConnectionct=null;//大多數(shù)情況下,使用FreparedStatment代替Statement,防止sql注入privatestaticPreparedStatementps=null;privatestaticResultSetrs=null
4、;//得到連接函數(shù)publicstaticConnectiongetConnection(){try{//創(chuàng)建一個上下文環(huán)境Contextcon=newjavax.naming.InitialContext();//通過con得到數(shù)據(jù)源DataSourceds=(DataSource)con.lookup(njava:comp/env/wangzengweiH//得到連接ct=ds.getConnection();}catch(Exceptione){//TODO:handleexceptione.printStackTracef);}returnct;}//有ResultSet返冋值的
5、操作,主要執(zhí)行查詢操作publicstaticResultSetexecuteQuery(Stringsql,String門parameters){try{ct=ConnectionFactory.getConnection();ps=ct.prepareStatement(sql);//通過傳遞的數(shù)組操作數(shù)據(jù)庫if(parameters!=null&&!parameters.equals(MH)){for(inti=O;i6、ch(Exceptione){//TODO:handleexceptione.printStackTrace();}returnrs;}//沒有返回ResultSet,主要執(zhí)行增刪改楝作publicstaticvoidexcuteUpdate(Stringsql,String[]parameters){try{ct=ConnectionFactory.getConnection();ps=ct.prepareStatement(sql);if(parameters!=null&&!parameters.equals(Kn)){for(inti=O;i7、i++){ps.setString(i+1,parametersfil);}}ps.executeUpdate();}catch(Exceptione){//TODO:handleexceptione.printStackTrace();//開發(fā)階段,拋出異常//拋出運行異常,給調(diào)川該函數(shù)的函數(shù)?一個選擇可以處理,也可以放棄處理thrownewRuntimeException(e.getMessage());}finally{clo