16-JSP基础
JSP
概念
Java Server Pages:Java服务器端页面,在该页面中既可以定义Java代码,也可以定义html标签,主要用于简化书写
1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> |
原理
JSP本质上还是Java中的Servlet,因为只有Servlet能够提供文件访问
JSP脚本
JSP中共有三种定义Java代码的方法,每种定义方法均有不同作用,经过编译并形成最终的.class文件时自动生成的位置也不相同
1 | //定义的Java代码,在service方法中生成 |
JSP内置对象
在JSP页面中,不需要获取和创建就可以直接使用的对象。JSP中共有9个内置对象(request,response,out…)
其中的out对象本质是字符输出流对象,其作用类似于response.getWriter()主要用于将字符输出到页面
out.write()和response.getWriter().write()的作用还是存在细微差距,由于二者缓冲区不一致,在Tomcat服务器中,始终会首先访问response的缓冲区再访问out缓冲区,所以导致response的输出始终先于out输出,无论二者在代码中的位置,所以一般情况下,都会统一采用一种输出方式
JSP指令
作用
用于配置JSP页面,导入资源文件
格式
1 | <%@ 指令名 属性名1=属性值1 属性名2=属性值2 ... %> |
分类
- page:配置JSP页面
- include:页面包含的,导入页面的资源文件
- taglib:导入资源
page指令常用属性
- contentType:作用等同于response.setContentType(),作用为设置响应体的MIME类型和字符集以及设置当前JSP页面编码
- import:用于导入相应包
- errorPage:表示当前页面发生异常后,会自动跳转到指定的页面
- isErrorPage:用于标识当前页面是否为异常跳转页面,如果是,则该页面可以通过内置对象exception获取跳转来的页面的报错信息
可能发生报错的页面
1 | <%@ page contentType="text/html;charset=UTF-8" errorPage="JspDemo2.jsp" language="java" %> |
响应报错的页面
1 | <%@ page contentType="text/html;charset=UTF-8" isErrorPage="true" language="java" %> |
JSP注释方法
- HTML注释: 只能注释HTML内容
- JSP注释:<%– –%> Java代码与HTML标签都可以注释
JSP中的9个内置对象
变量名 | 真实类型 | 主要作用 |
---|---|---|
pageContext | PageContext | 当前页面内共享数据,还可以获取其他八个内置对象 |
request | HttpServletRequest | 一次请求访问多个资源 |
response | HttpServletResponse | 响应对象 |
session | HttpSession | 一次会话的多个请求间 |
application | ServletContext | 所有用户间共享数据 |
page | Object | 当前页面(Servlet)的对象,this |
out | JspWriter | 输出对象,将内容输出到页面上 |
config | ServletConfig | Servlet配置对象 |
exception | Throwable | 异常对象 |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment