《JavaWeb程序開發(fā)入門》課后練習(xí)_第1頁
《JavaWeb程序開發(fā)入門》課后練習(xí)_第2頁
《JavaWeb程序開發(fā)入門》課后練習(xí)_第3頁
《JavaWeb程序開發(fā)入門》課后練習(xí)_第4頁
《JavaWeb程序開發(fā)入門》課后練習(xí)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第一章【測一測】Madrid,球員5人:Lakers,隊員2人:請寫出相應(yīng)的元素1、 請編寫一個格式良好的 XML文檔,要求包含足球隊一支,隊名為 Ron aldo、Casillas、Ramos Modric、Be nzema 籃球隊一支,隊名為 Oneal, Bryant。要含有注釋。2、 在XMLSchema文檔中,定義一個雇員的年齡為1858周歲之間。 聲明。-第 1 題答案-?xml version=1.0 encoding=gb2312 standalone=yes?球隊列表!-足球隊 Madrid -球隊類型=足球隊隊名Madrid/隊名隊員姓名Ronaldo/姓名姓名 Casil

2、las/ 姓名 姓名 Ramos姓名 姓名Modric/姓名姓名Benzema姓名/隊員/球隊!-籃球隊 Lakers -球隊類型=籃球隊隊名Lakers/隊名隊員姓名Oneal/姓名姓名Bryant/姓名/隊員/球隊/球隊列表第2題答案xs:element name=agexs:simpleTypexs:restriction base=xs:integerxs:minlnclusive value=18/xs:maxlnclusive value=58/v/xs:restrictionv/xs:simpleType第二章【測一測】1、 如何將 web應(yīng)用發(fā)布到tomcat上localhos

3、t 主機(jī),請寫出至少 3種實現(xiàn)方式?2、 請問在chapter02應(yīng)用的web.xml文件中進(jìn)行哪些配置,可以將welcome.html頁面 配置成該應(yīng)用的默認(rèn)頁面?第1題答案1、直接將 web應(yīng)用部署到tomcat/webapps下2、 將web應(yīng)用通過tomcat/conf/server.xml進(jìn)行配置3、創(chuàng)建一個xml文件,并配置web應(yīng)用信息,將xml文件放置tomcatc on fCatali nalocalhost-第 2 題答案-在web-app標(biāo)簽中進(jìn)行如下配置即可:welcome.html【測一測】1、簡述HTTP1.1協(xié)議的通信過程?2、簡述POST請求和GET請求有什么不

4、同?第1題答案1、客戶端與服務(wù)器端建立 TCP連接。2、客戶端可以向服務(wù)器端發(fā)送多個請求,并且在發(fā)送下個請求時,無需等待上次請求的返 回結(jié)果。3、服務(wù)器必須按照接受客戶端請求的先后順序依次返回響應(yīng)結(jié)果。4、客戶端發(fā)出關(guān)閉TCP連接的請求5、服務(wù)器端關(guān)閉TCP連接-第 2 題答案-1、POST專輸數(shù)據(jù)大小無限制2、POST比 GET請求方式更安全第四章【測一測】1、編寫一個servlet ,實現(xiàn)統(tǒng)計網(wǎng)站被訪問次數(shù)的功能。2、請編寫一段程序,使程序能讀取該servlet的配置信息,從中獲得參數(shù)名為 encoding 對應(yīng)的參數(shù)值,并輸出到頁面上。-第 1 題答案-步驟如下:1) 新建一個類 Sho

5、wTimesServlet 繼承 HttpServlet ,重寫 doGet 和 doPost 方法2) 在doPost方法中調(diào)用doGet方法,在doGet方法中實現(xiàn)統(tǒng)計網(wǎng)站被訪問次數(shù)的功能,用戶每請求一次 servlet ,使訪問次數(shù)times加13) 獲取ServletContext,通過它的功能記住上一次訪問后的次數(shù) 具體代碼實現(xiàn)如下:import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class ShowTimesServlet extends HttpServlet private s

6、tatic final long serialVersionUID = 1L;protected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException ServletContext context = getServletContext();Integer times = (Integer) context.getAttribute(times);if (times = null) times = new Integer(1); else times =

7、new Integer(Value() + 1);/設(shè)置編碼,不然中文會變成亂碼resp.setContentType(text/html;charset=GB2312);/得到輸岀流對象PrintWriter out=resp.getWriter();out.println(vhtmlvtitle); out.println(”頁面訪問統(tǒng)計);out.println(v/titlev/headvbody);out.println(”當(dāng)前頁面被訪問了 ”);out.println(vfont color=red size=20+times+v/font次);/ 設(shè)置屬性,將t

8、imes保存到當(dāng)前的上下文中 context.setAttribute(times,times);protected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, lOException this.doGet(req, resp);第2題答案import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class MyServlet extends HttpServlet prote

9、cted void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, lOException PrintWriter out = response.getWriter();ServletConfig config = getServletConfig();String param = config.getInitParameter(encoding);out.println(encoding= + param);protected void doPost(HttpSer

10、vletRequest request,HttpServletResponse response) throws ServletException, lOException this.doGet(request, response);第五章【測一測】請按照以下要求設(shè)計一個實現(xiàn)下載資源防盜鏈的類。1) 創(chuàng)建一個 DownManagerServlet 類,繼承 HttpServlet 類。2) 在doGet()方法中,判斷是否可以進(jìn)行資源下載-答案-步驟如下:doGet()方法得1) 創(chuàng)建一個 DownManagerServlet類,使其繼承HttpServlet類并重寫該類的方法。2) 在 do

11、Get()方法中,使用 HttpServletRequest 對象的 getHeader(referer) 到字段referer的值,并判斷是否可以進(jìn)行資源下載。3) 如果不能下載,則進(jìn)入下載頁。具體代碼實現(xiàn)如下:public class DownManagerServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, lOException response.setContentType(text/

12、html;charset=utf-8);PrintWriter out = response.getWriter();/ 獲取referer 頭的值String referer = request.getHeader(referer);/獲取訪問地址String sitePart = http:/ + request.getServerName();if (referer != null & referer.startsWith(sitePart) /處理正在下載的請求out.println(dealing download .); else /非法下載請求跳轉(zhuǎn)到 download.html頁

13、面RequestDispatcher rd = request.getRequestDispatcherC7download.html);rd.forward(request, response);第六章【測一測】1、請使用Cookie技術(shù)實現(xiàn)顯示用戶上次訪問時間的功能。2、 請設(shè)計一個類,使用Session技術(shù)實現(xiàn)購物車功能。-第1題答案-步驟如下:1) 創(chuàng)建一個 LastAccessServlet類,使其繼承HttpServlet類并重寫該類的doGet()方法。2) 在doGet()方法中,使用 request.getCookies() 得到所有 cookie形成的cookie 數(shù) 組,

14、并進(jìn)行遍歷。3) 如果遍歷過程中找到 cookie信息中存在lastAccess 屬性則輸出,否則創(chuàng)建cookie 對象,設(shè)置值為當(dāng)前時間并發(fā)送給客戶端。4) cookie的存活時間為1小時,訪問當(dāng)前應(yīng)用中的所有資源客戶端都回送cookie信 息。具體代碼實現(xiàn)如下:package cn.itcast.chapter06.cookie.example;import java.io0 Exception;import java.util.Date;import javax.servlet.ServletException;import javax.servlet.http.Cookie;impor

15、t javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class LastAccessServlet extends HttpServlet private static final long serialVersionUID = 1L;public void doGet(HttpServletRequest request,HttpServletResponse response)thr

16、ows ServletException, IOException response.setContentType(text/html;charset=utf-8);/*設(shè)定一個 cookie 的 name : lastAccessTime*讀取客戶端發(fā)送cookie獲得用戶上次的訪問時間顯示 */String lastAccessTime = null;/獲取所有的cookie,并將這些cookie存放在數(shù)組中Cookie cookies = request.getCookies();for (int i = 0; cookies != null & i cookies .l ength;

17、i+) if (lastAccess.equals(cookiesi.getName() / 如果cookie的名稱為lastAccess, 則獲取該cookie的值lastAccessTime = cookiesi.getValue();break;/ 判斷是否存在名稱為 lastAccess 的cookieif (lastAccessTime = null) response.getWriter().print(您是首次訪問本站! ! !); else response.getWriter().print(您上次的訪問時間+lastAccessTime);/創(chuàng)建cookie,將當(dāng)前時間作為

18、cookie的值發(fā)送給客戶端Cookie cookie = new Cookie(lastAccess,new Date().toLocaleString(); cookie.setMaxAge(60*60);保存 1 小時/訪問chapter06 下資源時回送 cookiecookie.setPath(/chapter06);/ 發(fā)送 cookieresponse.addCookie(cookie);-第 2 題答案-步驟如下:1) 創(chuàng)建一個PurchaseServlet 類,使其繼承 HttpServlet類并重寫該類的doGet()方法。2) 在doGet()方法中,使用 request

19、.getSession() 實現(xiàn)購物車。3) 將session 的id保存到cookie中。4) 重定向到購物車頁面。具體代碼實現(xiàn)如下:public class PurchaseServlet extends HttpServlet public void doGet(HttpServletRequest req,HttpServletResponse resp)throws ServletException, IOException /獲得用戶購買的商品String id = req.getParameter(id);if (id = null) / 如果id為null,重定向到 ListB

20、ookServlet 頁面String url = /chapter06/ListBookServlet;resp.sendRedirect(url);return;Book book = BookDB.getBook(id);/創(chuàng)建或者獲得用戶的Session對象HttpSession session = req.getSession();/從Session對象中獲得用戶的購物車List cart = (List)session.getAttribute(cart);if (cart = null) /首次購買,為用戶創(chuàng)建一個購物車(List集合模擬購物車)cart = new ArrayL

21、ist();/將購物城存入Session對象session.setAttribute(cart, cart);/將商品放入購物車cart.add(book);/ 創(chuàng)建Cookie存放Session的標(biāo)識號Cookie cookie = new Cookie(JSESSIONID, session.getld(); cookie.setMaxAge(60 * 30);cookie.setPath(/chapter06); resp.addCookie(cookie);/重定向到購物車頁面String url = /chapter06/CartServlet; resp.sendRedirect(

22、url);第七章【測一測】1、請使用include 標(biāo)簽編寫兩個 JSP頁面,要求:輸出b.jsp頁面的內(nèi)容,等待 5秒,再輸出a.jsp頁面。2、 已知一個datetime.jsp頁面用于顯示當(dāng)前時間。請編寫 jsp文件用于顯示“歡迎來到傳智播客,現(xiàn)在的時間是:” +當(dāng)前時間。第1題答案a. jsp 代碼:v% page contentType=text/html;charset=UTF-8% v%Thread.sleep(5000);%a. jsp 內(nèi)的中文b. jsp 代碼:b. jsp內(nèi)的中文第2題答案 歡迎你 歡迎來到傳智播客,現(xiàn)在的時間是:v% include file=datetime.jsp%v/body第八章【測一測】1、 請編寫一個類,實現(xiàn)通過對象得到完整的“包類”名稱的功能。2、 設(shè)計一個程序使用BeanUtils工具為Person對象(JavaBean類)賦值。1) 直接生成User對象。2) 使用BeanUtils 工具為name屬性賦值” youjun ” ,age賦值為31。3) 使用BeanUtils工具取出屬性值,并在控制臺輸出。-第 1 題答案-package cn.itcast.javabean;class Cspublic class GetClassNameDemo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論