所有章节答案合集——>传送门


【测一测】
学习完前面的内容,下面来动手测一测吧,请思考以下问题:
1、请列举Servlet接口中的方法,并分别说明这些方法的特点及其作用。
2、简述ServletContext接口的三个主要作用。
3、编写一个servlet,实现统计网站被访问次数的功能。
4、请编写一段程序,使程序能读取该servlet的配置信息,从中获得参数名为encoding对应的参数值,并输出到页面上。


【答案】
1、Servlet接口中有init、service、destroy 、getServletConfig和getServletInfo这 5个方法,这些方法的特点及其作用具体如下:

  1. init(ServletConfig config)方法,该方法在服务器对Servlet第一次访问时调用,负责Servlet初始化工作。在一个Servlet的生命周期中只执行一次。该方法接收一个ServletConfig类型的参数,Servlet容器可以通过这个参数向Servlet传递初始化配置信息。
  2. service(ServletRequest request,ServletResponse response)方法,该方法负责响应用户的请求,当容器接收到客户端访问Servlet对象的请求时,就会调用此方法。
  3. destroy()方法,该方法方法负责释放Servlet对象占用的资源。当Servlet对象被销毁时,容器会调用此方法。
  4. getServletConfig()方法,该方法返回容器调用init(ServletConfig config)方法时传递给Servlet的ServletConfig对象。
  5. getServletInfo()方法,该方法返回一个字符串,其中包含了关于Servlet的信息,例如,作者、版本和版权等信息。

2、ServletContext接口的三个主要作用如下:
1)获取Web应用程序的初始化参数
2)实现多个Servlet对象共享数据
3)读取Web应用下的资源文件

3、实现步骤如下:
1)新建一个类ShowTimesServlet继承HttpServlet,重写doGet和doPost方法
2)在doPost方法中调用doGet方法,在doGet方法中实现统计网站被访问次数的功能,用户每请求一次Servlet,使访问次数times加1
3)获取ServletContext,通过它的功能记住上一次访问后的次数
(1)ShowTimesServlet类的编写如下:

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)web.xml配置信息如下:

ShowTimesServlet cn.itcast.chapter03.servlet.ShowTimesServlet ShowTimesServlet /ShowTimesServlet

4、实现代码如下:
(1)TestServlet类如下:

public class TestServlet extends HttpServlet {protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {PrintWriter out = response.getWriter();// 获得ServletConfig对象ServletConfig config = this.getServletConfig();// 获得参数名为encoding对应的参数值String param = config.getInitParameter("encoding");out.println("encoding=" + param);}protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {this.doGet(request, response);}
}

(2)web.xml文件配置如下:

<servlet><servlet-name>TestServlet</servlet-name><servlet-class>cn.itcast.chapter03.servlet.TestServlet</servlet-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param></servlet>
<servlet-mapping><servlet-name>TestServlet</servlet-name><url-pattern>/TestServlet</url-pattern>
</servlet-mapping>

整理不易, 如果对你产生了帮助, 请给博主一个赞哦, 大家的点赞是我创作的最大动力。

【传智播客】Javaweb程序设计任务教程 黑马程序员 第三章 课后答案相关推荐

  1. 【传智播客】Javaweb程序设计任务教程 黑马程序员 第五章 课后答案

    所有章节答案合集-->传送门 [测一测] 学习完前面的内容,下面来动手测一测吧,请思考以下问题: 1.简述什么是会话技术? 2.简述Cookie与Session的区别?(至少写出3点) 3.请设 ...

  2. 【传智播客】Javaweb程序设计任务教程 黑马程序员 第六章 课后答案

    所有章节答案合集-->传送门 [测一测] 学习完前面的内容,下面来动手测一测吧,请思考以下问题: 1.请简述JSP的运行原理. 1.请简述JSP中的9个隐式对象. 2.请使用include标签编 ...

  3. 【传智播客】Javaweb程序设计任务教程 黑马程序员 第四章 课后答案

    所有章节答案合集-->传送门 [测一测] 学习完前面的内容,下面来动手测一测吧,请思考以下问题: 1.简述请求转发与重定向的异同?(至少写3点) 2.请写出禁止浏览器缓存页面的核心代码. 3.请 ...

  4. 【传智播客】Javaweb程序设计任务教程 黑马程序员 课后答案【合集】

    [传智播客]Javaweb程序设计任务教程 黑马程序员 第一章 课后答案 [传智播客]Javaweb程序设计任务教程 黑马程序员 第二章 课后答案 [传智播客]Javaweb程序设计任务教程 黑马程序 ...

  5. HTML+CSS+JavaScript网页制作案例教程-黑马程序员-第五章课后习题(课程介绍专栏效果)

    黑马程序员编著的教材  HTML+CSS+JavaScript网页制作案例教程 第五章:"课程介绍"专栏-课后习题参考代码 题目原型: 请结合给出的素材,运用列表标记,超链接标记以 ...

  6. HTML+CSS+JavaScript网页制作案例教程-黑马程序员-第四章课后习题(播放器图标)

    黑马程序员编著的教材  HTML+CSS+JavaScript网页制作案例教程 第四章:播放器图标-课后习题参考代码 ........ 记得 关注,收藏,评论哦,作者将持续更新.... 我自己做的效果 ...

  7. 【传智播客】Javaweb程序设计任务教程 黑马程序员 第7,8,9,10,11,12,13,14,15章 课后答案

    所有章节答案合集-->传送门 第一部分是题目,向下翻, 第二部分是答案 第七章 [测一测] 学习完前面的内容,下面来动手测一测吧,请思考以下问题: 1.简述Javabean规范都有哪些?(至少写 ...

  8. 【传智播客】Javaweb程序设计任务教程 黑马程序员 第二章 课后答案

    所有章节答案合集-->传送门 第二章 问题 [测一测] 学习完前面的内容,下面来动手测一测吧,请思考以下问题: 1.简述HTTP1.1协议的通信过程? 2.简述POST请求和GET请求有什么不同 ...

  9. 传智播客JavaWeb day11--事务的概念、事务的ACID、数据库锁机制、

    1. 什么叫做事务? 2.默认情况下每一条sql语句都是一个事务,然后自动提交事务  ps:如果想多条语句占一个事务,则可以手动设置SetAutoCommit为false 3.关键字 start tr ...

最新文章

  1. 现实迷途 第七章 特殊客户
  2. windows中路径\和 linux中用/
  3. get_headers()请求https报错解决思路
  4. 不讲CRUSH的Ceph教程是不完整的
  5. 最详细的docker安装rocketMQ教程来了
  6. python3字符串截取_从python3中的字符串中获取特定文本
  7. java打字游戏代码_牛逼啊!一个随时随地写Python代码的神器
  8. Shell——传递参数
  9. [转载] 中华典故故事(孙刚)——31 千里送鹅毛_礼轻情义重
  10. 一幅图看懂prototype与[[Prototype]]
  11. 傅里叶变换的终极解释上
  12. 鸿蒙os 实测,鸿蒙体验怎么样_鸿蒙OS实测体验
  13. 索尼SONY 820E摄像机内置64G存储卡无法识别拆MMC芯片完整恢复数据
  14. 中国姓氏数据库 java_中国姓的数据库(sql版),下你妹CSDN,又不是你的资源要你妹积分!...
  15. js微信抢红包脚本代码_autojs抖音抢红包脚本!源码分享
  16. EMI、EMS以及EMC的区别
  17. python shapely
  18. Sqlite 索引的使用、索引的优缺点
  19. 想知道CAD怎么转图片格式?跟我学会这几招就足够了
  20. VIVO、蚂蚁金服跨界握手,融入区块链技术,共同研发新型智能手机

热门文章

  1. 第09讲:爬虫解析利器 PyQuery 的使用
  2. 《RabbitMQ实战指南》笔误及改进记录
  3. 写一个 panic blame 机器人
  4. 开启未来十年的编码技术之门
  5. 短视频出海的关键指标、挑战及应对
  6. 一款 0 门槛轻松易上手的数据可视化工具
  7. NeurIPS 2019|腾讯AI Lab详解入选论文,含模仿学习、强化学习、自动机器学习等主题...
  8. unsigned a:1;
  9. kafka _命令行操作
  10. 左神算法:将搜索二叉树转换成双向链表(Java版)