一种服务器端的网页开发技术,它能够将 Java 代码嵌入到 HTML 页面中,让页面内容可以动态生成。JSP 是 Servlet 的一种特殊形式,它最终会被转换成一个 Servlet,所以它的工作原理和 Servlet 很相似。JSP 更多是关注展示层,而 Servlet 处理业务逻辑层。通常,开发者将业务逻辑放在 Servlet 中,将页面显示交给 JSP 处理。
常见动态页面:社交媒体平台(Facebook、twitter)、电商平台(淘宝、京东)等
基本结构
- HTML 标签:你可以在 JSP 页面中写 HTML 代码,它会像普通的网页一样显示。
- JSP 标签:JSP 页面中有一些特殊的标签,主要包括:
声明(<%! %>):用于定义类变量和方法。
表达式(<%= %>):用于输出 Java 变量或表达式的值到网页上。
脚本(<% %>):在其中编写 Java 代码,这部分代码会在服务器端执行。
<html>
<body>
<h1>Welcome to JSP!</h1>
<%
String name = "JSP";
out.println("Hello, " + name);
%>
</body>
</html>
JSP工作原理
- 用户请求:用户通过浏览器发送请求,访问一个 JSP 页面。
- 服务器处理:Web 服务器(如 Tomcat)收到请求后,检查请求的是一个 JSP 页面。第一次请求时,服务器将 JSP 页面转换为一个 Servlet(称为 JSP 转译)。
- 转换为 Servlet:JSP 页面中的 HTML 和 Java 代码会被服务器转换成一个普通的 Java Servlet。这个 Servlet 会包含一个 service() 方法来处理请求。
- 执行 Servlet:转译后的 Servlet 会执行其中的 Java 代码,生成最终的 HTML 响应内容。
- 响应结果:Servlet 将生成的 HTML 内容返回给用户的浏览器,浏览器显示最终页面。
生命周期
- 请求时加载:第一次请求时,JSP 页面被转译为 Servlet,并加载到内存中。
- 处理请求:每次有请求时,Servlet 会处理请求,执行 Java 代码,生成响应内容。
- 销毁:如果服务器关闭或不再需要该页面,JSP 会被销毁,Servlet 会释放资源。
内置对象(在页面中获取请求、响应、会话等信息)
request:代表客户端的请求,包含了请求的各种信息。
response:代表服务器响应,允许你控制返回给客户端的数据。
session:表示用户的会话,用于在不同页面之间保存用户信息。
out:用于向客户端输出数据。
application:用于获取或设置整个应用的上下文信息。
与 JavaBean 配合使用
JavaBean 是 Java 中用于封装数据的类。在 JSP 中,你可以使用 JavaBean 来保存数据,并通过 EL(表达式语言)来访问和显示这些数据。
EL(表达式语言)
JSP 中用来简化 Java 代码的一种语言,可以直接访问 JavaBean 的属性或其他对象的内容,而不需要编写 Java 代码。
JSP 标签库(JSTL)
标准的标签库,提供了丰富的功能来简化 JSP 页面的编写,比如迭代、条件判断等。
表单处理
用来处理 HTML 表单提交的数据。你可以通过 request.getParameter() 获取用户提交的表单数据,然后做相应的处理。
浙公网安备 33010602011771号