1.JSP的概念
Java Server Pages: java服务器端页面
-可以理解为: 一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码
-用于简化书写
2.JSP 的原理
JSP本质上就是一个Servlet
步骤:
1. 服务器解析请求消息,找是否有index.jsp资源
2. 如果找到了,会将index.jsp转换为.java文件
3. 编译.java文件,生成.class字节码文件
4. 由字节码文件提供访问
3.JSP的脚本 ---> JSP定义Java代码的方式
①<% 代码 %>: 定义的Java代码,在Servlet方法中. service方法中可以定义什么,该脚本就可以定义什么.
②<%! 代码 %>: 定义的Java代码,在jsp转换后的java类的成员位置.
③<%= 代码 %>: 定义的Java代码,会输出到页面上.输出语句中可以定义什么,该脚本就可以定义什么.
4.JSP指令
作用: 用于配置JSP页面,导入文件资源文件
格式:
<%@ 指令名称 属性名1=属性值1 属性名2=属性值2 ... %>
分类:
①page : 配置JSP页面
*contentType: 等同于response.setContenType()
- 设置响应体的mime类型以及字符集
- 设置当前jsp页面的编码(只能是高级的IDE才能生效,如果使用低级工具,则需要设置pageEncoding属性设置当前页面的字符集)
* import : 导包
* errorPage : 当前页面发生异常后, 会自动跳转到指定的错误页面
* isErrorPage : 标识当前是否是错误页面
- true : 是, 可以使用内置对象exception
- false : 否, 默认值. 不可以使用内置镀锡exception
② include : 页面包含的. 导入页面的资源文件
<%@include file="文件"%>
③ taglib : 导入资源
<%@ taglib prefix="c" url="http://java.sum.com/jsp/jstl/core" %>
prefix : 前缀,自定义的
5. 注释
① HTML注释:
<!-- -->: 只能注释html代码片段
② jsp注释 : 推荐使用
<%-- --%>: 可以注释所有
6. JSP的内置对象
-在jsp页面中不需要获取和创建,可以直接使用的对象
-JSP一共有9个内置对象:
变量名 真实类型 作用
* pageContext PageContext 当前页面共享数据, 还可以获取其他八个内置对象
* request HttpServletRequest 一次请求访问的多个资源(转发)
* session HttpSession 一次会话的多个请求间
* application ServletContext 所有用户间共享数据
* response HttpServletResponse 响应对象
* page Object 当前页面(Servlet)对象 this
* out JspWriter 输出对象,数据输出到页面上
* config ServletConfig Servlet的配置对象
* exception Throwable 异常对象
out : 字符输出流对象. 可以将数据输出到页面上. 和response.getWriter()类似
response.getWriter()和out.write()的区别:
-在tomcat服务器真正给客户端做出响应之前,会先找response缓冲区数据,在找out缓冲区数据
-response.getWriter()数据输出永远在out.write()之前
酒枯推荐
本周推荐学习: web项目练习:书城项目
Spring5
推荐学习视频链接: https://www.bilibili.com/video/BV1Y7411K7zz?t=275&p=92 ----->书城项目
https://www.bilibili.com/video/BV1Bg4y1q7q2?from=search&seid=9092022652759383618 ----->Spring5