文章目录
- 简介
- JSP 的本质也是一个 Java 类,不过是服务器进行翻译编译;遵守 Servlet 规范,所以也可以说 JSP
- JSP 的执行流程经过 翻译-编译-实例化-提供服务 几个步骤;
- JSP 文件包括 HTML 及 Java 代码,根据不同的需要,可以使用页面元素、表达式元素、注释元
- 服务器总是把 JSP 文件按照一定的规范进行翻译,除了声明元素外,所有 JSP 中的内容都翻译到
- JSP 主要用来生成动态页面,Servlet 用来接收请求并处理请求,根据结果跳转到不同的 JSP 显示
- 有两种跳转方法:响应重定向、请求转发;
- 请求属性可以用来在组件之间共享对象;
- 动态网页的执行原理
- (一)什么是 jsp
- JSP 的执行过程是:翻译-编译-实例化-提供服务
- (一)什么是脚本元素
- (一)什么是表达式元素
- (一)什么是模板元素
- 七、注释元素
- 八、声明元素
- JSP 的 9 大内置对象
- 4 个作用域范围
- 1.JSP 的作用
- Servlet 的作用
- Servlet 和 JSP 之间跳转有几种方式,有何区别?
- 什么是请求属性?和请求参数有啥区别?
简介
- 本文是2021/06/03整理的笔记
- 赘述可能有点多,还请各位朋友耐心阅读
- 本人的内容和答案不一定是最好最正确的,欢迎各位朋友评论区指正改进
JSP 的本质也是一个 Java 类,不过是服务器进行翻译编译;遵守 Servlet 规范,所以也可以说 JSP
的本质就是 Servlet;
JSP 的执行流程经过 翻译-编译-实例化-提供服务 几个步骤;
JSP 文件包括 HTML 及 Java 代码,根据不同的需要,可以使用页面元素、表达式元素、注释元
素、声明元素;
服务器总是把 JSP 文件按照一定的规范进行翻译,除了声明元素外,所有 JSP 中的内容都翻译到
_jspService 方法体中,该方法总是定义一系列的对象,称为内置对象,可以在编写 JSP 时直接使
用,比如 request/response/out 等
JSP 主要用来生成动态页面,Servlet 用来接收请求并处理请求,根据结果跳转到不同的 JSP 显示
结果;
有两种跳转方法:响应重定向、请求转发;
请求属性可以用来在组件之间共享对象;
动态网页的执行原理
1.容器初始化 Servlet 实例,根据请求方法,调用相应的 doXXX 方法,并初始化请求和响应对
象,作为 doXXX 方法的参数使用;
2.执行 doXXX 方法后,将响应对象中的数据流写到客户端;
3.客户端浏览器将收到的数据进行解析,显示给用户;
(一)什么是 jsp
JSP(Java Server Pages)java 服务器端页面,是 JavaEE 规范中的 Web 组件,用来编写动态页面. (二)jsp 的特点
1.JSP 运行在服务器端,本质是 Servlet
2.JSP 文件以.jsp 为后缀,在工程目录中存在 src\main\webapp 目录下
3.JSP 文件可以直接在浏览器中访问
4.JSP 文件中的内容就是 HTML+Java 代码,静态部分使用 HTML 和文本即可,动态部分使用 Java
代码
JSP 的执行过程是:翻译-编译-实例化-提供服务
(一)什么是脚本元素
脚本元素可以用来包含任意 Java 代码
(二)语法格式
<%Java 代码%>
(三)特点
服务器翻译脚本元素时,将把其中 Java 代码直接翻译到_jspService 方法中,如果语法错误,将
在浏览器中提示错误
(一)什么是表达式元素
表达式元素用来向页面输出动态内容
(二)语法格式
<%=Java 代码%>
(三)特点
服务器翻译表达式元素时,将把其中 Java 代码部分的返回值使用 out.print 语句输出
(一)什么是模板元素
模板元素指 JSP 中静态 HTML 或者 XML 内容
七、注释元素
在 JSP 中可以使用注释元素,有三种情况
1.JSP <%–JSP 注释–%> 源代码可见 翻译忽略
2.HTML
源代码 翻译 网页源代码有 页面不显示
3.java // // / */
八、声明元素
(一)什么是声明元素
在 JSP 文件中定义类的成员变量或方法的元素叫做声明元素
(二)语法
<%!声明语句%>
(三)特点
声明元素被翻译到 Java 类中,而不是_jspService 方法中
JSP 的 9 大内置对象
request
response
session
application
out
page
config
exception
pageContext
4 个作用域范围
page
request
session
application
1.分类
- 与输入/输出有关的对象: request、response、out
- 与属性作用域有关的对象:session、application、pageContext
- 与 Servlet 相关对象:page、config
- 与错误处理有关的:exception
2.4 大作用域
作用域范围从小到大顺序
page---->request---->session---->application
page 当前页面有效(页面跳转后无效)
request 同一次请求有效(请求转发后有效,重定向后无效)
session 同一次对话有效(同一个浏览器在退出关闭之前都有效)
application 全局有效(整个项目)
1.JSP 的作用
Servlet 和 JSP 都可以生成动态页面;然而,显然 JSP 更适合生成动态页面,因为其中的静态部分可
以直接使用 HTML 即可.
Servlet 的作用
1.接收来自 JSP 的请求,
2.处理请求,
3.然后转到 JSP 页面把结果显示给客户端看
Servlet 和 JSP 之间跳转有几种方式,有何区别?
1.响应重定向
1.发 2 次请求
2.服务器端在响应第一次请求的时候,让浏览器再向另外一个 URL 发出请求,从而达到转发的目的
3.地址栏发生变化
2.请求转发
1.1 次请求
2.服务器内部转发
3.地址栏不发生变化
什么是请求属性?和请求参数有啥区别?
请求属性可以是任意类型的对象,可以用 setAttribute 方法将对象作为属性存储到请求对象中
请求参数是用户提交请求时,自动封装到请求对象中的一些输入信息,都是 String 类型