jsp
jsp
JSP是简化Servlet编写的一种技术,它将Java代码和HTML语句混合在同一个文件中编写,页面动态资源使用java代码,页面静态资源使用html标签。
jsp生命周期
JSP生命周期就是从创建到销毁的整个过程,类似于servlet生命周期,区别在于JSP生命周期还包括将JSP文件编译成servlet。
以下是JSP生命周期中所走过的几个阶段:
编译阶段:
servlet容器编译servlet源文件,生成servlet类
初始化阶段:
加载与JSP对应的servlet类,创建其实例,并调用它的初始化方法
执行阶段:
调用与JSP对应的servlet实例的服务方法
销毁阶段:
调用与JSP对应的servlet实例的销毁方法,然后销毁servlet实例
很明显,JSP生命周期的四个主要阶段和servlet生命周期非常相似,下面给出图示:

声明
声明就是将java代码嵌在html代码中
| 语法 | 名称 | 作用说明 |
|---|---|---|
<%! ... %> |
声明(Declaration) | 用于定义变量或方法,这些变量和方法属于整个 JSP 页面类。 |
<% ... %> |
脚本(Scriptlet) | 用于编写Java 执行语句,比如赋值、循环、条件判断等。(每次访问都会执行) |
<%= ... %> |
表达式(Expression) | 用于输出变量或表达式的值到网页上。 |
1 | |
指令
1 | |
| 指令 | 作用 |
|---|---|
<%@ page %> |
配置当前页面的属性,如编码、导入类、错误页面等 |
<%@ include %> |
在编译时静态包含其他文件(如头部、尾部) |
<%@ taglib %> |
引入自定义标签库或 JSTL 标签库 |
<%@ page %>指令
| 属性 | 说明 | 示例 |
|---|---|---|
contentType |
设置响应的内容类型和字符编码 | contentType="text/html; charset=UTF-8" |
pageEncoding |
设置 JSP 文件本身的编码 | pageEncoding="UTF-8" |
import |
导入 Java 类或包 | import="java.util.*, java.sql.*" |
errorPage |
指定错误页面(发生异常时跳转) | errorPage="error.jsp" |
isErrorPage |
声明当前页面是错误处理页 | isErrorPage="true" |
session |
是否使用 session | session="true" 或 "false" |
<%@ include %>指令
1 | |
<%@ taglib %>指令
1 | |
jsp隐含对象
| 对象 | 描述 |
|---|---|
| request | HttpServletRequest类的实例 |
| response | HttpServletResponse类的实例 |
| out | PrintWriter类的实例,用于把结果输出至网页上 |
| session | HttpSession类的实例 |
| application | ServletContext类的实例,与应用上下文有关 |
| config | ServletConfig类的实例 |
| pageContext | PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问 |
| page | 类似于Java类中的this关键字 |
| exception | exception 类的对象,代表发生错误的 JSP 页面中对应的异常对象 |