后端——servlet的setAttribute()、getAttribute

26 篇文章 0 订阅

一、ServletContext域中

1.1 ServletContext

ServletContext是Servlet 上下文,是个接口,是 Web 应用中所有 Servlet 在 Web 容器中的运行时环境。这个运行时环境随着 Web 应用的启动而创建,随着 Web 应用的关闭而销毁。也就是说,一个 Web 应用,就一个 Servlet 运行时环境,即一个 Servlet 上下文,即一个ServletContext 对象。

这个 Servlet 运行环境中都包含哪些具体的“环境”呢?即 ServletContext 对象中都包含哪些具体的信息呢?不仅包含了 web.xml 文件中的配置信息,还包含了当前应用中所有Servlet 可以共享的数据。可以这么说,ServeltContext 可以代表整个应用。所以,ServletConetxt有另外一个名称:application。(EL表达式就是取这个名字)

1.2 方法
String getInitParameter ():
获 取 web.xml 文 件 的 <context-param/> 中 指 定 名 称 的 上 下 文 参 数 值 。 例 如getInitParameter(“myDBDriver”);会返回字符串“com.mysql.jdbc.Driver”。

Enumeration getInitParameterNames():
获取 web.xml 文件的<context-param/>中的所有的上下文参数名称。其返回值为枚举类型 Enumeration<String>void setAttribute(String name, Object object):
在 ServletContext 的公共数据空间中,也称为域属性空间,放入数据。这些数据对于 Web
应用来说,是全局性的,与整个应用的生命周期相同。当然,放入其中的数据是有名称的,
通过名称来访问该数据。

Object getAttribute(String name):
从 ServletContext 的域属性空间中获取指定名称的数据。

void removeAttribute(String name):
从 ServletContext 的域属性空间中删除指定名称的数据。

String getRealPath(String path):
获取当前 Web 应用中指定文件或目录在本地文件系统中的路径,是基于盘符的路径。

String getContextPath():
获取当前应用在 Web 容器中的名称。

二、Request 域中

2.1Request

在 Request 中也存在域属性空间,用于存放有名称的数据。该数据只在当前 Request 请求中可以进行访问

2.2方法
对于 Request 中的域属性操作的方法有:
void setAttribute(String name, Object object):
在 Request 域属性空间中放入数据。其生命周期与 Request 的生命周期相同。

Object getAttribute(String name):
从 Request 的域属性空间中获取指定名称的数据。

void removeAttribute(String name):
从Request 的域属性空间中删除指定名称的数据。由于这里我们举例子需要用到另外一个方法,所以将这个方法也进行介绍。

RequestDispatcher getRequestDispatcher(String path);
该方法用于创建请求转发器,而该请求转发器有一个方法 forward(),用于完成将请求对
象转发给下一个资源。forward()方法的原型如下:
void forward(HttpServletRequest request, HttpServletResponse response);

三、Session 域

3.1Session
  • Session 是一个专门用于存放数据的集合,我们一般称这个用于存放数据的内存空间为域属性空间,简称域。HttpSession 中具有三个方法,是专门用于对该域属性空间中数据进行写、读操作的。

  • 若要对 Session 进行操作,则可以通过 HttpServletRequest 的 getSession()方法获取。该
    方法具有两个重载的方法。public HttpSession getSession(boolean create)public HttpSession getSession()

3.2方法
public void setAttribute(String name, Object value)
该方法用于向 Session 的域属性空间中放入指定名称、指定值的域属性。

public Object getAttribute(String name)
该方法用于从 Session 的域属性空间中读取指定名称为域属性值。

public void removeAttribute(String name)
该方法用于从 Session 的域属性空间中删除指定名称的域属性。

四、EL表达式不同域取值

{域名称.键名}:从指定域中获取指定键的值
域名称:

  1. pageScope --> pageContext
  2. requestScope --> request
  3. sessionScope --> session
  4. applicationScope --> application(ServletContext)
 举例:在request域中存储了name=张三
 获取:${requestScope.name}
  • 16
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: setattribute和getattributeJavaScript中的两个方法,用于设置和获取HTML元素的属性。 setattribute方法可以用来设置HTML元素的属性,例如: ``` document.getElementById("myElement").setAttribute("class", "myClass"); ``` 这会将ID为“myElement”的元素的class属性设置为“myClass”。 getattribute方法可以用来获取HTML元素的属性,例如: ``` var myClass = document.getElementById("myElement").getAttribute("class"); ``` 这会将ID为“myElement”的元素的class属性的值存储在变量myClass中。 ### 回答2: setAttribute和getAttribute都是Javascript中常用的方法,主要用于操作和获取HTML元素的属性。 setAttribute方法可以用来动态地改变HTML元素的属性值,例如: document.getElementById("myImg").setAttribute("src", "newImg.jpg"); 这段代码会将id为“myImg”的元素的src属性修改为“newImg.jpg”。setAttribute方法有两个参数,第一个参数是要设置的属性名,第二个参数是要设置的属性值。 getAttribute方法则用于获取HTML元素的属性值,例如: var title = document.getElementById("myTitle").getAttribute("title"); 这段代码会获取id为“myTitle”的元素的title属性值,并将其赋值给变量“title”。getAttribute方法有一个参数,即要获取的属性名。 需要注意的是,setAttribute和getAttribute只能操作和获取HTML元素的标准属性,不能操作和获取行内样式的属性。如果要操作和获取行内样式的属性,需要使用style属性。 另外,需要注意的是,在HTML5规范中,可以直接通过对象.属性的方式来设置和获取HTML元素的标准属性,例如: document.getElementById("myImg").src = "newImg.jpg"; var title = document.getElementById("myTitle").title; 但是,这种方式只适用于HTML元素的标准属性,不能操作和获取非标准属性或自定义属性。因此,在一些较老的浏览器中,仍然需要使用setAttribute和getAttribute方法来操作和获取HTML元素的属性。 ### 回答3: setAttribute和getAttributeJavaScript中DOM(Document Object Model)的元素属性操作方法。setAttribute方法用于设置指定元素的属性值,而getAttribute方法用于获取指定元素的属性值。 setAttribute方法需要两个参数:属性名和属性值。例如,如果要将元素的class属性设置为“myclass”,则可以使用以下代码: element.setAttribute("class", "myclass"); 使用getAttribute方法来检索属性值。例如,如果想要获取元素的class属性的值,则可以使用以下代码: var classname = element.getAttribute("class"); 当使用setAttribute方法设置属性值时,它将覆盖任何现有的相同属性。因此,在设置属性值之前,最好先检查其是否已存在。 getAttribute方法返回属性值的字符串表示形式。如果属性不存在,则返回null。请注意,它不会返回数字对象或布尔值。 在JavaScript中,setAttribute和getAttribute方法不仅适用于HTML元素,也适用于XML文档中的元素。因此,在处理XML文档时,这些方法比较有用。 总之,setAttribute和getAttribute方法对于操作DOM元素的属性非常有用,可以帮助我们控制HTML和XML文档的表现和行为。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zkFun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值