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

下载本文档

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

文档简介

1、第一章【测一测】1、请编写一个格式良好的XML文档,要求包含足球队一支,队名为Madrid,球员5人:Ronaldo、Casillas、Ramos、Modric、Benzema;篮球队一支,队名为Lakers,队员2人:Oneal,Bryant。要含有注释。2、在XML Schema文档中,定义一个雇员的年龄为1858周岁之间。请写出相应的元素声明。-第1题答案-MadridRonaldoCasillasRamosModricBenzemaLakersOnealBryant-第2题答案- 第二章【测一测】1、如何将web应用发布到tomcat上localhost主机,请写出至少3种实现方式?2

2、、请问在chapter02应用的web.xml文件中进行哪些配置,可以将welcome.html页面配置成该应用的默认页面?-第1题答案-1、直接将web应用部署到tomcat/webapps下2、将web应用通过tomcat/conf/server.xml进行配置3、创建一个xml文件,并配置web应用信息,将xml文件放置tomcatconfCatalinalocalhost-第2题答案-在web-app标签中进行如下配置即可: welcome.html第三章【测一测】1、简述HTTP1.1协议的通信过程?2、简述POST请求和GET请求有什么不同? -第1题答案-1、客户端与服务器端建立

3、TCP连接。2、客户端可以向服务器端发送多个请求,并且在发送下个请求时,无需等待上次请求的返回结果。3、服务器必须按照接受客户端请求的先后顺序依次返回响应结果。4、客户端发出关闭TCP连接的请求5、服务器端关闭TCP连接-第2题答案-1、 POST传输数据大小无限制2、POST比GET请求方式更安全第四章【测一测】1、 编写一个servlet,实现统计网站被访问次数的功能。2、请编写一段程序,使程序能读取该servlet的配置信息,从中获得参数名为encoding对应的参数值,并输出到页面上。 -第1题答案-步骤如下:1)新建一个类ShowTimesServlet继承HttpServlet,重

4、写doGet和doPost方法2)在doPost方法中调用doGet方法,在doGet方法中实现统计网站被访问次数的功能,用户每请求一次servlet,使访问次数times加13)获取ServletContext,通过它的功能记住上一次访问后的次数具体代码实现如下: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);/设置编码,

6、不然中文会变成乱码resp.setContentType(text/html;charset=GB2312); /得到输出流对象 PrintWriter out=resp.getWriter(); out.println(); out.println(页面访问统计); out.println(); out.println(当前页面被访问了); out.println(+times+次); /设置属性,将times保存到当前的上下文中 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);第五章【测一测】请按照以下要求设计一个实现下载资源防盗链的类。1) 创建一个DownManagerServlet类,继承HttpServlet类。2) 在doGet()方法中,判断是否可以进行资源下载-答案-步骤如下:1)创建一个DownManagerServlet类,使其继承HttpServlet类并重写该类的doGet()方法。2)在doGet()方法中,使用HttpServletRequest对象的getHeader(referer)方法得到字段referer的值,并判断是否可以进行资源下载。3)如果不能下载,则进入下载页。具体代码实现如下:

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 / 非法下载请求跳转到download.html页面RequestDispatcher rd = request.getRequestDispatcher(/download.html);rd.forward(request, response);第六章【测一测

12、】1、 请使用Cookie技术实现显示用户上次访问时间的功能。2、请设计一个类,使用Session技术实现购物车功能。 -第1题答案-步骤如下:1)创建一个LastAccessServlet类,使其继承HttpServlet类并重写该类的doGet()方法。2)在doGet()方法中,使用request.getCookies()得到所有cookie形成的cookie数组,并进行遍历。3)如果遍历过程中找到cookie信息中存在lastAccess属性则输出,否则创建cookie对象,设置值为当前时间并发送给客户端。4)cookie的存活时间为1小时,访问当前应用中的所有资源客户端都回送cook

13、ie信息。具体代码实现如下: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);/* * 设定一个 cookie 的name : lastAccess

15、Time* 读取客户端发送cookie 获得用户上次的访问时间显示*/String lastAccessTime = null;/ 获取所有的cookie,并将这些cookie存放在数组中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(您上次的访问时间+lastAccessTime);/ 创建cookie,将当前时间作为cookie的值发送给客户端Cookie cookie = new Cookie(lastAccess,new Date().toLocaleString();cookie.setMaxAge(60*60);/保存1小时/访问chapter06

17、下资源时回送cookiecookie.setPath(/chapter06);/ 发送 cookieresponse.addCookie(cookie);-第2题答案-步骤如下:1)创建一个PurchaseServlet类,使其继承HttpServlet类并重写该类的doGet()方法。2)在doGet()方法中,使用request.getSession()实现购物车。3)将session的id保存到cookie中。4)重定向到购物车页面。具体代码实现如下: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);/ 创建或者获得用户的Session对象Htt

19、pSession session = req.getSession();/ 从Session对象中获得用户的购物车List cart = (List) session.getAttribute(cart);if (cart = null) / 首次购买,为用户创建一个购物车(List集合模拟购物车)cart = new ArrayList();/ 将购物城存入Session对象session.setAttribute(cart, cart);/ 将商品放入购物车cart.add(book);/ 创建Cookie存放Session的标识号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标签编写两个JSP页面,要求:输出b.jsp页面的内容,等待5秒,再输出a.jsp页面。2、 已知一个datetime.jsp页面用于显示当前时间。请编写jsp 文件用于显示“欢迎来到传智播客,现在的时间是:”+当

21、前时间。 -第1题答案-a.jsp代码:a.jsp内的中文b.jsp代码:b.jsp内的中文-第2题答案-欢迎你欢迎来到传智播客,现在的时间是:第八章【测一测】1、请编写一个类,实现通过对象得到完整的“包.类”名称的功能。2、设计一个程序使用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 = new Cs ();Syste

温馨提示

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

评论

0/150

提交评论