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

下載本文檔

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

文檔簡介

1、第一章【測一測】1、請編寫一個(gè)格式良好的XML文檔,要求包含足球隊(duì)一支,隊(duì)名為Madrid,球員5人:Ronaldo、Casillas、Ramos、Modric、Benzema;籃球隊(duì)一支,隊(duì)名為Lakers,隊(duì)員2人:Oneal,Bryant。要含有注釋。2、在XML Schema文檔中,定義一個(gè)雇員的年齡為1858周歲之間。請寫出相應(yīng)的元素聲明。-第1題答案-MadridRonaldoCasillasRamosModricBenzemaLakersOnealBryant-第2題答案- 第二章【測一測】1、如何將web應(yīng)用發(fā)布到tomcat上localhost主機(jī),請寫出至少3種實(shí)現(xiàn)方式?2

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)建一個(gè)xml文件,并配置web應(yīng)用信息,將xml文件放置tomcatconfCatalinalocalhost-第2題答案-在web-app標(biāo)簽中進(jìn)行如下配置即可: welcome.html第三章【測一測】1、簡述HTTP1.1協(xié)議的通信過程?2、簡述POST請求和GET請求有什么不同? -第1題答案-1、客戶端與服務(wù)器端建立

3、TCP連接。2、客戶端可以向服務(wù)器端發(fā)送多個(gè)請求,并且在發(fā)送下個(gè)請求時(shí),無需等待上次請求的返回結(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、 編寫一個(gè)servlet,實(shí)現(xiàn)統(tǒng)計(jì)網(wǎng)站被訪問次數(shù)的功能。2、請編寫一段程序,使程序能讀取該servlet的配置信息,從中獲得參數(shù)名為encoding對應(yīng)的參數(shù)值,并輸出到頁面上。 -第1題答案-步驟如下:1)新建一個(gè)類ShowTimesServlet繼承HttpServlet,重

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

5、rotected 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 = new Integer(Value() + 1);/設(shè)置編碼,

6、不然中文會變成亂碼resp.setContentType(text/html;charset=GB2312); /得到輸出流對象 PrintWriter out=resp.getWriter(); out.println(); out.println(頁面訪問統(tǒng)計(jì)); out.println(); out.println(當(dāng)前頁面被訪問了); out.println(+times+次); /設(shè)置屬性,將times保存到當(dāng)前的上下文中 context.setAttribute(times,times);protected void doPost(HttpServletRequest req, H

7、ttpServletResponse resp)throws ServletException, IOException this.doGet(req, resp);-第2題答案-import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class MyServlet extends HttpServlet protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletExcepti

8、on, IOException PrintWriter out = response.getWriter();ServletConfig config = getServletConfig();String param = config.getInitParameter(encoding);out.println(encoding= + param);protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException this.do

9、Get(request, response);第五章【測一測】請按照以下要求設(shè)計(jì)一個(gè)實(shí)現(xiàn)下載資源防盜鏈的類。1) 創(chuàng)建一個(gè)DownManagerServlet類,繼承HttpServlet類。2) 在doGet()方法中,判斷是否可以進(jìn)行資源下載-答案-步驟如下:1)創(chuàng)建一個(gè)DownManagerServlet類,使其繼承HttpServlet類并重寫該類的doGet()方法。2)在doGet()方法中,使用HttpServletRequest對象的getHeader(referer)方法得到字段referer的值,并判斷是否可以進(jìn)行資源下載。3)如果不能下載,則進(jìn)入下載頁。具體代碼實(shí)現(xiàn)如下:

10、public class DownManagerServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException response.setContentType(text/html;charset=utf-8);PrintWriter out = response.getWriter();/ 獲取referer頭的值String referer = request.getHeader

11、(referer);/ 獲取訪問地址String sitePart = http:/ + request.getServerName();if (referer != null & referer.startsWith(sitePart) / 處理正在下載的請求out.println(dealing download .); else / 非法下載請求跳轉(zhuǎn)到download.html頁面RequestDispatcher rd = request.getRequestDispatcher(/download.html);rd.forward(request, response);第六章【測一測

12、】1、 請使用Cookie技術(shù)實(shí)現(xiàn)顯示用戶上次訪問時(shí)間的功能。2、請?jiān)O(shè)計(jì)一個(gè)類,使用Session技術(shù)實(shí)現(xiàn)購物車功能。 -第1題答案-步驟如下:1)創(chuàng)建一個(gè)LastAccessServlet類,使其繼承HttpServlet類并重寫該類的doGet()方法。2)在doGet()方法中,使用request.getCookies()得到所有cookie形成的cookie數(shù)組,并進(jìn)行遍歷。3)如果遍歷過程中找到cookie信息中存在lastAccess屬性則輸出,否則創(chuàng)建cookie對象,設(shè)置值為當(dāng)前時(shí)間并發(fā)送給客戶端。4)cookie的存活時(shí)間為1小時(shí),訪問當(dāng)前應(yīng)用中的所有資源客戶端都回送cook

13、ie信息。具體代碼實(shí)現(xiàn)如下:package cn.itcast.chapter06.cookie.example;import java.io.IOException;import java.util.Date;import javax.servlet.ServletException;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletRes

14、ponse;public class LastAccessServlet extends HttpServlet private static final long serialVersionUID = 1L;public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException response.setContentType(text/html;charset=utf-8);/* * 設(shè)定一個(gè) cookie 的name : lastAccess

15、Time* 讀取客戶端發(fā)送cookie 獲得用戶上次的訪問時(shí)間顯示*/String lastAccessTime = null;/ 獲取所有的cookie,并將這些cookie存放在數(shù)組中Cookie cookies = request.getCookies();for (int i = 0; cookies != null & i cookies.length; i+) if (lastAccess.equals(cookiesi.getName() / 如果cookie的名稱為lastAccess,則獲取該cookie的值lastAccessTime = cookiesi.getValue

16、();break;/ 判斷是否存在名稱為lastAccess的cookieif (lastAccessTime = null) response.getWriter().print(您是首次訪問本站!); else response.getWriter().print(您上次的訪問時(shí)間+lastAccessTime);/ 創(chuàng)建cookie,將當(dāng)前時(shí)間作為cookie的值發(fā)送給客戶端Cookie cookie = new Cookie(lastAccess,new Date().toLocaleString();cookie.setMaxAge(60*60);/保存1小時(shí)/訪問chapter06

17、下資源時(shí)回送cookiecookie.setPath(/chapter06);/ 發(fā)送 cookieresponse.addCookie(cookie);-第2題答案-步驟如下:1)創(chuàng)建一個(gè)PurchaseServlet類,使其繼承HttpServlet類并重寫該類的doGet()方法。2)在doGet()方法中,使用request.getSession()實(shí)現(xiàn)購物車。3)將session的id保存到cookie中。4)重定向到購物車頁面。具體代碼實(shí)現(xiàn)如下:public class PurchaseServlet extends HttpServlet public void doGet(Ht

18、tpServletRequest req, HttpServletResponse resp)throws ServletException, IOException / 獲得用戶購買的商品String id = req.getParameter(id);if (id = null) / 如果id為null,重定向到ListBookServlet頁面String url = /chapter06/ListBookServlet;resp.sendRedirect(url);return;Book book = BookDB.getBook(id);/ 創(chuàng)建或者獲得用戶的Session對象Htt

19、pSession session = req.getSession();/ 從Session對象中獲得用戶的購物車List cart = (List) session.getAttribute(cart);if (cart = null) / 首次購買,為用戶創(chuàng)建一個(gè)購物車(List集合模擬購物車)cart = new ArrayList();/ 將購物城存入Session對象session.setAttribute(cart, cart);/ 將商品放入購物車cart.add(book);/ 創(chuàng)建Cookie存放Session的標(biāo)識號Cookie cookie = new Cookie(JS

20、ESSIONID, session.getId();cookie.setMaxAge(60 * 30);cookie.setPath(/chapter06);resp.addCookie(cookie);/ 重定向到購物車頁面String url = /chapter06/CartServlet;resp.sendRedirect(url);第七章【測一測】1、 請使用include標(biāo)簽編寫兩個(gè)JSP頁面,要求:輸出b.jsp頁面的內(nèi)容,等待5秒,再輸出a.jsp頁面。2、 已知一個(gè)datetime.jsp頁面用于顯示當(dāng)前時(shí)間。請編寫jsp 文件用于顯示“歡迎來到傳智播客,現(xiàn)在的時(shí)間是:”+當(dāng)

21、前時(shí)間。 -第1題答案-a.jsp代碼:a.jsp內(nèi)的中文b.jsp代碼:b.jsp內(nèi)的中文-第2題答案-歡迎你歡迎來到傳智播客,現(xiàn)在的時(shí)間是:第八章【測一測】1、請編寫一個(gè)類,實(shí)現(xiàn)通過對象得到完整的“包.類”名稱的功能。2、設(shè)計(jì)一個(gè)程序使用BeanUtils工具為Person對象(JavaBean類)賦值。1)直接生成User對象。2)使用BeanUtils工具為name屬性賦值”youjun”,age賦值為31。3)使用BeanUtils工具取出屬性值,并在控制臺輸出。-第1題答案-package cn.itcast.javabean;class Cspublic class GetClassNameDemo public static void main(String args) Cs cs = ne

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論