第四章 内置对象笔记(1)

2019-03-11 09:37

什么是JSP内置对象?

JSP 内置对象是 Web 容器创建的一组对象

JSP 内置对象是可以直接在JSP页面使用的对象 ,无需使用“new”获取实例 JSP 内置对象的名称是 JSP 的保留字 示例

<%request.setCharacterEncoding(\

String titleName = request.getParameter(\没有出现new关键字,但却可以使用request对象

JSP内置对象概览

常用的内置对象: No. 1 2 3 4 5 6 7 8 9 内置对象 类型 描述 JSP的页面容器 得到用户的请求信息 服务器向客户端的回应信息 保存每个用户的信息 表示所有用户的共享信息 服务器配置,可以取得初始化参数 页面输出 表示从该页面表示出来的一个servlet实例 表示从JSP页面发生的异常,在错误也中才起作用 pageContext javax.servlet.jsp.PageContext request response session application config out page exception javax.servlet.http.HttpServletRequest javax.servlet.http.HttpServletResponse javax.servlet.http.HttpSession javax.servletServletContext javax.servlet.ServletConfig javax.servlet.jspJspWriter java.lang.Object java.lang.Throwable

JSP中4种属性保存范围(补充)

属性范围:指的是一个设置的对象可以在多少个页面中保存并继续使用。

? page:只在一个页面中保存属性,跳转之后无效。

? request:只在一次请求中保存,服务器跳转后依然有效。 ? session:在一次会话范围中,无论何种跳转都可以使用,但是新开浏览器无法使用。 ? application:在整个服务器上保存,所有用户都可以使用。 四种属性范围中都将包含以下的属性操作方法。 No. 1 2 3 方法 描述 设置属性 取得属性 删除属性 public void setAttribute(String name,Object value) public Object getAttribute(String name) public void removeAttribute(String name) 补充1. page属性范围: Page属性范围(使用pageContext表示,但是一般都习惯于将这种范围称为page范围)表示将一个属性设置在本页,跳转之后无法取得,如图:

例子:设置和取得page范围的属性--- page_scope_01.jsp

<%@ page contentType=\ pageEncoding=\%> <%@ page import=\%> <% // 设置属性 %> <% %>

姓名:<%=username%>

生日:<%=userbirthday%>

String username = (String) pageContext.getAttribute(\) ; Date userbirthday = (Date)pageContext.getAttribute(\) ; pageContext.setAttribute(\,\李兴华\) ; pageContext.setAttribute(\,new Date()) ; 在一个页面设置一个属性,然后直接从本页面中取出属性,返回的类型是Object,所以必须进行向下转型操作。

例子:跳转后属性无法取得。page_scope_02.jsp

<%@ page contentType=\ pageEncoding=\%> <%@ page import=\%> www.mldnjava.cn,MLDN高端Java培训 <% // 设置属性 %> page_scope_03.jsp <%@ page contentType=\ pageEncoding=\%> <%@ page import=\%> www.mldnjava.cn,MLDN高端Java培训 <% %>

姓名:<%=username%>

生日:<%=userbirthday%>

String username = (String) pageContext.getAttribute(\) ; Date userbirthday = (Date)pageContext.getAttribute(\) ; pageContext.setAttribute(\,\李兴华\) ; pageContext.setAttribute(\,new Date()) ; Page范围在跳转后无效,所以程序执行跳转操作后,page_scope_03.jsp页面无法取得属性的,输出时,内容为null,

request 属性范围;

服务器跳转后,属性依然保存下来,可以使用request 属性范围操作。

设置request范围属性 request_scope_01.jsp

<%@ page contentType=\ pageEncoding=\%> <%@ page import=\%> www.mldnjava.cn,MLDN高端Java培训 <% // 设置属性 %> request.setAttribute(\,\李兴华\) ; request.setAttribute(\,new Date()) ; 例子:取得request范围属性 <%@ page contentType=\ pageEncoding=\%> <%@ page import=\%> <% %>

姓名:<%=username%>

生日:<%=userbirthday%>

String username = (String) request.getAttribute(\) ; Date userbirthday = (Date)request.getAttribute(\) ; 例子:使用超链接跳转--- request_scope_03.jsp 无法取得属性 <%@ page contentType=\ pageEncoding=\%> <%@ page import=\%> <% // 设置属性 %> 通过链接取得属性 request.setAttribute(\,\李兴华\) ; request.setAttribute(\,new Date()) ; 例子:服务器跳转:request_scope_04.jsp <%@ page contentType=\ pageEncoding=\%> <%@ page import=\%> <% // 设置属性 pageContext.setAttribute(\,\李兴华\,PageContext.REQUEST_SCOPE) ; pageContext.setAttribute(\,new Date(),PageContext.REQUEST_SCOPE) ; %> request将属性保存在一次请求范围内。

前提:必须使用服务端跳转

如果跳转方式改成超链接,地址栏改变(新的一次请求),上一次请求的内容没有保存下来,故显示内容为null。

session 属性范围

设置一个属性后,可以在人一个与设置页面相关的页面中取得,则可以使用session 属性范围。不管是客户端跳转还是服务器端跳转只要是属性设置了都可以。

例子:设置session范围属性 session_scope_01.jsp <%@ page contentType=\ pageEncoding=\%> <%@ page import=\%> <% // 设置属性 %> 通过链接取得属性 session.setAttribute(\,\李兴华\) ; session.setAttribute(\,new Date()) ; 例子:取出session范围属性 session_scope_02.jsp

<%@ page contentType=\ pageEncoding=\%> <%@ page import=\%> <% %> String username = (String) session.getAttribute(\) ; Date userbirthday = (Date)session.getAttribute(\) ;


第四章 内置对象笔记(1).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:工程预算计算规则

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: