1. 什么是jsp,什么是Servlet?jsp 和Servlet 的区别?
jsp 本质上就是一个 Servlet,它是 Servlet 的一种特殊形式(由 SUN 公司推出),每个 jsp 页面都是一个 servlet 实例。
Servlet 是由 Java 提供用于开发 web 服务器应用程序的一个组件,运行在服务端,由 servlet 容器管理,用来生成动态内容。一个 servlet 实例是实现了特殊接口 Servlet 的 Java 类,所有自定义的 servlet 均必须实现 Servlet 接口。
区别:
jsp是html页面中内嵌的Java代码,侧重页面显示;
Servlet 是 html 代码和 Java 代码分离,侧重逻辑控制,mvc 设计思想中 jsp 位于视图层,servlet 位于控制层。
Jsp 运行机制:如下图
JVM 只能识别 Java 类,并不能识别 jsp 代码!web 容器收到以.jsp 为扩展名的 url 请求时,会将访问请求交给tomcat 中 jsp 引擎处理,每个 jsp 页面第一次被访问时,jsp 引擎将 jsp 代码解释为一个 servlet 源程序,接着编译servlet 源程序生成.class 文件,再由 web 容器 servlet 引擎去装载执行 servlet 程序,实现页面交互。
2. jsp 有哪些域对象和内置对象及他们的作用?
四大域对象:
(1)pageContext page 域-指当前页面,在当前 jsp 页面有效,跳到其它页面失效
(2)request request 域-指一次请求范围内有效,从 http 请求到服务器处理结束,返回响应的整个过程。在这个过程中使用 forward(请求转发)方式跳转多个 jsp,在这些页面里你都可以使用这个变量
(3)session session 域-指当前会话有效范围,浏览器从打开到关闭过程中,转发、重定向均可以使用
(4)application context 域-指只能在同一个 web 中使用,服务器未关闭或者重启,数据就有效
(5)九大内置对象:
生命周期 | 作用域 | 使用情况 | |
Request | 一次请求 | 只在 Jsp 页面内有效 | 用于接受通过 HTTP 协议传送到服务器的数据(包括头信息、系统信息、请求方式以及请求参数等)。 |
Reponse | 一次响应 | 只在 Jsp 页面内有效 | 表示服务器端对客户端的回应。主要用于设置头信息、跳转、Cookie 等 |
Session | 从存入数据开始,默认闲置 30 分钟后失效 | 会话内有效 | 用于存储特定的用户会话所需的信息 |
Out | www.cnblogs.com/leirenyuan/…6063.html | 用于在 Web 浏览器内输出信息,并且管理应用服务器上的输出缓冲区 | |
PageContext | 详细了解:www.cnblogs.com/leirenyuan/… 6063.html | 用于存取其他隐含对象,如 request、reponse、session、application 等对象。(实际上,pageContext 对象提供了对 JSP 页面所有的对象及命名空间的访问。 | |
Page | www.cnblogs.com/leirenyuan/…6063.html | page 对象代表 JSP 本身(对应 this),只有在 JSP 页面内才是合法的 | |
Exception | www.cnblogs.com/leirenyuan/… 6063.html | 显示异常信息,必须在 page 指令中设定< %@ page isErrorPage="true" %>才能使用,在一般的 JSP 页面中使用该对象将无法编译 JSP 文件 | |
Application | 服务器启动发送第一个请求时就产生了Application 对象,直到服务器关闭。 | 用于存储和访问来自任何页面的变量所有的用户分享一个 Application 对象 | |
Config | www.cnblogs.com/leirenyuan/…6063.html | 取得服务器的配置信息 |
作者:zhulin1028
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。