javaWEB总结(13):域对象的属性操作
前言
本文主要讲解javaweb的四个域对象以及他们的作用范围,后面会有小demo来具体测试。
四个域对象
(1)pageContext:属性的作用范围仅限于当前JSP页面;
(2)request:属性的作用范围仅限于同一个 请求;
(3)session:属性的作用范围仅限于一次会话,游览器打开直到关闭为一次会话(前提是在此期间会话不会失效)
(4)application:属性的作用范围限于当前WEB应用。
域对象共有的方法:
(1)Object getAttribute(String name):获取指定属性;
(2)Enumeration getAttributeNames():获取所有属性的名字组成的Enumeration对象;
(3)removeAttribute(String name):移除指定属性;
(4)void setAttribute(String name,Object o):设置属性。
项目结构
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>javaWeb_13</display-name>
<welcome-file-list>
<welcome-file>first.jsp</welcome-file>
</welcome-file-list>
</web-app>
first.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>当前页获取域对象里面的属性值</title>
</head>
<body> <h2>First Page</h2> <%
pageContext.setAttribute("pageContextAttr", "pageContextValue"); request.setAttribute("requestAttr", "requestValue"); session.setAttribute("sessionAttr", "sessionValue"); application.setAttribute("applicationAttr", "applicationValue");
%> 01-pageContext:<%=pageContext.getAttribute("pageContextAttr") %>
<br><br>
02-request:<%=request.getAttribute("requestAttr") %>
<br><br>
03-session:<%=session.getAttribute("sessionAttr") %>
<br><br>
04-application:<%=application.getAttribute("applicationAttr") %>
<br><br> <a href="second.jsp">To Second Page</a> </body>
</html>
second.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>跨页面获取域对象里面的属性值</title>
</head>
<body> <h2>Second Page</h2> 01-pageContext:<%=pageContext.getAttribute("pageContextAttr") %>
<br><br>
02-request:<%=request.getAttribute("requestAttr") %>
<br><br>
03-session:<%=session.getAttribute("sessionAttr") %>
<br><br>
04-application:<%=application.getAttribute("applicationAttr") %>
<br><br> <a href="first.jsp">To First Page</a> </body>
</html>
运行项目后,在当前页面里面可以取到所有域对象的值
跨页面时,由于是不同的页面,不同的请求,所以pageContext和request为空
关闭游览器,再次重新打开,直接输入第二个页面的地址,session也为空,说明再次打开游览器后不是同一次会话
参考视频:点击打开链接
javaWEB总结(13):域对象的属性操作的更多相关文章
- [原创]java WEB学习笔记15:域对象的属性操作(pageContext,request,session,application) 及 请求的重定向和转发
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- 域对象中属性变更及感知session绑定的事件监听器
域对象中属性的变更的时间监听器就是用来监听ServletContext,HttpSession,HttpServletRequest这三个对象中的属性变更信息事件的监听器.这三个监听器接口分别是Ser ...
- 了解JavaScript 对象的属性操作
提起操作, 很多人都会想到我们学习过程中最经常做的操作, 就是对数据库进行增, 删, 改, 查, 既然提到这个, 那么对于对象的属性操作也不例外, 基本上可以说也是这几个操作. JS中对象的属性标签 ...
- [原创]java WEB学习笔记48:其他的Servlet 监听器:域对象中属性的变更的事件监听器 (3 个),感知 Session 绑定的事件监听器(2个)
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- javabean 参数收集 设置属性 设置不同级别的域对象的属性 默认存储在pagecontext中
javabean 参数收集 设置属性 设置不同级别的域对象的属性 默认存储在pagecontext中
- jQuery对象的属性操作
jquery的属性操作模块分为四个部分:html属性操作,dom属性操作,类样式操作和值操作 html属性操作:是对html文档中的属性进行读取,设置和移除操作.比如attr().removeAttr ...
- JavaWeb中的域对象
域对象:可以在不同Servlet之间传递数据的对象,就是域对象,它们内置了map集合,都有setAttribute和getAttribute方法: Java Web有ServletContext.Se ...
- JavaWeb中四大域对象的作用范围
JavaWeb的四大作用域为:PageContext,ServletRequest,HttpSession,ServletContext: PageContext域:作用范围是整个JSP页面,是四大作 ...
- JavaScript对象之属性操作
在js对象中,我们可以对对象属性进行操作. 上图的要点为:for-in会把原型链上的可枚举属性也列出来. 上图的要点为:可以使用逻辑运算符&&进行层层查找对象是否为undefined, ...
随机推荐
- Spring MVC 笔记 —— Spring MVC 文件上传
文件上传 配置MultipartResolver <bean id="multipartResolver" class="org.springframework.w ...
- Linux学习笔记(一):常用命令(2)
3.帮助命令 A,帮助命令:man B,其他帮助命令 3.1,格式:man [命令名] 查看命令拥有哪个级别的帮助: ...
- python绝技 — 嗅探FTP登录口令
代码: #!/usr/bin/python #--*--coding=utf-8--*-- import optparse from scapy.all import * def ftpsniff(p ...
- Spark-GraphxAPI学习笔记
图的集合视图 graph包含三个基本的类集合视图: val vertices: VertexRDD[VD] val edges: EdgeRDD[ED] val triplets: RDD[EdgeT ...
- String.split()分割字符串
string.split(s[, sep[, maxsplit]]) Return a list of the words of the string s. If the optional secon ...
- 基于C++的类编程总结
1. 类中public, protected, private这三个属性的区别: public意味着所有事物都能查询具有该属性的食物.(也即所有人可以在我不知情的情况下,查看我账户里还有多少钱). p ...
- java学习笔记:反射
1.什么是反射? Reflection(反射)是被视为动态语言的关键,反射机制允许程序做执行期间借助于ReflectionAPI取得任何类的内部信息,并能直接操作任意对象内部属性及方法 2.反射相关的 ...
- python新手 实践操作 作业
#有如下值集合 [11,22,33,44,55,66,77,88,99],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中.即: {'k1': 大于66的所 ...
- css1
背景属性:background;background-color;background-image;background-repeat;(背景是否重复,有repeat-x 横式重复,repeat-y竖 ...
- php取整
php取整的方法一共有4中,分别是ceil(),floor(),round(),intval(). 1.ceil--向上取整,即不小于当前的下一个整数,如果有小数则进一位. 返回的是float类型 & ...