ServletConfig与ServletContext

ServletConfig类是Servlet程序的配置信息类
三大作用
1.可以获取Servlet程序的别名servlet-name的值
2.获取初始化参数init-param
3.获取ServletContext对象

servletConfig.getServletName();
servletConfig.getInitParameter();
servletConfig.getServletContext();
这些获取的值只有init()的传入的参数才能获取
在其他方法中可以通过getServletConfig()获取ServletConfig
ServletConfig只能获取自己Servlet中的配置信息 不能获取别人的

ServletConfig是由Tomcat负责创建,我们负责使用
Servlet程序默认是第一次访问的时候创建
ServletConfig是每个Servlet程序创建时就创建一个对应的ServletConfig对象。

当自己重写init()时 servletConfig对象中将不再有以上方法 除非调用父方法
//super(config);这样调用父方法
//父类init()保存了一个修改完的config 只有执行父类init() 才能获得有这些功能的config

ServletContext
1.是一个接口 表示Servlet上下文对象
2.一个web工程只有一个ServletContext对象实例
3.ServletContext对象是一个域对象(可以像Map一样存取数据的对象 叫做域对象 这里的域指存取数据的操作范围)
4.ServletContext web工程部署启动时创建 web工程停止的时候销毁
工程一直都在的情况下 ServletContext 存储的数据可以被所有拥有ServletContext 对象的部分都能获得ServletContext 所存储的数据
//域指的是存取数据的操作范围 即整个web工程

增 查 删
Map put() get() remove()
域对象 setAttribute() getAttibute() removeAttribute()

ServletContext类的四个常见作用
1.获取web.xml中获取的上下文参数context-param(属于整个web工程)
2.获取当前工程路径,格式:/工程路径
3.获取工程部署后在服务器磁盘上的绝对路径

public class ContextServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

//        1.获取web.xml中获取的上下文参数context-param
        ServletContext servletContext = getServletConfig().getServletContext();
        String username = servletContext.getInitParameter("username");
        System.out.println("username的值是:"+username);
//        2.获取当前工程路径,格式:/工程路径
        String contextPath = servletContext.getContextPath();
        System.out.println("contextPath是:"+contextPath);
//        3.获取工程部署后在服务器磁盘上的绝对路径
        // "/"被服务器解析为http://ip:port/工程名/  映射到idea代码的web目录
        System.out.println("工程获取路径是:"+servletContext.getRealPath("/"));
    }
}

servletContext像map一样存取数据

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //获取servletContext对象
        ServletContext servletContext = getServletContext();
        servletContext.setAttribute("k1","v1");
        System.out.println("servletContext中域数据 k1对应的值是"+servletContext.getAttribute("k1"));

    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值