JSP四种范围是什么 有什么区别
2个回答
展开全部
使用 JSP 中的 request.getParameter(参数名):用于接收客户端的参数
request 对象:
JAVA:对象.方法、类.方法
JAVA 中的对象必须先实例化再用:分配内存空间
Web Container:Web 容器 —— 为对象实例化
E-Mail:mldnqa@163.com
request Æ HttpServletRequest 接口的实例化对象
观察得出:HttpServletRequest 有一个父类:ServletRequest
现在的 ServletRequest 只有 HttpServletRequest 一个子接口
目的:为以后新出的协议服务
E-Mail:mldnqa@163.com
E-Mail:mldnqa@163.com
☆ 最重要的概念:四种属性保存范围
public void setAttribute(String name,Object value)
属性名称为字符串
属性值可以为任意对象
public Object getAttribute(String name)
本两个方法的,参数及属性的类型必须记住
E-Mail:mldnqa@163.com
page 范围:
在 JSP 中设置一个页的属性范围,必须通过 pageContext 完成
<%
pageContext.setAttribute("name","MLDN") ;
pageContext.setAttribute("password","LXH") ;
%>
<%
// 在当前页可以取得
String name = (String)pageContext.getAttribute("name") ;
String password = (String)pageContext.getAttribute("password") ;
%>
<h1>name : <%=name%></h1>
<h1>password : <%=password%></h1>
pageContext 属性范围:是最为最重要的 JSP 属性之一,但是如果使用纯粹的 JSP 代码开发,则此属性显
现不出用处,Struts、WebWork
E-Mail:mldnqa@163.com
将属性保存在一次请求范围之内:
☆ 前提:必须使用服务器端跳转<jsp:forward/>
应用点:MVC 设计模式、Struts、Webwork
E-Mail:mldnqa@163.com
只要设置上去,则不管是什么跳转,都可以取得属性
EMAIL Æ 用户需要先进行登陆,登陆成功之后,再编辑邮件
与 session 有关的任何打开的页面都可以取得 session
session 的主要功能:用于验证用户是否登陆
E-Mail:mldnqa@163.com
application 属性范围值,只要设置一次,则所有的网页窗口都可以取得数据
application、session、request Æ 都需要跨多个页
属性保存是有内存开销的
设置过多的 application
或每一个 session 保存过多的对象
则性能会降低
如果能使用 request 就不要使用 session,能使用 session 的就不要使用 application
application 应用:在线人员统计、在线人员名单列表
如果要释放 application 资源,只能重新启动服务器
☆ 强调一个重要概念:
pageContext Æ 默认情况下表示一个页面的保存范围
E-Mail:mldnqa@163.com
public abstract void setAttribute(String name,
Object value,
int scope)
实际上,四种属性范围,都是通过 pageContext 对象完成的
public static final int APPLICATION_SCOPE
public static final int SESSION_SCOPE
public static final int REQUEST_SCOPE
public static final int PAGE_SCOPE
总结:
四种属性范围都是依靠 pageContext 展开的,但是在开发中,往往使用 session、request 范围最多
四种范围:是整个 J2EE WEB 端开发必须深刻记住的概念
包括设置属性和取得属性的参数类型、返回值类型
request 对象:
JAVA:对象.方法、类.方法
JAVA 中的对象必须先实例化再用:分配内存空间
Web Container:Web 容器 —— 为对象实例化
E-Mail:mldnqa@163.com
request Æ HttpServletRequest 接口的实例化对象
观察得出:HttpServletRequest 有一个父类:ServletRequest
现在的 ServletRequest 只有 HttpServletRequest 一个子接口
目的:为以后新出的协议服务
E-Mail:mldnqa@163.com
E-Mail:mldnqa@163.com
☆ 最重要的概念:四种属性保存范围
public void setAttribute(String name,Object value)
属性名称为字符串
属性值可以为任意对象
public Object getAttribute(String name)
本两个方法的,参数及属性的类型必须记住
E-Mail:mldnqa@163.com
page 范围:
在 JSP 中设置一个页的属性范围,必须通过 pageContext 完成
<%
pageContext.setAttribute("name","MLDN") ;
pageContext.setAttribute("password","LXH") ;
%>
<%
// 在当前页可以取得
String name = (String)pageContext.getAttribute("name") ;
String password = (String)pageContext.getAttribute("password") ;
%>
<h1>name : <%=name%></h1>
<h1>password : <%=password%></h1>
pageContext 属性范围:是最为最重要的 JSP 属性之一,但是如果使用纯粹的 JSP 代码开发,则此属性显
现不出用处,Struts、WebWork
E-Mail:mldnqa@163.com
将属性保存在一次请求范围之内:
☆ 前提:必须使用服务器端跳转<jsp:forward/>
应用点:MVC 设计模式、Struts、Webwork
E-Mail:mldnqa@163.com
只要设置上去,则不管是什么跳转,都可以取得属性
EMAIL Æ 用户需要先进行登陆,登陆成功之后,再编辑邮件
与 session 有关的任何打开的页面都可以取得 session
session 的主要功能:用于验证用户是否登陆
E-Mail:mldnqa@163.com
application 属性范围值,只要设置一次,则所有的网页窗口都可以取得数据
application、session、request Æ 都需要跨多个页
属性保存是有内存开销的
设置过多的 application
或每一个 session 保存过多的对象
则性能会降低
如果能使用 request 就不要使用 session,能使用 session 的就不要使用 application
application 应用:在线人员统计、在线人员名单列表
如果要释放 application 资源,只能重新启动服务器
☆ 强调一个重要概念:
pageContext Æ 默认情况下表示一个页面的保存范围
E-Mail:mldnqa@163.com
public abstract void setAttribute(String name,
Object value,
int scope)
实际上,四种属性范围,都是通过 pageContext 对象完成的
public static final int APPLICATION_SCOPE
public static final int SESSION_SCOPE
public static final int REQUEST_SCOPE
public static final int PAGE_SCOPE
总结:
四种属性范围都是依靠 pageContext 展开的,但是在开发中,往往使用 session、request 范围最多
四种范围:是整个 J2EE WEB 端开发必须深刻记住的概念
包括设置属性和取得属性的参数类型、返回值类型
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询