(完整版)《JavaWeb程序开发入门》课后练习(含答案)_第1页
(完整版)《JavaWeb程序开发入门》课后练习(含答案)_第2页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章【测一测】1、请编写一个格式良好的XML文档,要求包含足球队一支,队名为Madrid,球员5人:RonaldoCasillas、Ramos、ModncBenzema;篮球队一支,队名为Lakers,队员2人:OneaLBryant。要含有注释。2、在XMLSchema文档中,定义一个雇员的年龄为1858周岁之间。请写出相应的元素声明。第1题答案球队列表MadridRonaldoCasillasRamosModric/姓名V姓名Benzema/姓名/队员/球队球队类型=”篮球队”V队名Lakers/队名队员Oneal/姓名Bryant/姓名/队员/球队/球队列表第2题答案xs:restri

2、ctionbase=xs:integer第二章【测一测】1、如何将web应用发布到tomcat上localhost主机,请写出至少3种实现方式?2、请问在chapter02应用的web.xml文件中进行哪些配置,町以将welcome.html页面配置成该应用的默认页面?第1题答案1、直接将web应用部署到tomcat/webappsF2、将web应用通过tomcat/conf/server,xml进行配置3、创建一个xml文件,并配置web应用信息,将xml文件放置tomcatconfCataiinalocalhost在web-app标签中进行如下配置即可:welcomehtml/welcom

3、e-f第三章【测一测】1、简述HTTP1.1协议的通信过程?2、简述POST请求和GET请求有什么不同?第1题答案1. 客户端与服务器端建立TCP连接。2、客户端可以向服务器端发送多个请求,并且在发送卞个请求时,无需等待上次请求的返回结果。3、服务器必须按照接受客户端请求的先后顺序依次返回响应结果。4、客户端发出关闭TCP连接的请求5、服务器端关闭TCP连接第2题答案.1、POST传输数据人小无限制2、POST比GET请求方式更安全第四章【测一测】1、编写一个servlet,实现统计网站被访问次数的功能。2、请编写一段程序,使程序能读取该seivlet的配置信息,从中获得参数名为encodmg

4、对应的参数值,并输出到页面上。第1题答案步骤如下:1) 新建一个类ShowTiinesSeivlet继承HttpServlet,重写doGet和doPost方法2) 在doPost方法中调用doGet方法,在doGet方法中实现统计网站被访问次数的功能,用户每请求一次servlet,使访问次数times加13) 获取SeivletContext,通过它的功能记住上一次访问后的次数具体代码实现如下:importjavaio*;importjavaxservler*;importjavaxservlerhttp*;publicclassShowTimesServletextendsHrtpServ

5、letprivatestaticfinallongserialVersionUID=IL;protectedvoiddoGet(HetpServletRequesrreqzHttpServlerResponseresp)throwsServletExceptionzIOExceptionServletContextcon乂匸=getServlerConrext();Integerrimes=(Integer)context匸匸ribute(cimes”);if(times=null)times=newInteger(1);else(times=newInteger(timesintValue(

6、)+1);/设置编码,不然中文会变成乱码reapsetConrencType(cexc/html;charset=GB2312n);/得到输出流对象PrintWricezout=respgetWriter();outprinrln();out.println(M页面访问统计”);outprintin(/v/head);outprintin(”当前页面被访问了”);outprintin(,+rimes+/fon次);/设置属性,将times保存到当前的上下文中contextsetAttributecimes);protectedvoiddoPost(HttpServlerRequestreq.H

7、trpServletResponseresp)throwsServletExceptionzIOExceptionthisdoGet(req,resp);第2题答案importjavaio*;importjavaxservlet*;importjavaxservle匸http*;publieclassMyServletextendsHetpServletprotectedvoiddoGet(HrtpServletRequestrequestHrtpServletResponseresponse)throwsServletExceptionzIOExceptionPrintWrirerout=r

8、esponsegetNriter();ServletConfigconfig=getServletConfig();Scringparam=configgecTnicParameter(encoding);outprintln(encoding=+param);protectedvoiddoPost(HttpServlerRequestrequest,HrtpServletResponseresponse)throwsServletExceptionzIOExceptionthisdoGet(request,response);第五章【测一测】请按照以下要求设计一个实现下载资源防盗链的类。1)

9、 创建一个DounManagerServlet类,继承HttpSeivlet类。2) 在doGetO方法中,判断是否可以进行资源下载答案步骤如下:1) 创建一个DovnManagerServlet类,使其继承HttpSeivlet类并重写该类的doGetO方法。2) 在doGet()方法中,使用HttpSeivletRequest对象的getHeaderfreferer”)方法得到字段referer的值,并判断是否可以进行资源下载。3) 如果不能下载,则进入下载页。具体代码实现如下:publicclassDownManagerServletextendsHtrpServletpublievoi

10、ddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletExceptionrIOExceprionresponsesetConrenrType(rext/html;charset=utf-8H);PrintWri匸ezout=responsegetWriter();/获取referer头的值Stringreferer=requestgetHeadez(efxer”);/获収访问地址Stringsitepart=http:/n+requestgetServerName();if(referer!=null

11、&refererscarrsWith(sitePart)/处理正在下载的请求outprintln(dealingdownloadH);else/非法下载请求跳转到download.html页面RequestDispatcherrd=requestge匸Reques匕Dispaccher(/downloadrdforward(request,response);第六章【测一测】1、请使用Cookie技术实现显示用户上次访问时间的功能。2、请设计一个类,使用Session技术实现购物车功能。第1题答案步骤如F:1) 创建一个LastAccessSeivlet类,使其继承HttpSeivlet类并重

12、写该类的doGet()方法。2)在doGet()方法中,使用request.getCookies()得到所有cookie形成的cookie数组,并进行遍历。3) 如果遍历过程中找到cookie信息中存在lastAccess属性则输出,否则创建cookie对象,设置值为当前时间并发送给客户端。4) cookie的存活时间为1小时,访问当前应用中的所有资源客户端都回送cookie信息。具体代码实现如下:packagecniccastchaprer06cookieexample;importjavaioIOExceprion;importjavautilDare;importjavaxservle匸

13、ServletException;importjavaxservle匸httpCookie;importjavaxservle匸httpHttpServlet;importjavaxservlerhttpHttpServletRequest;importjavaxservle匸httpHttpServletResponse;publicclassLastAccessServlerextendsHttpServler(privatescaticfinallongserialVersionUID=IL;publievoiddoGet(HttpServletRequestrequestzHttpSe

14、rvletResponseresponse)匸hrowsServlerException,IOExceptionresponsesetConrencType(rext/html;charset=utf-8H);/*设定一个cookie的name:lastAccessTime*读取客户端发送cookie获得用户上次的访问时间显示*/StringlastAccessTime=null;/获収所有的cookie,并将这些cookie存放在数组中Cookiecookies=requestge匸Cookies();for(inti=0;cookies!=null&icookies.length;i+)i

15、f(lastAccessequals(cookiesigetName()/如果cookie的名称为lastAccess则获取该cookie的值lastAccessTime=cookiesigetValue();break;/判断是否存在名称为lastAccess的cookieif(lastAccessTime=null)response.getWriter().print(您是首次访问本站!H);elseresponsegetWriter()print(”您上次的访问H寸间+.ast;AcoessTime);/创建cookie,将当前时间作为cookie的值发送给客户端Cookiecookie

16、=newCookie(lastAccess,newDate()toLocaleString();cookieserMaxAge(60*60);/保存1小时/访问chapter。6卜资源时回送cookiecookiewcPach(/chapterOG);/发送cookieresponseaadCookie(cookie);第2题答案步骤如下:1) 创建一个PurchaseServlet类,使其继承HttpSen-let类并重写该类的doGet()方法。2) 在doGetO方法中,使用request.getSessionO实现购物车。3) 将session的id保存到cookie中。4) 重定向到

17、购物车页面。具体代码实现如下:publieclassPurchaseServletextendspServletpublicvoiddoGet(Ht匸pServletRoquestreq,tpServletResponsereap)throwsServletExceprion,IOExceprion/获得用户购买的商品Stringid=req.geeParameter(id);if(id=null)/如果id为null,重定向到LisrBookServlet页而Stringurl=/chapter06/ListBookServiet;reapsendReairect(url);return;B

18、ookbook=BookDBgetBook(id);/创建或者获得用户的Session对象HttpSessionsession=reqgetSession();/从Session对象中获得用户的购物车LisCcart=(List)sessiongetArtribute(cart);if(cart=null)/首次购买,为用户创建一个购物车(List集合模拟购物车)cart=newArrayList();/将购物城存入Session对象sessionsetAttribute(cart,cart);/将商品放入购物车cartadd(book);/创建Cookie存放Session的标识号Cooki

19、ecookie=newCookie(JSESSIONIDzsessiongetTd();cookiesotMaNAge(60*30);cookiesetPach(/chapteM06);resp.addCookie(cookie);/重定向到购物车页面Stringurl=n/chapter06/CarrServler;respsendRedirect(url);第七章【测一测】1、请使用include标签编写两个JSP页面,要求:输出b.jsp页面的内容,等待5秒,再输出a.jsp页面。2、已知一个datetnne.jsp页面用于显示当前时间。请编写jsp文件用于显示“欢迎来到传智播客,现在的

20、时间是:”+当前时间。第1题答案a. jsp代码:%pagecontenrType=H,ce:a. jsp内的中文b. jsp代码:%pagecontenrType=H,ce:b. jsp内的中文第2题答案欢迎你欢迎来到传智播客,现在的时间是:第八章【测一测】1、请编写一个类,实现通过对彖得到完整的“包-类”名称的功能。2、设i一个程序使用BeanUtils工具为Person对彖(JavaBean类)赋值。1)直接生成User对彖。2)使用BeanUtils工具为name属性赋值”youjun”,age赋值为31。3)使用BeanUtilsI具取出属性值,并在控制台输出。第1题答案packagecnitcastjavabean;classCspublieclassGetClassNameDemopubliestaticvoidmain

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论