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生命周期非常相似,下面给出图示:

image-20251204193046362

声明

声明就是将java代码嵌在html代码中

语法 名称 作用说明
<%! ... %> 声明(Declaration) 用于定义变量或方法,这些变量和方法属于整个 JSP 页面类。
<% ... %> 脚本(Scriptlet) 用于编写Java 执行语句,比如赋值、循环、条件判断等。(每次访问都会执行)
<%= ... %> 表达式(Expression) 用于输出变量或表达式的值到网页上。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<body>
<h1><%= "Hello World!" %>
</h1>
<br/>
<%!
String name="hacker";
int count = 0;

String getGreeting(String name) {
return "Hello, " + name;
}
%>
<%
count++;
%>
<h1><%= getGreeting(name) %></h1>
<p>你是第 <%= count %> 位访客。</p>
</body>

指令

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
<%@ include file="被包含的文件路径" %>

<%@ taglib %>指令

1
<%@ taglib uri="标签库的URI" prefix="前缀" %>

jsp隐含对象

对象 描述
request HttpServletRequest类的实例
response HttpServletResponse类的实例
out PrintWriter类的实例,用于把结果输出至网页上
session HttpSession类的实例
application ServletContext类的实例,与应用上下文有关
config ServletConfig类的实例
pageContext PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问
page 类似于Java类中的this关键字
exception exception 类的对象,代表发生错误的 JSP 页面中对应的异常对象

jsp
http://xiaowu5.cn/2025/12/04/jsp/
作者
5
发布于
2025年12月4日
许可协议
BY XIAOWU