第四章 内置对象笔记(1)
更新时间:2024-07-02 07:15:01 阅读量: 综合文库 文档下载
什么是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=\%>
姓名:<%=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=\%>
姓名:<%=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) ; %> 前提:必须使用服务端跳转
如果跳转方式改成超链接,地址栏改变(新的一次请求),上一次请求的内容没有保存下来,故显示内容为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(\) ;姓名:<%=username%>
生日:<%=userbirthday%>
但是如果此时新开一个浏览器,则肯定无法取得。Session只是保留了一个人的信息。如果一个属性想让所有的用户都可以访问,则可以使用最后一种属性范围:application范围 总结:session,只保留一个用户信息
在一个浏览器(一次会话)范围能取得属性值 只要设置在session中的内容,不管采用什么方式进行页面跳转,都可以获得属性值 应用案例:验证用户是否登录 application范围;
例子:设置application范围属性 application_scope_01.jsp <%@ page contentType=\ pageEncoding=\%> <%@ page import=\%>
<% // 设置属性 %> 通过链接取得属性 application.setAttribute(\,\李兴华\) ; application.setAttribute(\,new Date()) ; 例子取得application范围属性 application_scope_01.jsp<%@ page contentType=\ pageEncoding=\%> <%@ page import=\%>
<% %> String username = (String) application.getAttribute(\) ; Date userbirthday = (Date)application.getAttribute(\) ;姓名:<%=username%>
生日:<%=userbirthday%>
因为属性范围设置在了服务器中,所以只要是连接到此服务器的任意用户都可以取得此属性,当然,如果服务器关闭的话,则此属性肯定消失。 总结;? application属性范围值,只要设置一次,则在所有的网页窗口都可以取得数据。 ? 如果要释放application资源,只能重新启动服务器 ? application应用:在线人员统计,在线人员名单列表 使用提示;
能使用page范围的就不使用request,能使用request范围的就不使用session,能使用session范围的就不使用application,保存范围越窄,对于服务器的压力就越低。 深入研究page属性范围:
在PageContext类中有四个常量:
? PAGE_SCOPE、REQUEST_SCOPE、SESSION_SCOPE、
APPLICATION_SCPOE
在父类javax.servlet.jsp.JspContext中提供了一组用于向各种范围内存取属性的方法。
? public abstract void setAttribute(String name, Object value)
? public abstract void setAttribute(String name, Object value, int scope) ? public abstract Object getAttribute(String name)
? public abstract Object getAttribute(String name, int scope) <% // 设置属性 pageContext.setAttribute(\李兴华\ pageContext.setAttribute(\Date(),PageContext.REQUEST_SCOPE) ; %> 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子:
例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子: 例子:
正在阅读:
第四章 内置对象笔记(1)07-02
2006年12月英语六级新题型真题及答案05-29
管理经济学计算题及参考答案(已分类整理)06-21
论钻孔灌注桩施工技术03-14
如果我来到三国作文800字07-04
评语大全之护理论文指导评语09-12
2022年高考(220)湖北省襄阳市2022年1月高三调研统一测试04-08
樱桃县地震应急综合演练脚本04-05
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 第四章
- 内置
- 对象
- 笔记
- 广东省梅州市梅县东山中学2014-2015学年高二(上)第一次月考物
- 国家工作人员“投资人实股”类案件证据审查要点.doc
- 精神科护理考试试题
- 三严三实专题教育工作会讲话稿与2016年元旦联欢晚会领导发言稿合
- 民俗资源与旅游答案(全,截至201610月)
- 基于javaEE的网上游戏角色皮肤商店系统的实训报告
- 《财经应用文》试卷附参考答案
- 南京市初中小班化班级文化建设评估细则
- 2008年新庄中学中考一模语文试卷200805 - 8
- 2012年与2013年重庆考点对比(初中思想品德)
- 100最易读错的单词短语 - Most - Often - Mispronounced - Words
- 采购质量控制
- 浙江省2017年上半年建设工程合同管理:对施工质量的监督管理考试
- 2018年秋学期苏教版语文三年级上册16 世界上第一个听诊器教案
- GIS客观题 带答案
- 宁波市住宅工程质量通病控制措施
- 第十讲 磁场与电磁感应
- 北干渠工程项目部 生产指挥协调管理办法(定)
- 艺术教学与数学完美结合
- 赞美老师的诗句