web實驗報告 雯docx
《web實驗報告 雯docx》由會員分享,可在線閱讀,更多相關(guān)《web實驗報告 雯docx(38頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、實 驗 報 告課程名稱: Web系統(tǒng)與技術(shù) 實驗項目: Web系統(tǒng)與技術(shù)實驗 實驗地點: 行知樓B113教室 專業(yè)班級: 軟件1334班 學號: 2013005227 學生姓名: 張 雯 指導教師: 王莉 2015年 12 月 30日 太原理工大學實驗報告一學院名稱軟件學院專業(yè)班級軟件1334班實驗成績學生姓名張雯學號2013005227實驗日期2015.12.7課程名稱Web系統(tǒng)與技術(shù) 實驗題目實驗一 JSP內(nèi)置對象一、 實驗目的和要求:1、掌握Application對象。2、掌握Session對象。二、實驗內(nèi)容:1、課本P158網(wǎng)頁計數(shù)器。2、課本P152 session對象示例。3、課本
2、P165 5.8,5.9三、主要儀器設(shè)備裝有Win7 32位操作系統(tǒng)的筆記本電腦及MyEclipse四、主要操作方法與實驗步驟:1、打開MyEclipse,創(chuàng)建名為test的Java Web工程2、創(chuàng)建appCounter.jsp。 3、創(chuàng)建testApplication.jsp。 使用application計數(shù)的例子 測試appCounter的頁面。下劃線以下的內(nèi)容是appCounter頁面的: 4、部署TomCat6.0,成功部署后啟動TomCat,打開瀏覽器 5、輸入路徑查看結(jié)果五、 實驗結(jié)果與分析 實驗結(jié)果:運行一次得出如下結(jié)果:刷新幾次后顯示結(jié)果如下:關(guān)閉瀏覽器重新打開結(jié)果如下:關(guān)閉
3、服務器重新打開服務器運行結(jié)果如下:實驗分析: 可以看出application對象的生命周期是從服務器啟動到關(guān)閉服務器的時間。六、 討論、心得 服務器啟動后,就會自動創(chuàng)建對象,這個對象一直會保持到服務器關(guān)閉為止,并掌握了JSP的內(nèi)置對象的功能和用法。Application對象的生命周期是從服務器啟動到關(guān)閉服務器的時間。七. 輔導教師點評:教師簽字:太原理工大學實驗報告二學院名稱軟件學院專業(yè)班級軟件1334班實驗成績學生姓名張雯學號2013005227實驗日期2015.12.11課程名稱Web系統(tǒng)與技術(shù) 實驗題目實驗2 使用JDBC連接數(shù)據(jù)庫一、實驗目的和要求1掌握JSP與數(shù)據(jù)庫的連接技術(shù)JDBC
4、2掌握JSP數(shù)據(jù)庫編程技術(shù)。 3獨立完成實驗4書寫實驗報告書二、實驗內(nèi)容利用數(shù)據(jù)庫建立一個職工數(shù)據(jù)表,然后通過JDBC編寫一系列基于Web方式的JSP程序,來對職工數(shù)據(jù)表的數(shù)據(jù)庫進行添加、查詢等功能,要求在網(wǎng)頁上顯示出來。三、主要儀器設(shè)備裝有Win7 32位操作系統(tǒng)的筆記本電腦及MyEclipse四、 主要操作方法與實驗步驟:1、 創(chuàng)建數(shù)據(jù)庫并添加記錄。2、 加載MySQL驅(qū)動jar包。3、 編寫JSP程序。 MySQL數(shù)據(jù)庫 從MySQL數(shù)據(jù)庫讀取表數(shù)據(jù): 職工號姓名性別 工資職稱% String driverName=com.mysql.jdbc.Driver;String userNam
5、e=root;/數(shù)據(jù)庫用戶名String userPasswd=;/數(shù)據(jù)庫存取密碼String dbName=employdb;/數(shù)據(jù)庫名String tableName=employinfo;/數(shù)據(jù)庫中的表名String conURL=jdbc:mysql:/localhost:3306/+dbName;/連接數(shù)據(jù)庫的URL String sql=SELECT * FROM +tableName; /定義SQL語言對象 Class.forName(driverName).newInstance(); /加載JDBC-ODBC驅(qū)動程序 Connection con=DriverManager.
6、getConnection(conURL,userName,userPasswd);/連接數(shù)據(jù)庫 Statement s=con.createStatement(); /定義查詢數(shù)據(jù)庫的對象 ResultSet rs=s.executeQuery(sql); /得到student表查詢的結(jié)果集 while(rs.next() out.println(); out.println(+rs.getString(employeeID)+); out.println(+rs.getString(name)+); out.println(+rs.getString(sex)+); out.println
7、(+rs.getInt(salary)+); out.println(+rs.getString(title)+); out.println(); rs.close();% 修改后的數(shù)據(jù)庫記錄職工號姓名性別工資職稱%Statement s2=con.createStatement(); /定義查詢數(shù)據(jù)庫的對象 ResultSet rs2=s.executeQuery(sql);while(rs2.next() out.println(); out.println(+rs2.getString(employeeID)+); out.println(+rs2.getString(name)+);
8、out.println(+rs2.getString(sex)+); out.println(+rs2.getInt(salary)+); out.println(+rs2.getString(title)+); out.println(); rs2.close(); s2.close(); /釋放Statement所連接的數(shù)據(jù)庫及JDBC資源 con.close(); /關(guān)閉與數(shù)據(jù)庫的連線 % 五、實驗結(jié)果與分析 實驗結(jié)果: 實驗分析: 賈寶玉 賈:即加載JDBC驅(qū)動程序。 寶:即連接數(shù)據(jù)庫。 玉:即語句,包括創(chuàng)建語句對象和執(zhí)行語句六、 討論、心得 通過此次試驗了解并掌握了JSP連接數(shù)據(jù)庫的
9、技術(shù)JDBC。了解了JSP查詢修改數(shù)據(jù)庫的步驟,并可以將java程序和數(shù)據(jù)庫連接起來。七.輔導教師點評:教師簽字:太原理工大學實驗報告三學院名稱軟件學院專業(yè)班級軟件1334班實驗成績學生姓名張雯學號2013005227實驗日期2015.12.25課程名稱Web系統(tǒng)與技術(shù) 實驗題目實驗3 JSP與JavaBean一、實驗目的和要求 1、了解JavaBean的工作原理,學會使用和配置JavaBean程序。 2、獨立完成實驗 3、書寫實驗報告書二、 實驗內(nèi)容 1、課本P244習題8.10。2、課本P245習題8.12。 3、課本P245習題8.13。三、主要儀器設(shè)備裝有Win7 32位操作系統(tǒng)的筆記
10、本電腦及MyEclipse四、主要操作方法與實驗步驟:1、在MyEclipse建立名為TestBean的Package包2、編寫連接數(shù)據(jù)庫的javaBean程序如下:3、編寫jsp程序:TestMyBean.java程序:package TestBean;import java.sql.*;public class TestMyBean private Connection con = null;private Statement stmt = null;private ResultSet rst = null;public TestMyBean()String driverName = co
11、m.mysql.jdbc.Driver;String userName = root;String userPasswd = ;String dbName = employdb;String url = jdbc:mysql:/localhost:3306/+dbName;tryClass.forName(driverName);catch(ClassNotFoundException e)System.out.println(不能加載驅(qū)動程序n);trythis.con=DriverManager.getConnection(url, userName, userPasswd); catch
12、(SQLException er) System.out.println(不能連接數(shù)據(jù)庫n); public void executeUpdate(String sql)try stmt = con.createStatement(); stmt.executeUpdate(sql);catch(SQLException ex)System.out.println(ex.getMessage();public ResultSet executeQuery(String sql) throws SQLExceptionstmt = con.createStatement();rst = stmt
13、.executeQuery(sql);return rst;public void close() throws SQLExceptionstmt.close();con.close();MyJsp.jsp程序如下: JSP+JavaBean表的查詢和更改 利用JSP+JavaBean模式在數(shù)據(jù)庫中更改和刪除表記錄的例子 顯示原始employdb表的內(nèi)容 職工號姓名性別 工資職稱 % String sql=select * from employinfo; ResultSet rst=myBean.executeQuery(sql); while(rst.next() out.print(+r
14、st.getString(employeeID)+); out.print(+rst.getString(name)+); out.print(+rst.getString(sex)+); out.print(+rst.getString(salary)+); out.print(+rst.getString(title)+); rst.close(); % 顯示更改后的employdb表的內(nèi)容 職工號姓名性別 工資職稱 % sql1=select * from employinfo; ResultSet rs=myBean.executeQuery(sql1); while(rs.next(
15、) out.print(+rs.getString(employeeID)+); out.print(+rs.getString(name)+); out.print(+rs.getString(sex)+); out.print(+rs.getString(salary)+); out.print(+rs.getString(title)+); rs.close(); myBean.close(); % 五、實驗結(jié)果與分析 實驗結(jié)果:實驗分析: 從這個實驗中可以看出,通過JavaBean訪問數(shù)據(jù)庫的過程與通過JSP頁面訪問數(shù)據(jù)庫的過程相同。不同的是,這里將訪問數(shù)據(jù)庫的操作與頁面的顯示功能分離
16、開,更好的體現(xiàn)了各司其職的目的。六、討論、心得 通過本次實驗,我了解JavaBean的工作原理,學會了使用和配置JavaBean程序。實驗中出現(xiàn)了很多錯誤,經(jīng)過檢查,與同學共同討論及百度搜索終于解決。七.輔導教師點評:教師簽字: 太原理工大學實驗報告四學院名稱軟件學院專業(yè)班級軟件1334班實驗成績學生姓名張雯學號2013005227實驗日期2015.12.28課程名稱Web系統(tǒng)與技術(shù) 實驗題目實驗4 Servlet一、實驗目的和要求1了解Servlet的工作原理,學會使用和配置Servlet程序。 2獨立完成實驗3書寫實驗報告書二、實驗內(nèi)容1:課本P265第9章第5節(jié)Servlet模式的留言板
17、案例。 2:課本P281習題9.9。 3:課本P281習題9.10。三、主要儀器設(shè)備裝有Win7 32位操作系統(tǒng)的筆記本電腦及MyEclipse四、主要操作方法與實驗步驟:1、 創(chuàng)建填寫留言的界面Messages.html 留言板 留言板 姓名: E-mail: 主題: 留言: 查看留言 2、 接受請求保存留言的AddMessageServlet.javapackage message;import javax.servlet.*;import javax.servlet.http.*;import java.sql.*;import java.io.*;public class AddMes
18、sageServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet private Connection con;/定義成員變量private static final long serialVersionUID=1L;/建立數(shù)據(jù)庫的連接,下面為構(gòu)造函數(shù)public AddMessageServlet() String JDriver = com.mysql.jdbc.Driver; /JDBC驅(qū)動程序?qū)ο骃tring userName=root;/數(shù)據(jù)庫用戶名String userPasswd
19、=;/數(shù)據(jù)庫存取密碼String dbName=message;/數(shù)據(jù)庫名String conURL=jdbc:mysql:/localhost:3306/+dbName;/連接數(shù)據(jù)庫的URLtry Class.forName(JDriver).newInstance();con=DriverManager.getConnection(conURL,userName,userPasswd);/連接數(shù)據(jù)庫URL catch(Exception e)System.err.println(e.getMessage(); /AddMessageServlet()結(jié)束/* 接收GET請求 */prote
20、cted void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doPost(request,response); /* 接收Post請求 */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException byte b1=request.getParameter(na
21、me).getBytes (ISO-8859-1);String na=new String(b1);byte b2=request.getParameter(email).getBytes (ISO-8859-1);String em=new String(b2);byte b3=request.getParameter(title). getBytes (ISO-8859-1);String ti=new String(b3);byte b4=request.getParameter(content). getBytes(ISO-8859-1);String co=new String(b
22、4);if(na=null) na=;if(ti=null) ti=;if(co=null) co=;if(em=null) em=;try /將獲得的留言信息裝入數(shù)據(jù)庫PreparedStatement stm= con.prepareStatement(insert into messagetable values(?,?,?,?);stm.setString(1,ti);stm.setString(2,na);if(em.length()=0)stm.setString(3,null);else stm.setString(3,em);stm.setString(4,co);try st
23、m.execute();catch(Exception e) /對于留言板中“查看留言”的請求, 服務器端重定向給另一個Servlet來控制RequestDispatcher requestDispatcher= request.getRequestDispatcher(ViewMessageServlet);requestDispatcher.forward(request,response);catch(Exception e)e.printStackTrace(); /doPost()結(jié)束 /類AddMessageServlet結(jié)束3、 查看留言的ViewMessageServlet.j
24、avapackage message;import javax.servlet.*;import javax.servlet.http.*;import java.sql.*;import java.util.ArrayList;import java.util.Collection;import java.io.*;public class ViewMessageServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servletprivate Connection con;/連接數(shù)據(jù)庫private
25、static final long serialVersionUID=19587198658L;public ViewMessageServlet() /構(gòu)造函數(shù)String JDriver = com.mysql.jdbc.Driver; String userName=root;/數(shù)據(jù)庫用戶名String userPasswd=;/數(shù)據(jù)庫存取密碼String dbName=message;/數(shù)據(jù)庫名String conURL= jdbc:mysql:/localhost:3306/+dbName;/連接數(shù)據(jù)庫的URLtry Class.forName(JDriver); con=Drive
26、rManager.getConnection(conURL,userName,userPasswd);catch(Exception e) System.err.println(e.getMessage();public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletExceptiondoPost(request,response); public void doPost(HttpServletRequest request, HttpServletR
27、esponse response) throws IOException, ServletException Collection ret=new ArrayList(); try Statement stm=con.createStatement(); ResultSet result=stm.executeQuery(select count(*) from messagetable); int message_count=0; if(result.next() message_count=result.getInt(1); result.close(); if(message_count
28、0) result=stm.executeQuery(select * from messagetable); while(result.next() String title=result.getString(title); String name=result.getString(name); String email=result.getString(email); String content=result.getString(content);/將數(shù)據(jù)保存到MessageDataBean中 MessageDataBean message=new MessageDataBean();
29、message.setTitle(title); message.setName(name); message.setEmail(email); message.setContent(content); ret.add(message); result.close(); stm.close(); request.setAttribute(messages,ret);/訪問顯示留言的JSP RequestDispatcher requestDispatcher = request.getRequestDispatcher(viewMessages.jsp); requestDispatcher.
30、forward(request,response); catch(Exception e) e.printStackTrace(); 4、 表示留言數(shù)據(jù)的MessageDataBean.javapackage message;public class MessageDataBean private String name,email,title,content;public void setName(String name) this.name=name; public void setEmail(String email)this.email=email;public void setTit
31、le(String title)this.title=title;public void setContent(String content)this.content=content;public String getName()return this.name;public String getContent()return this.content;public String getTitle()return this.title;public String getEmail()return this.email;5、 顯示留言消息的viewMessages.jsp 顯示留言 所有留言 %
32、 int message_count=0; Collection messages1= (Collection)request.getAttribute(messages); Iterator it=messages1.iterator(); while(it.hasNext() MessageDataBean mg=(MessageDataBean)it.next(); % 留言人: Email % out.println( +mg.getEmail()+);% 主題: 內(nèi)容: 我要留言 五、實驗結(jié)果與分析 實驗結(jié)果:實驗分析: 用戶通過Messages.html提供的界面輸入數(shù)據(jù)并點擊“提
33、交留言”按鈕時,控制權(quán)就交給了AddMessageServlet.java,將留言寫入數(shù)據(jù)庫后將控制權(quán)交給ViewMessageServlet.java,從數(shù)據(jù)庫中查出數(shù)據(jù)后賦給MessageDataBean類的對象message,再將其添加到Collection的對象ret中。最后調(diào)用viewMessage.jsp實現(xiàn)數(shù)據(jù)顯示。六、討論、心得(1)通過本次實驗,了解了Servlet的工作原理,可以熟練地使用和配置Servlet程序。(2)學會了編寫留言本程序,并且了解到WEB應用技術(shù)的兩種模式,以及兩種模式之間的區(qū)別。七. 輔導教師點評:教師簽字: 太原理工大學實驗報告五學院名稱軟件學院專業(yè)
34、班級軟件1334班實驗成績學生姓名張雯學號2013005227實驗日期2015.12.30課程名稱Web系統(tǒng)與技術(shù) 實驗題目實驗5 JSP中的文件操作一、實驗目的和要求1了解JSP文件操作的工作原理,學會文件操作。 2獨立完成實驗3書寫實驗報告書二、實驗內(nèi)容程序:課本P306習題10.11。提示:在D盤建立一個名為score.txt的文本文件,內(nèi)容為:1,78,82,742,82,88,983,98,89,904,68,78,775,70,86,88共4列,分別表示5個學生的學號以及數(shù)學,英語,計算機的成績,要求求出5個學生數(shù)學、英語、計算機的最小值,最大值及平均值。部分程序如下:File f
35、l=new File(d:/score.txt);RandomAccessFile frw=new RandomAccessFile(fl,rw);Srting info=null;String rec=nullwhile (info=frw.readLine()!=null) System.out.println(info); rec=info.split(,);以上程序解釋:讀入一行后,以”,”為分隔符,把1行切割為4個部分,存入數(shù)組中.三、主要儀器設(shè)備裝有Win7 32位操作系統(tǒng)的筆記本電腦及MyEclipse四、主要操作方法與實驗步驟:1、在F:/盤建立一個名為score3.txt的文
36、本文件,輸入5個學生的學號以及數(shù)學,英語,計算機的成績。2、編寫jsp3.jsp程序輸出每門課的成績的最大值等 輸出每門課的成績的最大值,最小值和平均值 3、編寫Servlet.javaimport java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class Servlet extends HttpServlet/ 響應POST請求public void doPost(HttpServletRequest request, HttpServletResponse response) throws Servl
37、etException,IOException long fp;String s1,s2,s3,s4,s5,minstr,maxstr,avestr,temp;int i3,i4,i5,min,max,tempint;float ave;response.setContentType(text/html;charset=GB2312); /設(shè)置響應的MIME類型PrintWriter out = response.getWriter(); /獲得向客戶發(fā)送數(shù)據(jù)的輸出流out.println(% page contentType=text/html;charset=GB2312%);out.pr
38、intln();String info=null;String rec=null;int amaths=new int5;int aenglish=new int5;int acomputer=new int5;File filePath=new File(F:/);File fl=new File(filePath,score3.txt); try RandomAccessFile frw=new RandomAccessFile(fl,rw); int i=0; while (info=frw.readLine()!=null) System.out.println(info); rec=
39、info.split(,); amathsi=Integer.parseInt(rec1); aenglishi=Integer.parseInt(rec2); acomputeri=Integer.parseInt(rec3); i+; /out.println(); frw.close(); catch(Exception e)System.out.println(error+e.getMessage(); int mathmin,mathmax,englishmin,englishmax,computermin,computermax; float mathave,englishave,
40、computerave; mathmin=mathmax=amaths0; englishmin=englishmax=aenglish0; computermin=computermax=acomputer0; for (int j=1;j5;j+) if (amathsjmathmin) mathmin=amathsj; if (aenglishjenglishmin) englishmin=aenglishj; if (acomputerjcomputermin) computermin=acomputerj; for (int k=1;kmathmax) mathmax=amathsk
41、; if (aenglishkenglishmax) englishmax=aenglishk; if (acomputerkcomputermax) computermax=acomputerk; String mathminstr=String.valueOf(mathmin); String mathmaxstr=String.valueOf(mathmax); String englishminstr=String.valueOf(englishmin); String englishmaxstr=String.valueOf(englishmax); String computerminstr=String.valueOf(computermin); String computermaxstr=String.valueOf(computermax); mathave=(amaths0+amaths1+amaths2+amaths3+amaths4)/5; englishave=(aenglish0+aenglish1+aenglish2+aenglish3+aenglish4)/5; computerave=
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- (中職)電子商務物流配送項目二任務1物流配送基本作業(yè)的主要模式 課件
- 列表法:《雞兔同籠》PPT課件(教育精品)
- 興業(yè)全球基金XXXX年下半年投資策略new
- 胃癌術(shù)后病人護理查房
- 擴張性心肌病麻醉處理
- 漢語拼音語文課件1
- 公司治理第4章PPT
- 做中學 學中做-辦公自動化案例教程-模塊06 Excel 2010的基本操作—制作羊年主題日歷電子課件高教版
- 中醫(yī)內(nèi)科學課件42淋證(精品)
- 中道科技_公司規(guī)章制度_XXXX
- 中西餐禮儀三
- 調(diào)查研究與調(diào)查報告
- 客戶關(guān)系管理培訓課件(PPT 38頁)
- 特種設(shè)備安全管理講義
- 八年級政治上冊第四單元《做誠信的人》課件人教新課標版