什么是JSP?
JSP(Java Server Pages):Java的服务器页面
JSP的主要作用是代替Servlet程序回传html页面的数据
因为Servlet程序回传html页面数据是一件非常繁琐的事情,开发成本和维护成本都极高
jsp如何访问
jsp页面和html页面一样,都是存放在web目录下,和访问html页面一样
jsp的本质
jsp的本质是一个Servlet程序
当我们第一次访问jsp页面的时候,tomcat服务器会帮我们把jsp页面翻译成为一个Java源文件,并且对它进行编译生成 .class 字节码文件。打开Java源文件发现里面的内容为:
跟踪源代码发现,HttpJspBase类直接地继承了HttpServlet类 。也就是说,jsp翻译出来的Java类间接地继承了HttpServlet类。也就是说,jsp翻译出来的就是一个Servlet程序
观察jsp翻译出来的Servlet程序源代码,可以发现,其底层实现,也是通过输出流,把html页面数据回传给客户端
jsp头部的page指令
jap的page指令可以修改jsp页面中一些重要的属性,或者行为
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
常用属性
language 表示jsp翻译后是什么语言文件,暂时只支持Java
contentType 表示jsp返回的数据类型是什么,也是源码中 response.setContentType()参数值
pageEncoding 表示当前jsp页面本身的字符集
import 跟Java源代码中的一样,用于导包、导类
errorPage 设置当jsp页面运行出错时,自动跳转去的错误页面路径
session 设置当前访问jsp页面,是否会创建HttpSession对象,默认是true
extends 设置jsp翻译出来的Java类默认继承谁
下面两个属性是给out输出流使用
autoFlush 设置当out输出流缓冲区满了之后,是否自动刷新缓冲区,默认值是true
buffer 设置out缓冲区的大小,默认是8kb