《JavaWeb程序开发入门》课后练习(含答案)

上传人:豆浆 文档编号:45894390 上传时间:2021-12-09 格式:DOCX 页数:8 大小:23.99KB
收藏 版权申诉 举报 下载
《JavaWeb程序开发入门》课后练习(含答案)_第1页
第1页 / 共8页
《JavaWeb程序开发入门》课后练习(含答案)_第2页
第2页 / 共8页
《JavaWeb程序开发入门》课后练习(含答案)_第3页
第3页 / 共8页
资源描述:

《《JavaWeb程序开发入门》课后练习(含答案)》由会员分享,可在线阅读,更多相关《《JavaWeb程序开发入门》课后练习(含答案)(8页珍藏版)》请在装配图网上搜索。

1、精品文档,仅供学习与交流,如有侵权请联系网站删除 第一章 【测一测】 1、请编写一个格式良好的XML文档,要求包含足球队一支,队名为Madrid,球员5人:Ronaldo、Casillas、Ramos、Modric、Benzema;篮球队一支,队名为Lakers,队员2人:Oneal,Bryant。要含有注释。 2、在XML Schema文档中,定义一个雇员的年龄为18~58周岁之间。请写出相应的元素声明。 ------第1题答案------ <?xml version="1.0" encoding="gb2312" standalon

2、e="yes"?> <球队列表> <!-- 足球队Madrid --> <球队 类型="足球队"> <队名>Madrid</队名> <队员> <姓名>Ronaldo</姓名> <姓名>Casillas</姓名> <姓名>Ramos</姓名> <姓名>Modric</姓名> <姓名>Benzema</姓名&

3、gt; </队员> </球队> <!-- 篮球队Lakers --> <球队 类型="篮球队"> <队名>Lakers</队名> <队员> <姓名>Oneal</姓名> <姓名>Bryant</姓名> </队员> </球队> </球队列表> ------第2题答案------ <xs:element name="age"&

4、gt; <xs:simpleType> <xs:restriction base="xs:integer"> <xs:minInclusive value="18"/> <xs:maxInclusive value="58"/> </xs:restriction> </xs:simpleType> </xs:element> 第二章 【测一测】 1、如何将web应用发布到tomcat上localhost主机,

5、请写出至少3种实现方式? 2、请问在chapter02应用的web.xml文件中进行哪些配置,可以将welcome.html页面配置成该应用的默认页面? ------第1题答案------ 1、直接将web应用部署到tomcat/webapps下 2、将web应用通过tomcat/conf/server.xml进行配置 3、创建一个xml文件,并配置web应用信息,将xml文件放置tomcat\conf\Catalina\localhost ------第2题答案------ 在web-app标签中进行如下配置即可: <welcome-file-list>

6、 <welcome-file>welcome.html</welcome-file> </welcome-file-list> 第三章 【测一测】 1、简述HTTP1.1协议的通信过程? 2、简述POST请求和GET请求有什么不同? ------第1题答案------ 1、客户端与服务器端建立TCP连接。 2、客户端可以向服务器端发送多个请求,并且在发送下个请求时,无需等待上次请求的返回结果。 3、服务器必须按照接受客户端请求的先后顺序依次返回响应结果。 4、客户端发出关闭TCP连接的请求 5、服务器端关闭TCP连接 ---

7、---第2题答案------ 1、 POST传输数据大小无限制 2、POST比GET请求方式更安全 第四章 【测一测】 1、 编写一个servlet,实现统计网站被访问次数的功能。 2、请编写一段程序,使程序能读取该servlet的配置信息,从中获得参数名为encoding对应的参数值,并输出到页面上。 ------第1题答案------ 步骤如下: 1)新建一个类ShowTimesServlet继承HttpServlet,重写doGet和doPost方法 2)在doPost方法中调用doGet方法,在doGet方法中实现统计网站被访问次数的功能,用户每请求一次servl

8、et,使访问次数times加1 3)获取ServletContext,通过它的功能记住上一次访问后的次数 具体代码实现如下: import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ShowTimesServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest req, HttpServle

9、tResponse resp) throws ServletException, IOException { ServletContext context = getServletContext(); Integer times = (Integer) context.getAttribute("times"); if (times == null) { times = new Integer(1); } else { times = new Integer(times.intValue() + 1); //设置编码,不

10、然中文会变成乱码 resp.setContentType("text/html;charset=GB2312"); //得到输出流对象 PrintWriter out=resp.getWriter(); out.println("<html><head><title>"); out.println("页面访问统计"); out.println("</title></head&g

11、t;<body>"); out.println("当前页面被访问了"); out.println("<font color=red size=20>"+times+"</font>次"); //设置属性,将times保存到当前的上下文中 context.setAttribute("times",times); protected void doPost(HttpServletRequest re

12、q, HttpServletResponse 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, HttpServl

13、etResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); ServletConfig config = getServletConfig(); String param = config.getInitParameter("encoding"); out.println("encoding=" + param); protected void doPost(HttpServletRequ

14、est request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); 第五章 【测一测】 请按照以下要求设计一个实现下载资源防盗链的类。 1) 创建一个DownManagerServlet类,继承HttpServlet类。 2) 在doGet()方法中,判断是否可以进行资源下载 ------答案------ 步骤如下: 1)创建一个DownManagerServlet类,使其继承HttpServlet类并重写该类

15、的doGet()方法。 2)在doGet()方法中,使用HttpServletRequest对象的getHeader("referer")方法得到字段referer的值,并判断是否可以进行资源下载。 3)如果不能下载,则进入下载页。 具体代码实现如下: public class DownManagerServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, I

16、OException { response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); // 获取referer头的值 String referer = request.getHeader("referer"); // 获取访问地址 String sitePart = "http://" + request.getServerName(); if (referer != null &

17、& referer.startsWith(sitePart)) { // 处理正在下载的请求 out.println("dealing download ..."); } else { // 非法下载请求跳转到download.html页面 RequestDispatcher rd = request.getRequestDispatcher("/download.html"); rd.forward(request, response); 第六章 【测一测】 1、 请使用Cookie技术实现显示用户上次访

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

19、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.h

20、ttp.HttpServletResponse; 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

21、"); * 设定一个 cookie 的name : lastAccessTime * 读取客户端发送cookie 获得用户上次的访问时间显示*/ String lastAccessTime = null; // 获取所有的cookie,并将这些cookie存放在数组中 Cookie[] cookies = request.getCookies(); for (int i = 0; cookies != null && i < cookies.length; i++) { if ("lastAccess".equals

22、(cookies[i].getName())) { // 如果cookie的名称为lastAccess,则获取该cookie的值 lastAccessTime = cookies[i].getValue(); break; // 判断是否存在名称为lastAccess的cookie if (lastAccessTime == null) { response.getWriter().print("您是首次访问本站!!!"); } else { response.getWriter().print("您上次的访问时间"+lastAccess

23、Time); // 创建cookie,将当前时间作为cookie的值发送给客户端 Cookie cookie = new Cookie("lastAccess",new Date().toLocaleString()); cookie.setMaxAge(60*60);//保存1小时 //访问chapter06下资源时回送cookie cookie.setPath("/chapter06"); // 发送 cookie response.addCookie(cookie); ------第2题答案------ 步骤如下: 1)创建一个

24、PurchaseServlet类,使其继承HttpServlet类并重写该类的doGet()方法。 2)在doGet()方法中,使用request.getSession()实现购物车。 3)将session的id保存到cookie中。 4)重定向到购物车页面。 具体代码实现如下: public class PurchaseServlet extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOExc

25、eption { // 获得用户购买的商品 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对象 HttpSession session = req.getS

26、ession(); // 从Session对象中获得用户的购物车 List<Book> cart = (List) session.getAttribute("cart"); if (cart == null) { // 首次购买,为用户创建一个购物车(List集合模拟购物车) cart = new ArrayList<Book>(); // 将购物城存入Session对象 session.setAttribute("cart", cart); /

27、/ 将商品放入购物车 cart.add(book); // 创建Cookie存放Session的标识号 Cookie cookie = new Cookie("JSESSIONID", session.getId()); cookie.setMaxAge(60 * 30); cookie.setPath("/chapter06"); resp.addCookie(cookie); // 重定向到购物车页面 String url = "/chapter06/CartServlet"; resp.sendRedirect

28、(url); 第七章 【测一测】 1、 请使用include标签编写两个JSP页面, 要求:输出b.jsp页面的内容,等待5秒,再输出a.jsp页面。 2、 已知一个datetime.jsp页面用于显示当前时间。请编写jsp 文件用于显示“欢迎来到传智播客,现在的时间是:”+当前时间。 ------第1题答案------ a.jsp代码: <%@ page contentType="text/html;charset=UTF-8"%> <%Thread.sleep(5000);%> a.jsp内的中文<br>

29、 b.jsp代码: <%@ page contentType="text/html;charset=UTF-8"%> b.jsp内的中文<br> <jsp:include page="a.jsp" flush="true" /> ------第2题答案------ <%@page language="java" contentType="text/html; charset=UTF-8"%> <html> <hea

30、d> <title>欢迎你</title> </head> <body> 欢迎来到传智播客,现在的时间是: <%@ include file="datetime.jsp"%> </body> </html> 第八章 【测一测】 1、请编写一个类,实现通过对象得到完整的“包.类”名称的功能。 2、设计一个程序使用BeanUtils工具为Person对象(JavaBean类)赋值。 1)直接生成User对象。 2)使用BeanUtils工具为name属性赋值”yo

31、ujun”,age赋值为31。 3)使用BeanUtils工具取出属性值,并在控制台输出。 ------第1题答案------ package cn.itcast.javabean; class Cs{} public class GetClassNameDemo { public static void main(String[] args) { Cs cs = new Cs (); System.out.println(Cs. getClass().getName()); ------第2题答案------ package cn.itcast.chapter0

32、8.beanutils; import mons.beanutils.BeanUtils; import cn.itcast.chapter08.javabean.Person; public class BeanUtilsDemo01 { public static void main(String[] args) throws Exception{ Person p = new Person(); //使用BeanUtils为属性赋值 BeanUtils.setProperty(p, "name", "youjun"); BeanUt

33、ils.setProperty(p, "age", 31); //使用BeanUtils获取属性值 String name = BeanUtils.getProperty(p, "name"); String age = BeanUtils.getProperty(p, "age"); System.out.println("名字是"+name+",今年"+age+"岁"); 第九章 【测一测】 学习完前面的内容,下面来动手测一测吧,请思考以下问题: 1、简述什么是MVC设计模式? 2、简述MVC设计模式中模型(Model)模块的作用? ------第1题答案------ MVC模式将软件程序分为3个核心模块:模型(Model)、视图(View)和控制器(Controller) ------第2题答案------ 1、管理应用程序的业务数据 2、定义访问控制和修改这些数据的业务规则 3、为视图提供查询模型状态的方法 【精品文档】第 8 页

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

相关资源

更多
正为您匹配相似的精品文档
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!