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


【测一测】
学习完前面的内容,下面来动手测一测吧,请思考以下问题:

1、请简述JSP的运行原理。

1、请简述JSP中的9个隐式对象。

2、请使用include标签编写两个JSP页面,要求:访问b.jsp页面时先输出b.jsp页面的内容,等待5秒,再输出a.jsp页面中的内容。

3、请在web.xml文件中使用元素为整个Web应用程序设置错误处理页面。已知:处理状态码为404的页面为404.jsp, 处理状态码为500的页面为500.jsp


【答案】
1、JSP的运行原理如下:
1)客户端发出请求,请求访问JSP文件。
2)JSP容器先将JSP文件转换成一个Java源文件(Java Servlet源程序),在转换过程中,如果发现JSP文件中存在任何语法错误,则中断转换过程,并向服务端和客户端返回出错信息。
3)如果转换成功,则JSP容器将生成的Java源文件编译成相应的字节码文件*.class。该class文件就是一个Servlet,Servlet容器会像处理其他Servlet一样来处理它。
4)由Servlet容器加载转换后的Servlet类(.class文件)创建一个该Servlet(JSP页面的转换结果)实例,并执行Servlet的jspInit()方法。jspInit()方法在Servlet的整个生命周期中只会执行一次。
5)执行jspService()方法来处理客户端的请求。对于每一个请求,JSP容器都会创建一个新的线程来处理它。如果多个客户端同时请求该JSP文件,则JSP容器也会创建多个线程,使得每一个客户端请求都对应一个线程。JSP运行过程中采用的这种多线程的执行方式可以极大地降低对系统资源的需求,提高系统的并发量并缩短响应时间。需要注意的是,由于第(4)步生成的Servlet是常驻内存的,所以响应速度非常快。
6)如果JSP文件被修改了,则服务器将根据设置决定是否对该文件重新编译,如果需要重新编译,则使用重新编译后的结果取代内存中常驻的Servlet,并继续上述处理过程。
7)虽然JSP效率很高,但在第一次调用的时候往往由于需要转换和编译,所以会产生一些轻微的延迟。此外,由于系统资源不足等原因,JSP容器可能会以某种不确定的方式将Servlet从内存中移除,发生这种情况时首先会调用jspDestroy()方法,然后Servlet实例会被加入“垃圾收集”处理。
8)当请求处理完成后,响应对象由JSP容器接收,并将HTML格式的响应信息发送回客户端。

2、JSP2.0规范中提供了9个隐式(内置)对象,它们是JSP默认创建的,可以直接在JSP页面中使用。这9个隐式对象的名称和作用如下:
1)out:主要用于页面输出;
2)request:用于得到用户请求信息;
3)response:表示服务器向客户端的回应信息;
4)config:包含服务器的配置信息,可以使用该对象获得Servlet初始化参数;
5)session:主要用来保存用户信息;
6)application:包含所有用户的共享信息;
7)page:指当前页面转换后的Servlet类的实例;
8)pageContext:表示JSP页面容器,它提供了对JSP页面内所有的对象及名字空间的访问;
9)exception::表示JSP页面所发生的异常,在错误页中才起作用。

3、该功能的实现代码如下:
(1)a.jsp文件如下:

<%@ page contentType="text/html;charset=UTF-8"%>
<%Thread.sleep(5000);%>
这个是a.jsp页面<br />

(2)b. jsp文件如下:

<%@ page contentType="text/html;charset=UTF-8"%>
这个是b.jsp页面<br />
<jsp:include page="a.jsp" flush="true" />

4、web.xml文件代码如下:

<error-page><error-code>404</error-code><location>/404.jsp</location></error-page><error-page><error-code>500</error-code><location>/500.jsp</location></error-page>

整理不易, 如果喜欢的话,还请给博主一个赞哦,让更多的人看到这篇文章

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

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

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

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

    所有章节答案合集-->传送门 [测一测] 学习完前面的内容,下面来动手测一测吧,请思考以下问题: 1.请列举Servlet接口中的方法,并分别说明这些方法的特点及其作用. 2.简述Servlet ...

  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. 如何添加ORACLE 的 ODBC
  2. 百度李彦宏:人工智能是万物命脉
  3. jstree中文api文档_开发中文 API 的一些策略
  4. pcb成型板aoi检测_一种PCB板的AOI检测控制系统的制作方法
  5. hdu 4768 Flyer 二分
  6. oracle书评,【书评:Oracle查询优化改写】第二章
  7. 我同事吃的辅酶Q10到底有没有效果?
  8. mongodb python 大于_Python中使用MongoDB详解
  9. AI领域的Python核心编程【学生免费】
  10. 华为关联公司哈勃投资晟芯网络 持股10%
  11. python抓取gb2312/gbk编码网页乱码问题
  12. 如何解压缩.7z 001,.7z002....
  13. ASP.NET MVC 5 ABP DataTables (二)
  14. 高效率实现web自动完成功能-三叉搜索树
  15. exception类型 java_程序员小白入门,Java如何选择异常类型?
  16. 一个值得推荐的脑图制作神器!
  17. Error:(292, 40) java: -source 1.5 中不支持 diamond 运算符 (请使用 -source 7 或更高版本以启用 diamond 运算符) ........
  18. 分享美容美发预约下单小程序开发制作功能介绍
  19. centos7下载安装postgresql 12详细过程
  20. Postman教程-Pre-request Script和Tests脚本进阶

热门文章

  1. 用Python实现二叉树的遍历
  2. 高级/专家工程师职位和面试题
  3. Redis功能强大,那也顶不住被滥用啊!
  4. Kafka主题中的分区数越多吞吐量就越高?BULLSHIT!!!
  5. Git/SQL/正则表达式练习平台
  6. Netflix视频质量感知评价模型之路
  7. SRS流媒体服务器——单机环境搭建和源码目录介绍
  8. Nginx upstream (一) 整体流程分析
  9. gcc 参数 -fprofile-arcs -ftest-coverage作用
  10. 我又来说Git了, Git 与 SVN 大对比!