JSP
概念
Java Server Pages:Java服务器端页面
可以理解为:一个特殊的页面,其中既可以定义HTML标签,又可以定义Java代码。
用于简化书写!!!
原理
- JSP本质上就是一个Servlet
JSP的脚本
JSP定义Java代码的方式。
- <% 代码 % >:定义的Java代码,在service方法中可以定义什么,该脚本中就可以定义什么
- <%! 代码 % >:定义的Java代码,在jsp转换后的Java类的成员位置。
- <%= 代码 % >:定义的Java代码,会输出到页面上。输出语句中可以定义什么,该脚本就可以定义什么。
JSP的内置对象
在jsp页面中不需要获取和创建,可以直接使用的对象。
在jsp中一共有9个内置对象:
request
response
out:字符输出流对象。可以将数据输出到页面上。和response.getWrite()类似
- response.getWriter()和out.write()的区别:
- 在tomcat服务器真正给客户端做出响应之前,会先找到response缓冲区数据,在找out缓冲区数据
- response.getWriter()数据输出永远在out.write()之前
- response.getWriter()和out.write()的区别:
指令
作用:用于配置JSP页面,导入资源文件
格式:
<%@指令名称 属性名1=属性值1 属性名2=属性值2.....%>
分类:
page :配置JSP页面的
- contentType:等同于response.setContentType()
- 设置响应体的mime类型以及字符串
- 设置当前jsp页面的编码
- import:导包
- errorPage:当前页面发生异常后,会自动跳转到指定的错误页面
- isErrorPage:表示当前页是否是错误页面
- true:是,可以使用内置对象exception
- false:否,不可以使用exception对象
- contentType:等同于response.setContentType()
include:页面包含的。导入页面的资源文件
<%@include file = "top.jsp"%>
taglib:导入资源
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
- prefix:前缀,自定义的
内置对象
在jsp页面中不需要创建,直接使用的对象
变量名 | 真实类型 | 作用 |
---|---|---|
pageContext | PageContext | 当前页面共享数据 |
request | HttpServletRequest | 一次请求访问的多个资源(转发) |
session | HttpSession | 一次会话的多个请求间 |
application | ServletContext | 多个用户间共享数据 |
response | HttpServletResponse | 响应对象 |
page | Object | 当前页面(Servlet)的对象 |
out | Writer | 输出对象,数据输出到页面上 |
config | ServletConfig | Servlet的配置对象 |
exception | Throwable | 异常对象 |