web實驗報告 雯docx
《web實驗報告 雯docx》由會員分享,可在線閱讀,更多相關《web實驗報告 雯docx(38頁珍藏版)》請在裝配圖網上搜索。
1、 實 驗 報 告 課程名稱: Web系統(tǒng)與技術 實驗項目: Web系統(tǒng)與技術實驗 實驗地點: 行知樓B113教室 專業(yè)班級: 軟件1334班 學號: 2013005227 學生姓名: 張 雯 指導教師: 王莉 2015年 12 月 30日 太原理工大學實驗報
2、告一 學院名稱 軟件學院 專業(yè)班級 軟件1334班 實驗成績 學生姓名 張雯 學號 2013005227 實驗日期 2015.12.7 課程名稱 Web系統(tǒng)與技術 實驗題目 實驗一 JSP內置對象 一、 實驗目的和要求: 1、掌握Application對象。 2、掌握Session對象。 二、實驗內容: 1、課本P158網頁計數(shù)器。 2、課本P152 session對象示例。 3、課本P165 5.8,5.9 三、主要儀器設備 裝有Win7 32位操作系統(tǒng)的筆記本電腦及MyEclipse 四、主要操作方法與實驗步驟: 1、打開MyE
3、clipse,創(chuàng)建名為test的Java Web工程 2、創(chuàng)建appCounter.jsp。 <%@ page contentType="text/html; charset=gb2312"%> <% int count=0; String Ncounter= request.getParameter("Ncounter"); count=Integer.parseInt(Ncounter); try{ count=Integer.parseInt(application.getAttribute("Ncounter1").toString());
4、 }catch(Exception e) { } out.println("自從服務器啟動后,此頁面已經訪問了"+count+"次"); count++; application.setAttribute("Ncounter1",count); %> 3、創(chuàng)建testApplication.jsp。 <%@ page language="java" contentType="text/html; charset=gb2312"%>
5、
測試appCounter的頁面。下劃線以下的內容是appCounter頁面的:
6、顯示結果如下: 關閉瀏覽器重新打開結果如下: 關閉服務器重新打開服務器運行結果如下: 實驗分析: 可以看出application對象的生命周期是從服務器啟動到關閉服務器的時間。 六、 討論、心得 服務器啟動后,就會自動創(chuàng)建對象,這個對象一直會保持到服務器關閉為止,并掌握了JSP的內置對象的功能和用法。Application對象的生命周期是從服務器啟動到關閉服務器的時間。 七. 輔導教師點評: 教師簽字: 太原理工大學實驗報告二 學院名稱 軟件學院 專業(yè)班級 軟件1334班 實驗成績 學生姓名 張雯 學號 2013005
7、227 實驗日期 2015.12.11 課程名稱 Web系統(tǒng)與技術 實驗題目 實驗2 使用JDBC連接數(shù)據(jù)庫 一、實驗目的和要求 1.掌握JSP與數(shù)據(jù)庫的連接技術——JDBC 2.掌握JSP數(shù)據(jù)庫編程技術。 3.獨立完成實驗 4.書寫實驗報告書 二、實驗內容 利用數(shù)據(jù)庫建立一個職工數(shù)據(jù)表,然后通過JDBC編寫一系列基于Web方式的JSP程序,來對職工數(shù)據(jù)表的數(shù)據(jù)庫進行添加、查詢等功能,要求在網頁上顯示出來。 三、主要儀器設備 裝有Win7 32位操作系統(tǒng)的筆記本電腦及MyEclipse 四、 主要操作方法與實驗步驟: 1、 創(chuàng)建數(shù)據(jù)庫并添加記錄。
8、 2、 加載MySQL驅動jar包。 3、 編寫JSP程序。 <%@ page contentType="text/html; charset=GBK" language="java" import="java.sql.*" %>
9、
職工號 | 姓名 | 性別 | 工資 | 職稱 |
"+rs.getString("employeeID")+" | "); out.println(""+rs.getString("name")+" | "); out.println(""+rs.getString("sex
12、")+" | ");
out.println(""+rs.getInt("salary")+" | "); out.println(""+rs.getString("title")+" | "); out.println("
13、areStatement(up); ps1.executeUpdate(); ps1.close(); %>
修改后的數(shù)據(jù)庫記錄
職工號 | 姓名 | 性別 | 工資 | 職稱 |
"+rs2.getString("employeeID")+" | "); out.println(""+rs2.getString("name")+" | "); out.println(""+rs2.getString("sex")+" | "); out.println(""+rs2.getInt("salary")+" | "); out.println(""+rs2.getString(
15、"title")+" | ");
out.println("
16、據(jù)庫的技術JDBC。了解了JSP查詢修改數(shù)據(jù)庫的步驟,并可以將java程序和數(shù)據(jù)庫連接起來。 七.輔導教師點評: 教師簽字: 太原理工大學實驗報告三 學院名稱 軟件學院 專業(yè)班級 軟件1334班 實驗成績 學生姓名 張雯 學號 2013005227 實驗日期 2015.12.25 課程名稱 Web系統(tǒng)與技術 實驗題目 實驗3 JSP與JavaBean 一、實驗目的和要求 1、了解JavaBean的工作原理,學會使用和配置JavaBean程序。 2、獨立完成實驗 3、書寫實驗報告書 二、 實驗內容
17、 1、課本P244習題8.10。 2、課本P245習題8.12。 3、課本P245習題8.13。 三、主要儀器設備 裝有Win7 32位操作系統(tǒng)的筆記本電腦及MyEclipse 四、主要操作方法與實驗步驟: 1、在MyEclipse建立名為TestBean的Package包 2、編寫連接數(shù)據(jù)庫的javaBean程序如下: 3、編寫jsp程序: TestMyBean.java程序: package TestBean; import java.sql.*; public class TestMyBean { private Connection con =
18、null; private Statement stmt = null; private ResultSet rst = null; public TestMyBean() { String driverName = "com.mysql.jdbc.Driver"; String userName = "root"; String userPasswd = ""; String dbName = "employdb"; String url = "jdbc:mysql://localhost:3306/"+dbName; try {
19、 Class.forName(driverName); } catch(ClassNotFoundException e) { System.out.println("不能加載驅動程序\n"); } try { this.con=DriverManager.getConnection(url, userName, userPasswd); } catch(SQLException er) { System.out.println("不能連接數(shù)據(jù)庫\n"); } } publ
20、ic 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 SQLException { stmt = con.createStateme
21、nt(); rst = stmt.executeQuery(sql); return rst; } public void close() throws SQLException { stmt.close(); con.close(); } } MyJsp.jsp程序如下: <%@ page contentType="text/html; charset=GBK" %> <%@ page language="java" import="java.sql.*" import="TestBean.*" %>
<22、title>JSP+JavaBean表的查詢和更改
利用JSP+JavaBean模式在數(shù)據(jù)庫中更改和刪除表記錄的例子
顯示原始employdb表的內容
職工號 | 姓名 | 性別 | 工
23、資 | 職稱 |
"+rst.getString("employeeID")+" | "); out.print(""+rst.getString("name")+" | "); ou"+rst.getString("sex")+" | "); out.print(""+rst.getString("salary")+" | "); out.print(""+rst.getString("title")+" |
25、ployinfo set salary=salary+50"; myBean.executeUpdate(sql1); //執(zhí)行更改操作 %>
顯示更改后的employdb表的內容
職工號 | 姓名 | 性別 | 工資 | 職稱 |
"+rs.getString("employeeID")+" | "); out.print(""+rs.getString("name")+" | "); out.print(""+rs.getString("sex")+" | "); out.print(""+rs.getString("salary")
27、+" | ");
out.print(""+rs.getString("title")+" |
28、心得 通過本次實驗,我了解JavaBean的工作原理,學會了使用和配置JavaBean程序。 實驗中出現(xiàn)了很多錯誤,經過檢查,與同學共同討論及百度搜索終于解決。 七.輔導教師點評: 教師簽字: 太原理工大學實驗報告四 學院名稱 軟件學院 專業(yè)班級 軟件1334班 實驗成績 學生姓名 張雯 學號 2013005227 實驗日期 2015.12.28 課程名稱 Web系統(tǒng)與技術 實驗題目 實驗4 Servlet 一、實驗目的和要求 1.了解Servlet的工作原理,學會使用和配置Servl
29、et程序。 2.獨立完成實驗 3.書寫實驗報告書 二、實驗內容 1:課本P265第9章第5節(jié)Servlet模式的留言板案例。 2:課本P281習題9.9。 3:課本P281習題9.10。 三、主要儀器設備 裝有Win7 32位操作系統(tǒng)的筆記本電腦及MyEclipse 四、主要操作方法與實驗步驟: 1、 創(chuàng)建填寫留言的界面Messages.html
33、ssageServlet.java package message; import javax.servlet.*; import javax.servlet.http.*; import java.sql.*; import java.io.*; public class AddMessageServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { private Connection con;//定義成員變量 private static final lon
34、g serialVersionUID=1L; //建立數(shù)據(jù)庫的連接,下面為構造函數(shù) public AddMessageServlet() { String JDriver = "com.mysql.jdbc.Driver"; //JDBC驅動程序對象 String userName="root";//數(shù)據(jù)庫用戶名 String userPasswd="";//數(shù)據(jù)庫存取密碼 String dbName="message";//數(shù)據(jù)庫名 String conURL="jdbc:mysql://localhost:3306/"+dbName;//連接數(shù)據(jù)
35、庫的URL try { Class.forName(JDriver).newInstance(); con=DriverManager.getConnection(conURL,userName,userPasswd);//連接數(shù)據(jù)庫URL } catch(Exception e) { System.err.println(e.getMessage()); } }//AddMessageServlet()結束 /* 接收GET請求 */ protected void doGet(HttpServletRe
36、quest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } /* 接收Post請求 */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { byte b1[]=request.
37、getParameter("name").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.getParame
38、ter("content"). getBytes("ISO-8859-1"); String co=new String(b4); 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
39、(1,ti); stm.setString(2,na); if(em.length()==0)stm.setString(3,null); else stm.setString(3,em); stm.setString(4,co); try { stm.execute(); } catch(Exception e){ }//對于留言板中“查看留言”的請求, 服務器端重定向給另一個Servlet來控制 RequestDispatcher requestDispatcher= request.getRequest
40、Dispatcher("ViewMessageServlet"); requestDispatcher.forward(request,response); } catch(Exception e) { e.printStackTrace(); } } //doPost()結束 } //類AddMessageServlet結束 3、 查看留言的ViewMessageServlet.java package message; import javax.servlet.*; import javax.servlet.http.*; imp
41、ort java.sql.*; import java.util.ArrayList; import java.util.Collection;import java.io.*; public class ViewMessageServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { private Connection con;//連接數(shù)據(jù)庫 private static final long serialVersionUID=19587198658L; public
42、 ViewMessageServlet() //構造函數(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ù)庫的URL try { Class.forName(JDriver); con
43、=DriverManager.getConnection(conURL,userName,userPasswd); } catch(Exception e) { System.err.println(e.getMessage()); } } public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { doPost(request,response); } pub
44、lic void doPost(HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException
{
Collection
45、*) from messagetable"); int message_count=0; if(result.next()) { message_count=result.getInt(1); result.close(); } if(message_count>0) { result=stm.executeQuery("select * from messagetable"); while(result.next()) { String title=res
46、ult.getString("title"); String name=result.getString("name"); String email=result.getString("email"); String content=result.getString("content");//將數(shù)據(jù)保存到MessageDataBean中 MessageDataBean message=new MessageDataBean(); message.setTitle(title); message.setName(
47、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
48、"); requestDispatcher.forward(request,response); } catch(Exception e) { e.printStackTrace(); } } } 4、 表示留言數(shù)據(jù)的MessageDataBean.java package message; public class MessageDataBean { private String name,email,title,content; public void setName(String name){ this.nam
49、e=name; } public void setEmail(String email){ this.email=email; } public void setTitle(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
50、 String getTitle(){ return this.title; } public String getEmail(){ return this.email; } } 5、 顯示留言消息的viewMessages.jsp <%@ page contentType="text/html; charset=GBK" import="message.MessageDataBean" %> <%@ page import="java.util.*"%>
51、
所有留言
留言人: | <%=mg.getName()%> |
<% out.println("
53、 HREF=mailto:"+mg.getEmail()+">" +mg.getEmail()+" ");%> |
||
主題: | <%=mg.getTitle()%> | |||
內容: |
55、,從數(shù)據(jù)庫中查出數(shù)據(jù)后賦給MessageDataBean類的對象message,再將其添加到Collection的對象ret中。最后調用viewMessage.jsp實現(xiàn)數(shù)據(jù)顯示。 六、討論、心得 (1)通過本次實驗,了解了Servlet的工作原理,可以熟練地使用和配置Servlet程序。 (2)學會了編寫留言本程序,并且了解到WEB應用技術的兩種模式,以及兩種模式之間的區(qū)別。 七. 輔導教師點評: 教師簽字: 太原理工大學實驗報告五 學院名稱 軟件學院 專業(yè)班級 軟件1334班 實驗成績 學生姓名 張雯 學號 2
56、013005227 實驗日期 2015.12.30 課程名稱 Web系統(tǒng)與技術 實驗題目 實驗5 JSP中的文件操作 一、實驗目的和要求 1.了解JSP文件操作的工作原理,學會文件操作。 2.獨立完成實驗 3.書寫實驗報告書 二、實驗內容 程序:課本P306習題10.11。 提示:在D盤建立一個名為score.txt的文本文件,內容為: 1,78,82,74 2,82,88,98 3,98,89,90 4,68,78,77 5,70,86,88 共4列,分別表示5個學生的學號以及數(shù)學,英語,計算機的成績,要求求出5個學生數(shù)學、英語、計算機的最小值,最
57、大值及平均值。部分程序如下: File fl=new File("d:/score.txt"); RandomAccessFile frw=new RandomAccessFile(fl,"rw"); Srting info=null; String[] rec=null while ((info=frw.readLine())!=null){ System.out.println(info); rec=info.split(","); …… 以上程序解釋:讀入一行后,以”,”為分隔符,把1行切割為4個部分,存入數(shù)組中. 三、主要儀器設備 裝有Wi
58、n7 32位操作系統(tǒng)的筆記本電腦及MyEclipse 四、主要操作方法與實驗步驟: 1、在F:/盤建立一個名為score3.txt的文本文件,輸入5個學生的學號以及數(shù)學,英語,計算機的成績。 2、編寫jsp3.jsp程序 <%@ page contentType="text/html; charset=GBK" %>
3、編寫Servlet.java import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Servlet extends HttpServlet { // 響應POST請求 public void doPost(Http
60、ServletRequest request, HttpServletResponse response) throws ServletException,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"); //設置響應的MIME類型 PrintWrit
61、er out = response.getWriter(); //獲得向客戶發(fā)送數(shù)據(jù)的輸出流 out.println("<%@ page contentType='text/html;charset=GB2312'%"); out.println("
"); String info=null; String[] rec=null; int amaths[]=new int[5]; int aenglish[]=new int[5]; int acomputer[]=new int[5]; File filePath=62、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=info.split(","); amaths[i]=Integer.parseInt(rec[1]);
63、 aenglish[i]=Integer.parseInt(rec[2]); acomputer[i]=Integer.parseInt(rec[3]); i++; } //out.println(""); frw.close(); } catch(Exception e){System.out.println("error"+e.getMessage()); } int mathmin,mathmax,englishmin,englishmax,co
64、mputermin,computermax;
float mathave,englishave,computerave;
mathmin=mathmax=amaths[0];
englishmin=englishmax=aenglish[0];
computermin=computermax=acomputer[0];
for (int j=1;j<5;j++){
if (amaths[j] 65、glishmin=aenglish[j];
if (acomputer[j] 66、];
}
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=(amaths[0]+amaths[1]+amaths[2]+amaths[3]+amaths[4])/5;
englishave=(aenglish[0]+aenglish[1]+aenglish[2]+aenglish[3]+aenglish[4])/5;
computerave=
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 川渝旅游日記成都重慶城市介紹推薦景點美食推薦
- XX國有企業(yè)黨委書記個人述責述廉報告及2025年重點工作計劃
- 世界濕地日濕地的含義及價值
- 20XX年春節(jié)節(jié)后復工安全生產培訓人到場心到崗
- 大唐女子圖鑒唐朝服飾之美器物之美繪畫之美生活之美
- 節(jié)后開工第一課輕松掌握各要點節(jié)后常見的八大危險
- 廈門城市旅游介紹廈門景點介紹廈門美食展示
- 節(jié)后開工第一課復工復產十注意節(jié)后復工十檢查
- 傳統(tǒng)文化百善孝為先孝道培訓
- 深圳城市旅游介紹景點推薦美食探索
- 節(jié)后復工安全生產培訓勿忘安全本心人人講安全個個會應急
- 預防性維修管理
- 常見閥門類型及特點
- 設備預防性維修
- 2.乳化液泵工理論考試試題含答案