第一章

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" standalone="yes"?>
<球队列表><!-- 足球队Madrid --><球队 类型="足球队"><队名>Madrid</队名><队员><姓名>Ronaldo</姓名><姓名>Casillas</姓名><姓名>Ramos</姓名><姓名>Modric</姓名><姓名>Benzema</姓名></队员></球队><!-- 篮球队Lakers --><球队 类型="篮球队"><队名>Lakers</队名><队员><姓名>Oneal</姓名><姓名>Bryant</姓名></队员></球队>
</球队列表>

------第2题答案------

<xs:element name="age">
<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主机,请写出至少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><welcome-file>welcome.html</welcome-file>
</welcome-file-list>

第三章

1、简述HTTP1.1协议的通信过程?

2、简述POST请求和GET请求有什么不同?

------第1题答案------

1、客户端与服务器端建立TCP连接。

2、客户端可以向服务器端发送多个请求,并且在发送下个请求时,无需等待上次请求的返回结果。

3、服务器必须按照接受客户端请求的先后顺序依次返回响应结果。

4、客户端发出关闭TCP连接的请求

5、服务器端关闭TCP连接

------第2题答案------

1、 POST传输数据大小无限制

2、POST比GET请求方式更安全

第四章

1、 编写一个servlet,实现统计网站被访问次数的功能。

2、请编写一段程序,使程序能读取该servlet的配置信息,从中获得参数名为encoding对应的参数值,并输出到页面上。

------第1题答案------

步骤如下:

1)新建一个类ShowTimesServlet继承HttpServlet,重写doGet和doPost方法

2)在doPost方法中调用doGet方法,在doGet方法中实现统计网站被访问次数的功能,用户每请求一次servlet,使访问次数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, 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(times.intValue() + 1);}//设置编码,不然中文会变成乱码resp.setContentType("text/html;charset=GB2312");//得到输出流对象PrintWriter out=resp.getWriter();out.println("<html><head><title>");out.println("页面访问统计");out.println("</title></head><body>");out.println("当前页面被访问了");out.println("<font color=red size=20>"+times+"</font>次");//设置属性,将times保存到当前的上下文中context.setAttribute("times",times);}protected void doPost(HttpServletRequest req, 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,HttpServletResponse response) throws ServletException, 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.doGet(request, response);}
}

第五章

请按照以下要求设计一个实现下载资源防盗链的类。

1) 创建一个DownManagerServlet类,继承HttpServlet类。

2) 在doGet()方法中,判断是否可以进行资源下载

------答案------

步骤如下:

1)创建一个DownManagerServlet类,使其继承HttpServlet类并重写该类的doGet()方法。

2)在doGet()方法中,使用HttpServletRequest对象的getHeader("referer")方法得到字段referer的值,并判断是否可以进行资源下载。

3)如果不能下载,则进入下载页。

具体代码实现如下:

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("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);}}
}

第六章

1、 请使用Cookie技术实现显示用户上次访问时间的功能。

2、请设计一个类,使用Session技术实现购物车功能。

------第1题答案------

步骤如下:

1)创建一个LastAccessServlet类,使其继承HttpServlet类并重写该类的doGet()方法。

2)在doGet()方法中,使用request.getCookies()得到所有cookie形成的cookie数组,并进行遍历。

3)如果遍历过程中找到cookie信息中存在lastAccess属性则输出,否则创建cookie对象,设置值为当前时间并发送给客户端。

4)cookie的存活时间为1小时,访问当前应用中的所有资源客户端都回送cookie信息。

具体代码实现如下:

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.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");/** 设定一个 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(cookies[i].getName())) {// 如果cookie的名称为lastAccess,则获取该cookie的值lastAccessTime = cookies[i].getValue();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下资源时回送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(HttpServletRequest 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对象HttpSession session = req.getSession();// 从Session对象中获得用户的购物车List<Book> cart = (List) session.getAttribute("cart");if (cart == null) {// 首次购买,为用户创建一个购物车(List集合模拟购物车)cart = new ArrayList<Book>();// 将购物城存入Session对象session.setAttribute("cart", cart);}// 将商品放入购物车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(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>

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><head><title>欢迎你</title></head><body>欢迎来到传智播客,现在的时间是:<%@ include file="datetime.jsp"%></body>
</html>

第八章

1、请编写一个类,实现通过对象得到完整的“包.类”名称的功能。

2、设计一个程序使用BeanUtils工具为Person对象(JavaBean类)赋值。

1)直接生成User对象。

2)使用BeanUtils工具为name属性赋值”youjun”,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.chapter08.beanutils;
import org.apache.commons.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");BeanUtils.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、为视图提供查询模型状态的方法

《JavaWeb程序开发入门》课后题相关推荐

  1. java队名,《JavaWeb程序开发入门》课后练习(含答案)

    <<JavaWeb程序开发入门>课后练习(含答案)>由会员分享,可在线阅读,更多相关<<JavaWeb程序开发入门>课后练习(含答案)(10页珍藏版)> ...

  2. java项目开发教程课后答案_《JavaWeb程序开发入门》课后题

    第一章 1.请编写一个格式良好的XML文档,要求包含足球队一支,队名为Madrid,球员5人:Ronaldo.Casillas.Ramos.Modric.Benzema:篮球队一支,队名为Lakers ...

  3. javaweb程序开发入门pdf清华,附答案

    结构化数据.非结构化数据与半结构化数据 文章的开始,聊一下结构化数据.非结构化数据与半结构化数据,因为数据特点的不同,将在技术上直接影响存储引擎的选型. 首先是结构化数据,根据定义结构化数据指的是由二 ...

  4. 教孩子学编程python语言pdf_iOS(iPhone)应用程序开发入门视频教程(35讲)

    资源名称:iOS(iPhone)应用程序开发入门视频教程(35讲) 资源目录: [IT教程网]ios(iPhone)应用程序开发入门视频教程:第10讲多视图应用程序 [IT教程网]ios(iPhone ...

  5. 《微信小程序开发入门精要》——导读

    本节书摘来自异步社区<微信小程序开发入门精要>一书中的导读,作者 李宁,更多章节内容可以访问云栖社区"异步社区"公众号查看 目 录 第1章 微信小程序入门 第1章第1节 ...

  6. android入门程序源代码,安卓程序开发入门

    您可能感兴趣的话题: 安卓程序开发入门 核心提示:本教程为大家介绍采用Eclipse软件来编写安卓Hello,World程序. 创建一个新项目是很简单的,只要你安装了Eclipse插件,并且你的Ecl ...

  7. Linux 应用程序开发入门

    Linux 应用程序开发入门 Neo Chen (netkiller) <openunix@163.com> 版权 © 2011, 2012 http://netkiller.github ...

  8. 小程序onload_微信小程序开发入门之共享账本(十四)

    微信小程序开发入门之共享账本(十四) (备注:微信小程序的wxml文件相当于HTML文件,wxss文件相当于CSS文件,js文件就是JavaScript文件,数据库为NoSQL数据库,数据库脚本语言也 ...

  9. 小程序开发入门基础篇-张代浩-专题视频课程

    小程序开发入门基础篇-1995人已学习 课程介绍         采用小程序wepy框架,初级讲解如何搭建小程序的开发环境,创建工程,语法介绍.开发调试等,课程采用实战代码案例作为教材,通俗易懂,简单 ...

最新文章

  1. python3下关于copy和deepcopy中的区别
  2. Drozer快速使用指南
  3. php上传图片类型代码,php 上传图片的代码
  4. JavaFX UI控件教程(一)之简述
  5. 应用计算机技术建立起来的地图,地理信息系统的思考题及其答案
  6. 让系统在内存中高速运行
  7. Nginx下配置多个web服务
  8. php mysql sum用法_mysql怎么使用sum()求id字段的和?
  9. html读写txt文件,JS读写文本文件示例代码
  10. FCN——Semantic Segmentation的开山之作之论文解析
  11. 蓝牙5.3 Core Spec演进与功能变化
  12. EndNote X9在Word插入参考文献时在工具来不显示,使用时显示服务器运行失败,和用国标GBT 7714遇到的错误
  13. 解析几何:第五章 二次曲线(1)圆 椭圆 双曲线
  14. openjudge白细胞计数
  15. nvme协议阅读笔记
  16. 控件不能正确注册错误
  17. 舆情监测平台都有哪些,舆情监测平台使用工作总结
  18. Flutter syncfusion_flutter_charts 折线图使用心得
  19. memcached压力测试(附memcached安装方法)
  20. 洛谷P1219 [USACO1.5]八皇后 Checker Challenge(C语言)

热门文章

  1. Python入门必学,用Python练习画个美队盾牌
  2. android获取到电信的手机号码,Android基站信息获取以及Sim卡相关信息获取
  3. python逻辑量是什么意思_python 逻辑术语
  4. Biotin-STL,PL;生物素化马铃薯凝集素(STL,PL)
  5. 电力电子技术——sepic和zeta电路分析
  6. Web Vue VI
  7. airplus.exe
  8. java web 表单提交_Java Web 表单(form)提交问题!
  9. 【Java】文件管理器
  10. Git add回退 commit回退