简介:
所有的域对象都有存取数据的功能,因为域对象内部有一个Map用来存储数据;
ServletContext接口:
javax.servlet
Interface ServletContext
public interface ServletContext
- 获取方法:public ServletContext getContext(String uripath)
下面是ServletContext对象用来操作数据的方法:
NO |
方法名 |
参数 |
返回值 |
功能 |
1 |
public void setAttribute(String name,Object object)
|
name - 一个字符串,指定属性的名称 object - 表示要绑定的属性的 Object |
无 | 设置指定名称的servelet属性。如果指定的名称已用于某个属性,则此方法将用新属性替换该属性。 |
2 | public Object getAttribute(String name) | name - 一个字符串,指定属性的名称 | Object类型 | 获取指定名称的servlet属性,如果没有则为空 |
3 | public Enumeration getAttributeNames() | 无 | 属性名称的枚举 | 获取属性名称 |
4 |
public void removeAttribute(String name)
|
|
无 | 删除指定名称的属性 |
代码实现:
AServlet向ServletContext对象中保存数据:
package cn.ServletContext.ml;
import java.io.IOException;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*向ServletContext中保存数据
*/
@WebServlet("/ContextTest")
public class AServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
/**
* 调用ServletContext对象
* 调用其setAttribute()方法完成保存数据
*/
ServletContext app = this.getServletContext();
app.setAttribute("name","张三");
}
}
BServlet使用ServletContext对象获取数据:
package cn.ServletContext.ml;
import java.io.IOException;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 从ServletContext中获取数据
* @author CDU_LM
*
*/
@WebServlet("/BServlet")
public class BServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
/**
* 获取ServletContext对象
* 调用getAttribute()方法
*/
ServletContext app = this.getServletContext();
Object name = app.getAttribute("name");
System.out.println(name.toString());
}
}
请求结果:
浏览器没发出一次请求就会输出一次结果。
分类:
Servlet
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)