1.3 jsp的九大内置对象

★  什么叫内置对象

     所谓内置对象,就是在jsp中不需要声明,也不需要实例化直接就可以拿来用

 

★  九大内置对象概览

 

jsp九大内置对象
内置对象类型作用域
requestjavax.servlet.http.HttpServletRequestrequest
responsejavax.servlet.http.HttpServletResponsepage
pageContentjavax.servlet.jsp.PageContentpage
sessionjavax.servlet.http.HttpSessionsession
applicationjavax.servlet.ServletContentapplication
outjavax.servlet.jsp.JspWriterpage
configjavax.servlet.ServletConfigpage
pagejava.lang.Objectpage
exceptionjava.lang.Throwablepage

 

★  内置对象的分类

     ●  与servlet有关的内置对象

         ◇  page

         ◇  config

     ●  与input/output相关的内置对象

         ◇  out

         ◇  request

         ◇  response

     ●  jsp执行时提供的与Context相关的内置对象

         ◇  session

         ◇  application

         ◇  pageContext

     ●  与Error相关的对象

         ◇  exception

 

★  jsp属性的保护范围

     ●  jsp中属性的设置与取得方法

         ◇  设置属性

              public  void setAttribute(String name, Object value)

         ◇  获取属性

              public Object getAttribute(String name)

     ●  jsp中提供了四种属性的保护范围

         ◇  page :在一个页面范围内

                   在jsp中一个页面的属性范围是由pageContext来完成,只能在当前页面范围有效,若转发给别的页面则无效示例如下:

             

<%@page contentType="text/html;charset=gb2312"%>
<%
    pageContext.setAttribute("name","方小开");
    pageContext.setAttribute("password","123"); 
%>
<hr>
<%
    String name= (String)pageContext.getAttribute("name");
    String password = (String)pageContext.getAttribute("password");
%>
<h1><%=name%></h1><br>
<h1><%=password%></h1>

 

         ◇  request :在一个服务器请求范围内

                  由request内置对象设置的属性可以转发给其它页面

                  前提:  在服务器内跳转,且必须使用<jsp:forward>,若用超链接的形式则取不到值

 

<!-- request.jsp -->
<%@page contentType="text/html;charset=gb2312"%>
<%
    request.setAttribute("name","方小开");
    request.setAttribute("password","123"); 
%>
<jsp:forward page="forward.jsp"/>

 

<!-- forward.jsp -->
<%@page contentType="text/html;charset=gb2312"%>
<%
    String name= (String)request.getAttribute("name");
    String password = (String)request.getAttribute("password");
%>
<h1><%=name%></h1><br>
<h1><%=password%></h1>

                 

         ◇  session :在一次会话范围内

                 session主要是针对同一个用户而言,不管采用那种跳转方式,只要是同一个用户(说专业一点,就是同一个sessionid),都可以取到属性值

<!-- session.jsp -->
<%@page contentType="text/html;charset=gb2312"%>
<%
    session.setAttribute("name","方小开");
    session.setAttribute("password","123"); 
%>
<jsp:forward page="forward1.jsp"/><br>

 

<!-- forward1.jsp -->
<%@page contentType="text/html;charset=gb2312"%>
<%
    String name= (String)session.getAttribute("name");
    String password = (String)session.getAttribute("password");
%>
<h1><%=name%></h1><br>
<h1><%=password%></h1>
<a href="testSession2.jsp">forward2.jsp</a>

 

<!-- forward2.jsp -->
<%@page contentType="text/html;charset=gb2312"%>
<%
    String name= (String)session.getAttribute("name");
    String password = (String)session.getAttribute("password");
%>
<h1><%=name%></h1><br>
<h1><%=password%></h1>

 

         ◇  application :在一个服务器应用范围内

                  application对象设置的属性在整个服务器范围内有效,这个比session范围更广,session只是在同一sessionid内有效,当把地址复制到新建窗口(不是通过[文件]→[新窗口]新开的窗口)时,session属性失效; 而appliacation对象设置的属性对所有用户都有效,因为application设置的属性保存在服务器端,向所有用户共享信息.,当服务器关闭,则会释放所有资源, 关闭服务器前的所有属性失效.(代码参照上面的代码, 自我变通)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值