ServletContext

package com.xxxx.servlet;

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;
import java.io.IOException;


/**
 * 每一个web应用仅有一个ServletContext对象 与应用程序相关
 *      为域对象共享数据,在整个应用程序中共享
 *      保存当前应用相关信息
 */
@WebServlet("/sc1")
public class ServletContex1 extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //通过request获取
        ServletContext sc=req.getServletContext();

        //通过session获取
        ServletContext sc2=req.getSession().getServletContext();

        //直接获取
        ServletContext sc3=getServletContext();

        /**
         * 常用方法
         */
        //获取服务器版本信息
        String serverInfo=req.getServletContext().getServerInfo();
        System.out.println(serverInfo);
        //获取项目真实路径
        String realPath=req.getServletContext().getRealPath("/sc1");
        System.out.println(realPath);

        /**
         * ServletContext域对象
         *      可以放数据 不能太多
         *      不删除会一直存在
         */
        //设置域对象
        sc.setAttribute("name","lwx");
        //获取域对象
        String name=(String) sc.getAttribute("name");
        //移除域对象
        sc.removeAttribute("name");



    }
}
posted @ 2022-04-13 18:58  lwx_R  阅读(21)  评论(0编辑  收藏  举报