JSP
- List item
一、概念
JSP全称为Java Server Pages,它指的就是java服务器端页面
我们可以理解为它就是一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码,用于简化我们的书写
二、原理
画图说明

JSP本质上就是一个Servlet
三、JSP指令
用于配置JSP页面,导入资源文件
格式:<%@ 指令名称 属性名1="属性值1 属性名2="属性值2 %>
例如<%@ page contentType="text/html;charset=UTF-8" language="java" %>
分类
- page:配置JSP页面的
- include:页面包含的。导入页面的资源文件
- taglib:导入资源
1、page指令
(1)contentType:等同于response.setContentType():
① 用于设置响应体的mime类型以及字符集;
② 高级开发工具例如idea还可以自动设置当前jsp页面的编码
(2)language:设置编写的脚本语言
(3)buffer:设置缓冲区的大小的属性
(4)import:导包属性
(5)errorPage:当前页面发生异常后,会自动跳转到指定的错误页面
(6)isErrorPage:标识当前页面是否是错误页面
① 如果值为true:那么标识为错误页面,就可以使用内置对象exception
② 如果值false:不能够使用内置对象exception
2、include指令
top.jsp代码内容

index.jsp代码内容

显示效果为

3、taglib
用于导入资源这里不过多解释,后面解释
四、注释
1、html注释:
<!-- -->只能注释html代码片段
2、jsp注释
<%-- --%>可以所有
注意:
如果使用jsp注释的话响应体当中不会显示注释的内容,如果使用html注释的话响应体当中会有注释的显示
举例代码如下

响应体中的效果为

五、JSP的脚本
JSP定义Java代码的方式
1、<% 代码 %>
定义的Java代码,在service方法中。sevice方法中可以定义什么,该脚本就能定义什么
2、<%! 代码 %>
定义的是Java代码,在jsp转换后的java类中的成员变量的位置
3、<%= 代码 %>
定义的java代码,会输出到页面上。输出语句中能定义什么该脚本中就能定义什么
六、JSP内置对象
在jsp页面中不需要创建和获取就能直接拿来使用的对象就是内置对象
jsp一共有9个内置对象
| jsp内置对象变量名 | Servlet中的真实类型 | 作用 |
|---|---|---|
| pageContext | PageContext | 用于当前页面共享数据,还可以来获取其他八个内置对象 |
| request | HttpServletRequest | 用于一次请求访问多个资源(通过转发实现) |
| session | HttpSession | 用于一次会话的多个请求间共享数据 |
| application | ServletContext | 多个用户间来共享数据 |
| response | HttpServletResponse | 它就是响应对象 |
| page | Object | 它就是当前页面(当前serclet)的对象 |
| out | JspWriter | 它就是一个输出对象,将数据输出到页面上 |
| config | ServletConfig | sercvlet的配置对象 |
| exception | Throwable | 异常对象 |
黄色标红重点注意作用域
1、request
2、response
3、out
可以将数据输出到页面上,是一个字符输出流对象,他和我们的response.getWriter()类似
response.getWriter()方法和out.write()方法到的区别
在tomcat服务器真正给客户端做出响应之前,会先找response缓冲区再找out缓冲区数据。所以response.getWrite()数据永远在out.write()之前

显示效果为

4、pageContext
用于当前页面共享数据
举例示范

显示到页面的结果就是


浙公网安备 33010602011771号