作業一 Servlet技術及應用
準備工作:
在Myeclipse中建立一個名爲homework01的Web應用程序,建立如下所示的目錄結構:
|- homework01
|- webroot
|- html (包含所有的HTML文件)
|- jsp (包含所有的JSP文件)
|- images (包含所有的GIF、JPEG和BMP圖象文件)
|- index.html (默認的HTML文件)
|- WEB-INF
|-classes
├ lib
├ web.xml
圖1 應用程序的目錄結構
要求本次作業後面的題目都在該應用程序下面完成。
1.簡單的綜合應用,掌握Servlet將請求轉發給另一個Servlet的方法。
【步驟1】創建一個名爲input.html的HTML頁面,其中包括一個表單,表單中包含兩個文本域,分別供用戶輸入學號和姓名,該頁面也包含提交和重置按鈕。
【步驟2】 定義一個名爲com.demo.Student類,其中包括學號sno和姓名name兩個private的成員變量,定義訪問和修改sno和name的方法。
【步驟3】編寫名爲FirstServlet的Servlet,要求當用戶在input.html中輸入信息後點擊“提交”按鈕,請求FirstServlet對其處理。在FirstServlet中使用表單請求參數(學號和姓名)創建一個Student對象並將其作爲屬性存儲在請求作用域中,然後通過請求對象的getRequestDispatcher()方法獲得RequestDispatcher()對象,將請求轉發到SecondServlet。
【步驟4】在SecondServlet中取出請求作用域中存儲的Student對象,並顯示輸出該學生的學號和姓名,5秒鐘之後,自動返回input.html頁面。
圖2.1 input.html頁面顯示結果 圖2.2 SecondServlet顯示結果
2. 使用ServletConfig檢索Servlet的初始化參數。
【步驟1】編寫ConfigDemoServlet程序,通過註釋爲其添加初始化參數email、telephone,在Servlet中讀取該servlet的名稱和初始化參數email、telephone,並將這兩個參數的值在響應的HTML文本中輸出。
【步驟3】在瀏覽器的地址欄中輸入下面URL請求該Servlet:
http://localhost:8080/ homework01/configDemo.do
要求程序的運行結果如下圖所示:
圖4.1 ConfigDemoServlet程序的運行結果
3. 爲ServletContext配置初始化參數
在web.xml文件中爲當前web應用添加兩個名爲admin-email和admin-tel的ServletContext初始化參數,在ConfigDemoServlet中獲取這兩個參數的參數值,使用ServletContext對象將admin-email和admin-tel的參數值寫入日誌文件中,並查看日誌文件。
4. 編寫一個名爲CountServlet的Servlet程序:
1)使用成員變量保存該Servlet被訪問的次數,試打開多個瀏覽器窗口模擬多個用戶同時訪問該Servlet,觀察該Servlet被訪問次數的變化。
2)修改該Servlet,通過ServletContext屬性保存被多用戶同時訪問的次數,體會用ServletContext在應用作用域共享數據的方法。
代碼發佈
不確定一定準確,可能還有改進的地方,望指正。
GitHub:https://github.com/cmdch2017/Java/tree/master/homework01