JSP:入门学习
1. 概念
- Java Server Pages: java服务器端页面
- 可以理解为:一个特殊的页面,其中既可以指定定义 html 标签,又可以定义 java 代码
- 用于简化书写
2. 原理
- JSP 本质就是一个Servlet
3. JSP 的脚本:JSP定义Java代码的方式
<% 代码 %>: 定义的java代码,在service方法中。service方法中可以定义什么,该脚本中就可以定义什么。
<%! 代码 %>:定义的java代码,在jsp转换后的java类的成员位置。
<%= 代码 %>:定义的Java代码,会输出到页面上。输出语句中可以定义什么,该脚本就可以定义什么。
4. JSP 的内置对象
- 在jsp 页面中不需要获取和创建,可以直接使用的对象
- jsp 一共有9个内置对象
- 先学习3个
- request
- response
- out: 字符流输出对象。可以将数据输出到页面上。和response.getWriter() 类似
- response.getWritet() 和 out.write() 的区别:
- 在tomcat服务器真正给客户端做出响应之前,会先找response缓冲区数据,再找out缓冲区数据。
- response.getWriter() 数据输出永远在out.write() 之前
- response.getWritet() 和 out.write() 的区别:
JSP
1. 指令
- 作用:用于配置JSP页面,导入资源文件
- 格式:
- <%@ 指令名称 属性名1=属性值1 属性名2 = 属性值2 . . .%>
- 分类
- page : 配置JSP页面的
- contentType: 等同于response.setContentType()
- 设置响应体的mime类型以及字符型
- 设置当前 jsp 页面的编码 (只能是高级的IDE才生效,如果使用低级工具,则需要设置pageEncoding属性设置当前页面的字符集)
- import: 导包
- errorPage: 当前页面发生异常后,会自动跳转到指定的错误页面
- isErrorPage: 表示当前页面是否是错误页面
- true: 是,可以使用内置对象exception
- false: 否,默认值。不可以使用内置对象exception
- contentType: 等同于response.setContentType()
- include : 页面包含的。导入页面的资源文件
- <%@include file=”top.jsp”%>
- taglib : 导入资源
- page : 配置JSP页面的
2. 注释
- html 注释:
- <! — —>: 只能注释html 代码片段
- jsp 注释:推荐使用
- <%— —%> : 可以注释所有
3. 内置对象
- 在jsp 页面中不需要创建,直接使用的对象
- 一共有9个:变量名 和 真实类型 和 作用
- pageContext PageContext 当前页面共享数据,还可以获取其他八个内置对象
- request HttpServletRequest 一次请求访问多个资源(转发)
- session HttpSession 一次会话的多个请求见
- application ServletContext 所有用户间共享数据
- response HttpServletResponse 响应对象
- page Object 当前页面(Servlet)的对象 this
- out JspWriter 输出对象,数据输出到页面上
- config ServletConfig Servlet 的配置对象
- exception Throwable 异常对象