![武夷學院-JSP實驗七:JSP數據庫操作_第1頁](http://file4.renrendoc.com/view14/M05/3B/24/wKhkGWZYuyKAJW3zAAA9CqrC8SQ307.jpg)
![武夷學院-JSP實驗七:JSP數據庫操作_第2頁](http://file4.renrendoc.com/view14/M05/3B/24/wKhkGWZYuyKAJW3zAAA9CqrC8SQ3072.jpg)
![武夷學院-JSP實驗七:JSP數據庫操作_第3頁](http://file4.renrendoc.com/view14/M05/3B/24/wKhkGWZYuyKAJW3zAAA9CqrC8SQ3073.jpg)
![武夷學院-JSP實驗七:JSP數據庫操作_第4頁](http://file4.renrendoc.com/view14/M05/3B/24/wKhkGWZYuyKAJW3zAAA9CqrC8SQ3074.jpg)
![武夷學院-JSP實驗七:JSP數據庫操作_第5頁](http://file4.renrendoc.com/view14/M05/3B/24/wKhkGWZYuyKAJW3zAAA9CqrC8SQ3075.jpg)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
武夷學院-JSP實驗七:JSP數據庫操作武夷學院實驗報告課程名稱:___Web應用系統(tǒng)開發(fā)(軟件方向)__項目名稱:_JSP數據庫操作姓名:__專業(yè):_計算機與科學技術_班級:_計科3_學號:同組成員__無__實驗目的:1、使學生掌握連接數據庫操作。2、讓學生掌握使用JDBC查詢數據庫中表的記錄。3、使學生掌握使用預處理語句向數據庫的表添加記錄。實驗要求:1、使用MVC設計一個查詢數據庫表中記錄的JSP程序。編寫一個JSP頁面inputDatabase.jsp,用戶可以輸入數據庫名、表名后提交一個servlet,servlet將查詢結果放入一個Javabean模型中,然后轉發(fā)到inputDatabase.jsp,inputDatabase.jsp頁面再顯示Javabean中的數據。2、使用MVC模式。視圖部分由兩個JSP頁面構成,其中一個頁面(insert.jsp)負責提供輸入新記錄的視圖,即用戶可以在該頁面輸入要添加的記錄,然后將要添加的記錄提交給servlet。servlet負責插入記錄到數據庫的表中,然后查詢數據庫的表,并將查詢結果存儲到Javabean數據模型中,然后請求視圖中的另一個JSP頁面(showRecord.jsp)顯示數據模型中的數據。3、提交實驗報告,實驗報告中要有實驗過程、結果的截圖說明。二、實驗過程記錄注:實驗過程記錄要包含實驗步驟,頁碼不夠可自行添加。:注:實驗過程記錄要包含實驗步驟,頁碼不夠可自行添加。1、使用MVC設計一個查詢數據庫表中記錄的JSP程序。編寫一個JSP頁面inputDatabase.jsp,用戶可以輸入數據庫名、表名后提交一個servlet,servlet將查詢結果放入一個Javabean模型中,然后轉發(fā)到inputDatabase.jsp,inputDatabase.jsp頁面再顯示Javabean中的數據。(1)建立MYSQL連接,帳號為root密碼為空,并創(chuàng)建warehouse數據庫和product表。try{con=DriverManager.getConnection(uri,user,password);Statementsql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);ResultSetrs=sql.executeQuery("SELECT*FROM"+tableName);ResultSetMetaDatametaData=rs.getMetaData();intcolumnCount=metaData.getColumnCount();//得到結果集的列數String[]columnName=newString[columnCount];for(inti=0;i<columnName.length;i++){columnName[i]=metaData.getColumnName(i+1);//得到列名}recordBean.setColumnName(columnName);//更新Javabean數據模型rs.last();introwNumber=rs.getRow();//得到記錄數String[][]tableRecord=recordBean.getTableRecord();tableRecord=newString[rowNumber][columnCount];rs.beforeFirst();inti=0;while(rs.next()){for(intk=0;k<columnCount;k++)tableRecord[i][k]=rs.getString(k+1);i++;}recordBean.setTableRecord(tableRecord);//更新Javabean數據模型con.close();response.sendRedirect("inputDatabase.jsp");//重定向}catch(SQLExceptione){System.out.println(e);}}publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{doPost(request,response);}publicvoidfail(HttpServletRequestrequest,HttpServletResponseresponse,StringbackNews){response.setContentType("text/html;charset=GB2312");try{PrintWriterout=response.getWriter();out.println("<html><body>");out.println("<h2>"+backNews+"</h2>");out.println("返回");out.println("<ahref=inputDatabase.jsp>輸入正確信息</a>");out.println("</body></html>");}catch(IOExceptionexp){}}}Web.xml<servlet><servlet-name>shiyan1Servlet</servlet-name><servlet-class>myservlet.control.Shiyan1_Servlet</servlet-class></servlet><servlet-mapping><servlet-name>shiyan1Servlet</servlet-name><url-pattern>/shiyan1Servlet</url-pattern></servlet-mapping>2.運行結果2、使用MVC模式。視圖部分由兩個JSP頁面構成,其中一個頁面(insert.jsp)負責提供輸入新記錄的視圖,即用戶可以在該頁面輸入要添加的記錄,然后將要添加的記錄提交給servlet。servlet負責插入記錄到數據庫的表中,然后查詢數據庫的表,并將查詢結果存儲到Javabean數據模型中,然后請求視圖中的另一個JSP頁面(showRecord.jsp)顯示數據模型中的數據。(1)在MYSQL數據庫中創(chuàng)建Student數據庫并創(chuàng)建mess表。(2)源代碼和結果截圖:源代碼insert.jsp<%@pagecontentType="text/html;charset=gb2312"%><HTML><bodybgcolor=#AAFFEE><fontsize=2><formaction="shiyan2Servlet?dataBase=student&tableName=mess"method=post><b>添加新記錄:<br>學號:<inputtype="text"name="number"size=20><br>姓名:<inputtype="text"name="name"size=22><br>年齡:<inputtype="text"name="age"size=18><br><inputtype="submit"name="b"value="提交"></font></body></HTML>showRecord.jsp<%@pagecontentType="text/html;charset=gb2312"%><jsp:useBeanid="resultBean"class="mybean.data.Example7_2_Bean"scope="request"/><HTML><bodybgcolor=#DEEFF9><fontsize=2><tableborder=1><%String[]columnName=resultBean.getColumnName();%><tr><%for(Strings:columnName){%><th><%=s%></th><%}%></tr><%String[][]record=resultBean.getTableRecord();for(inti=0;i<record.length;i++){%><tr><%for(intj=0;j<record[i].length;j++){%><td><%=record[i][j]%></td><%}%></tr><%}%></table></font></body></HTML>Example7_2_Bean.javapackagemybean.data;publicclassExample7_2_Bean{String[]columnName;//存放列名String[][]tableRecord=null;//存放查詢到的記錄publicExample7_2_Bean(){tableRecord=newString[1][1];columnName=newString[1];}publicvoidsetTableRecord(String[][]s){tableRecord=s;}publicString[][]getTableRecord(){returntableRecord;}publicvoidsetColumnName(String[]s){columnName=s;}publicString[]getColumnName(){returncolumnName;}}Shiyan2_Servlet.javapackagemyservlet.control;importmybean.data.Example7_2_Bean;//引入例子2中的Javabean模型importjava.io.*;importjava.sql.*;importjavax.servlet.*;importjavax.servlet.http.*;importjava.util.Calendar;publicclassShiyan2_ServletextendsHttpServlet{publicvoidinit(ServletConfigconfig)throwsServletException{super.init(config);}publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{Example7_2_BeanresultBean=null;try{resultBean=(Example7_2_Bean)request.getAttribute("resultBean");if(resultBean==null){resultBean=newExample7_2_Bean();//創(chuàng)建Javabean對象request.setAttribute("resultBean",resultBean);}}catch(Exceptionexp){resultBean=newExample7_2_Bean();//創(chuàng)建Javabean對象request.setAttribute("resultBean",resultBean);}try{Class.forName("com.mysql.jdbc.Driver");}catch(Exceptione){}request.setCharacterEncoding("gb2312");StringdataBase=request.getParameter("dataBase");StringtableName=request.getParameter("tableName");Stringnumber=request.getParameter("number");Stringname=request.getParameter("name");StringageStr=request.getParameter("age");if(number==null||number.length()==0){fail(request,response,"添加記錄失敗,必須給出記錄");return;}if(ageStr==null||ageStr.length()==0)ageStr="-1";intage=Integer.parseInt(ageStr);Connectioncon;PreparedStatementsql;ResultSetrs;try{Stringuri="jdbc:mysql:///"+dataBase+"?"+"user=root&password=&characterEncoding=gb2312";con=DriverManager.getConnection(uri);sql=con.prepareStatement("insertmessVALUES(?,?,?)");sql.setString(1,number);sql.setString(2,name);sql.setInt(3,age);sql.executeUpdate();sql=con.prepareStatement("SELECT*FROM"+tableName);rs=sql.executeQuery();ResultSetMetaDatametaData=rs.getMetaData();intcolumnCount=metaData.getColumnCount();//得到結果集的列數String[]columnName=newString[columnCount];for(inti=0;i<columnName.length;i++){columnName[i]=metaData.getColumnName(i+1);//得到列名}resultBean.setColumnName(columnName);//更新Javabean數據模型rs.last();introwNumber=rs.getRow();//得到記錄數String[][]tableRecord=resultBean.getTableRecord();tableRecord=newString[rowNumber][columnCount];rs.beforeFirst();inti=0;while(rs.next()){for(intk=0;k<columnCount;k++)tableRecord[i][k]=rs.getString(k+1);i++;}resultBean.setTableRecord(tableRecord);//更新Javabean數據模型con.close();RequestDispatcherdispatcher=request.getRequestDispatcher("showRecord.jsp");dispatcher.forward(request,response);//轉發(fā)}catch(SQLExceptione){System.out.println(e);fail(request,response,"添加記錄失敗:"+e.toString());}}publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{doPost(request,response);}publicvoidfail(HttpServletRequestrequest,HttpServletResponseresponse,StringbackNews){response.setContentType("text/html;charset=GB2312");try{PrintWriterout=respons
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年河源道路運輸從業(yè)資格考試系統(tǒng)
- 2024-2025學年新教材高中語文第六單元課時優(yōu)案5拿來主義習題含解析新人教版必修上冊
- 光學實驗室建設方案
- 華師大版數學八年級下冊《平面直角坐標系》聽評課記錄
- 高中老師工作總結
- 個人培訓研修計劃
- 實驗教學聽評課記錄
- 餐飲合伙人合同范本
- 應急照明施工合同范本
- 華中農業(yè)大學《礦井熱害防治》2023-2024學年第二學期期末試卷
- 【義務教育階段學困生研究國內外文獻綜述3600字】
- 英語完形填空練習題
- GB/T 10095.1-2022圓柱齒輪ISO齒面公差分級制第1部分:齒面偏差的定義和允許值
- 仁愛英語九年級下冊單詞表(中英文)
- 建設工程施工合同糾紛處理課件
- 標準太陽能光譜數據
- 小學校長新學期工作思路3篇
- 四年級下冊數學應用題專項練習
- 煤礦安全生產事故風險辨識評估和應急資源調查報告
- 建筑結構課程設計說明書實例完整版(本)
- 橋梁橋臺施工技術交底(三級)
評論
0/150
提交評論