JSP01

简介

  • 本文是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.分类

  1. 与输入/输出有关的对象: request、response、out
  2. 与属性作用域有关的对象:session、application、pageContext
  3. 与 Servlet 相关对象:page、config
  4. 与错误处理有关的: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 类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

香鱼嫩虾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值