更新时间:2023-04-14 来源:黑马程序员 浏览量:
JSP(Java Server Pages)是一种用于动态生成 HTML 页面的 Java 技术,它支持四种不同的作用域,分别是:
1.Page Scope:页面作用域是指页面内的变量,它们在页面内有效,但在JSP(Java Server Pages)是一种用于动态生成 HTML 页面的 Java 技术,它支持四种不同的作用域,分别是其他页面中不可见。页面作用域变量可以通过 pageContext 对象进行访问。
2.Request Scope:请求作用域是指变量在请求中传递。在同一次请求中,变量在不同的页面间共享。请求作用域变量可以通过 request 对象进行访问。
3.Session Scope:会话作用域是指变量在用户会话期间保持一致。在同一用户的不同请求中,变量在不同的页面之间共享。会话作用域变量可以通过 session 对象进行访问。
4.Application Scope:应用程序作用域是指变量在整个应用程序生命周期内保持一致。在同一应用程序的不同请求中,变量在不同的页面之间共享。应用程序作用域变量可以通过 application 对象进行访问。
下面是一个简单的 JSP 页面,演示了如何在不同作用域中设置和获取变量:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>作用域演示</title> </head> <body> <%-- 在页面作用域中设置变量 --%> <% pageContext.setAttribute("pageVariable", "PageScope"); %> <%-- 在请求作用域中设置变量 --%> <% request.setAttribute("requestVariable", "RequestScope"); %> <%-- 在会话作用域中设置变量 --%> <% session.setAttribute("sessionVariable", "SessionScope"); %> <%-- 在应用程序作用域中设置变量 --%> <% application.setAttribute("applicationVariable", "ApplicationScope"); %> <%-- 输出各个作用域中的变量 --%> <h1>作用域演示</h1> <p>页面作用域中的变量:${pageContext.pageVariable}</p> <p>请求作用域中的变量:${request.requestVariable}</p> <p>会话作用域中的变量:${session.sessionVariable}</p> <p>应用程序作用域中的变量:${application.applicationVariable}</p> </body> </html>
在上面的例子中,我们分别使用pageContext、request、session 和application对象设置了不同作用域中的变量,并使用EL 表达式${}在页面中输出了这些变量的值。需要注意的是,EL表达式中的变量名要与 setAttribute()方法中设置的变量名一致。