1.JSP内置对象分类

java中怎么修改page中的数据对象 java page对象_java中怎么修改page中的数据对象

 第一类:与Servlet有关的内置对象。包括page和config两个对象。

第二类:与Input/Output有关的内置对象。包括out、request和response三个对象。

第三类:与Context有关的内置对象。包括session、application和pageContext三个对象。

第四类:与Error有关的内置对象。仅包括exception这一个对象。

2.属性保存范围

JSP中提供了4种属性保存范围,分别为page、request、session及application。

2.1 page范围

所谓page范围,就是指设置的属性只在当前页面有效。通过使用pageContext的setAttribute()方法来设置属性,并通过pageContext的getAttribute()方法来取得属性。

2.2 request范围

所谓 request范围,就是指属性在一次请求范围内有效。如果页面从一个页面跳转到另一个页面,那么该属性就失效了。这里所指的跳转是指客户端跳转,比如客户单击超链接跳转到其他页面,或者通过浏览器地址栏浏览其他网页。如果使用服务器端跳转<jsp:forward>,则该属性仍然有效。通过使用request的setAttribute()方法来设置属性,并通过request的getAttribute()方法来取得属性。

2.3 session范围

所谓 session范围,也就是指客户浏览器与服务器一次会话范围内,如果和服务器断开连接,那么这个属性也就失效了。通过使用session的setAttribute()方法来设置属性,并通过session的getAttribute()方法来取得属性。

2.4 application范围

所谓application范围,也就是指在整个服务器范围,直到服务器停止以后才会失效。通过使用application的setAttribute()方法来设置属性,并通过application的getAttribute()方法来取得属性。

2.5 移除属性

只需调用相应对象的removeAttribute()方法就可以移除指定属性。

3 request对象

request对象不但可以用来设置和取得request范围变量,还可以用来获得客户端请求参数、请求的来源、表头、cookies等。

java中怎么修改page中的数据对象 java page对象_开发语言_02

 4 .response对象

java中怎么修改page中的数据对象 java page对象_开发语言_03

 实现页面自动刷新

可以通过response对象的addIntHeader()方法添加一个标题为Refresh的标头,并指定刷新间隔时间,从而实现页面自动刷新。

01  <%@ page language="java" contentType="text/html;charset=gb2312"%>
        02  <html>
        03  <head>
        04       <title>设置页面自动刷新</title>
        05  </head>
        06  <body>
        07       <%-- 使用response对象的setIntHeader实现页面自动刷新--%>
        08       <%
        09           response.addIntHeader("Refresh",10);
        10       %>
        11       <h4>该页面10秒后自动刷新</h4>
        12  </body>
        13  </html>

实现页面自动跳转

可以通过response对象的addHeader()方法添加一个标题为Refresh的标头,并指定页面跳转时间及跳转页面,从而实现页面自动跳转。

01  <%@ page language="java" contentType="text/html;charset=gb2312"%>
        02  <html>
        03  <head>
        04       <title>设置页面自动跳转</title>
        05  </head>
        06  <body>
        07       <%-- 使用response对象的setIntHeader实现页面自动刷新--%>
        08       <%
        09           response.setHeader("Refresh","10;URL=http://www.baidu.com");
        10       %>
        11       <h4>该页面10秒后自动跳转到百度首页</h4>
        12  </body>
        13  </html>

5 .out对象

java中怎么修改page中的数据对象 java page对象_java中怎么修改page中的数据对象_04

 5.1 使用out对象进行页面输出

通过out对象的print()方法和println()方法进行页面输出,不同的println()方法输出完成后,会在字符串后面添加换行标记。

01  <%@ page language="java" contentType="text/html;charset=gb2312"%>
        02  <html>
        03  <head>
        04       <title>使用out对象进行输出</title>
        05  </head>
        06  <body>
        07       <%-- 使用out对象进行输出--%>
        08       <%
        09           out. print("hello");    //不换行
        10           out.println("hello");  //换行
        11       %>
        12  </body>
        13  </html>

5.2 使用out对象

求得缓冲区使用大小通过out对象的getBufferSize ()方法可以获得缓冲区的大小,而通过getRemaining()方法可以获得缓冲区剩余大小。通过这两个值可以很容易地求得缓冲区使用大小。

01  <%@ page language="java" contentType="text/html;charset=gb2312"%>
        02  <html>
        03  <head>
        04       <title>使用out对象求使用缓冲区大小</title>
        05  </head>
        06  <body>
        07       <%
        08           int all = out.getBufferSize();           //获得缓冲区大小
        09           int remain = out.getRemaining();         //获得剩余缓冲区大小
        10           int use = all - remain;                  //通过相减得到使用缓冲区大小
        11           out.println("使用缓冲区大小:" + use);    //输出使用缓冲区大小
        12       %>
        13  </body>
        14  </html>

 6.session对象

session对象用来表示用户的会话状况,一般用于保存用户的各种信息,直到生命周期超时或者被认为释放掉为止。

java中怎么修改page中的数据对象 java page对象_java_05

 7.application对象

application对象用来取得和设置Servlet的相关信息。application对象的生命周期是从服务器启动产生直到服务器关闭为止。

java中怎么修改page中的数据对象 java page对象_java中怎么修改page中的数据对象_06

8.pageContext对象

java中怎么修改page中的数据对象 java page对象_java_07

01  <%@ page language="java" contentType="text/html;charset=gb2312"%>
        02  <html>
        03  <head>
        04       <title>通过pageContext对象取得不同范围的属性</title>
        05  </head>
        06  <body>
        07       <%
        08           pageContext.setAttribute("name","page_James");
                                                      //设置page范围name属性
        09           request.setAttribute("name","request_James");
                                                      //设置request范围name属性
        10           session.setAttribute("name","session_James");
                                                      //设置session范围name属性
        11           application.setAttribute("name","application_James");
                                                      //设置application范围name属性
        12       %>
        13       <%
        14           //获得page范围name属性
        15           String   pageStr   =   (String)pageContext.getAttribute("name",page
    Context.PAGE_SCOPE);
        16           //获得request范围name属性
        17           String   requestStr    =   (String)pageContext.getAttribute("name",
    pageContext.REQUEST_SCOPE);
        18           //获得session范围name属性
        19           String   sessionStr    =   (String)pageContext.getAttribute("name",
    pageContext.SESSION_SCOPE);
        20           //获得application范围name属性
        21           String applicationStr =
        22       (String)pageContext.getAttribute("name",pageContext.APPLICATION_
    SCOPE);
        23       %>
        24       <%="page范围:name属性值" + pageStr%><br>
        25       <%="request范围:name属性值" + requestStr%><br>
        26       <%="session范围:name属性值" + sessionStr%><br>
        27       <%="application范围:name属性值" + applicationStr%>
        28  </body>
        29  </html>

 9.page对象

page对象代表JSP转译后的Servlet,通过page对象可以非常方便地调用Servlet类中定义的方法。

01  <%@ page language="java" contentType="text/html;charset=gb2312"%>
        02  <%@ page info="this is the page Object Practice" %>
        03  <html>
        04  <head>
        05       <title>page对象</title>
        06  </head>
        07  <body>
        08       <%--通过page对象调用Servlet中的getServletInfo()方法 --%>
        09       <%
        10           String info = ((javax.servlet.jsp.HttpJspPage)page).getServletInfo
    ();
        11       %>
        12       <%=info %>
        13  </body>
        14  </html>

 10.config对象

config对象可以用来获得Servlet的配置信息.

java中怎么修改page中的数据对象 java page对象_servlet_08

11.exception对象

exception对象用来处理错误异常,如果要使用exception对象,必须指定page中的isErrorPage属性值为“true”。

01  <%@ page language="java" contentType="text/html;charset=gb2312" isErrorPage=
    "true"%>
        02  <%@page import="java.io.PrintStream"%>
        03  <html>
        04  <head>
        05       <title>处理错误异常</title>
        06  </head>
        07  <body>
        08       <%=exception%><br>
        09       <%=exception.getMessage()%><br>
        10       <%=exception.getLocalizedMessage()%><br>
        11       <%
        12           exception.printStackTrace(new java.io.PrintWriter(out));
        13       %>
        14  </body>
        15  </html>