随笔都是学习笔记
随笔仅供参考,为避免笔记中可能出现的错误误导他人,请勿转载。

简介:

所有的域对象都有存取数据的功能,因为域对象内部有一个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)

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());
    }
}

请求结果:

 

 浏览器没发出一次请求就会输出一次结果。

posted on 2022-04-06 16:51  时间完全不够用啊  阅读(137)  评论(0)    收藏  举报