jsp的四大作用域

本文详细介绍了JSP中的application、session、request和page四大作用域,解释了它们的有效范围,并探讨了设置域对象、服务端和客户端跳转以及JSP的静态和动态包含的区别和特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

application:在所有应用程序中有效,即只要这个网站运行着,这个作用域就有效,这个指的程序的运行过程。(在整个应用程序中都有效)

session:在当前会话中有效,即从浏览器访问服务器开始,这个指的是用户的一个访问过程,即这次会话的开始到结束(在一次会话中有效,服务端客户端跳转都有效)

request:在当前请求中有效,负责多个servlet之间的信息共享,即将信息放入到request中,在整个请求阶段都是有效的,即用户访问的这个阶段都可以获取到这个数据(只在一次请求中有效,服务端跳转有效,客户端跳转无效)

page:在当前页面有效,即在一个jsp页面上是有效的。(只在当前页面中有效)

首先要声明一点,所谓"作用域"就是"信息共享的范围",也就是说一个信息能够在多大的范围内有效。

Web交互的最基本单位为HTTP请求。每个用户从进入网站到离开网站这段过程称为一个HTTP会话,一个服务器的运行过程中会有多个用户访问,就是多个HTTP会话。作用域解释如下。

application:服务器启动到停止这段时间。

session:HTTP会话开始到结束这段时间。

request:HTTP请求开始到结束这段时间。

page:当前页面从打开到关闭这段时间。

1.设置域对象

//设置page作用域





pageContext.setAttribute("name1","zhangsan");





//设置request作用域





request.setAttribute("name2","lisi");





//设置session作用域





session.setAttribute("name3","wangwu");





//设置application作用域





application.setAttribute("name4","zhaoliu");




2.获取域对象

<%





//获取page域对象





out.print(pageContext.getAttribute("name1")+"<br>");





//获取request域对象





out.print(request.getAttribute("name2")+"<br>");





//获取session域对象





out.print(session.getAttribute("name3")+"<br>");





//获取application域对象





out.print(application.getAttribute("name4")+"<br>");





%>

3.服务端跳转

<%--<jsp:forward page="xxxxxx.jsp"></jsp:forward>--%>

4.客户端跳转

<a href="xxxxx.jsp">跳转</a>

5.JSP中静态包含

静态包含include,

格式:<%@include file="包含的jsp页面路径"%>

特点:

1.将内容直接进行了替换

2.静态包含只会生成一个源码文件,最终的内容都会在_jspService方法中(源码文件中)

3.不能同名变量

4.运行效率高一点,耦合性高,不够灵活

5.JSP动态包含,相当于方法的调用,可以定义同名变量,效率高,耦合性低,可以加入参数,

动态包含的格式:

<jsp:include page="需要包含的jsp页面路径"></jsp:include>

加参数的动态包含的格式,name属性不支持表达式,value能支持表达式

<jsp:include page="需要包含的jsp页面路径">





<jsp:param name="uname" value="admin"/>





<jsp:param name="upwd" value="<%=str%>"/>





</jsp:include>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值