ServletContext功能域对象和获取文件服务器路径

ServletContext功能域对象

域对象:共享数据

  1、setAttribute(String name,Object value)

  2、getAttribute(String name)

  3、removeAttribute(String name)

ServletContext对象范围:所有用户所有请求的数据

存储数据:

@WebServlet("/servletContextDemo1")
public class ServletContextDemo1 extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //通过HttpServlet获取
        ServletContext context = this.getServletContext();
        //设置数据
        context.setAttribute("msg","aaaaa");
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doPost(req, resp);
    }
}

获取数据:

@WebServlet("/servletContextDemo2")
public class ServletContextDemo2 extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        ServletContext context = this.getServletContext();
        Object msg = context.getAttribute("msg");
        System.out.println(msg);
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doPost(req, resp);
    }
}

 

 

 

 

 

 

 

 

 

ServletContext功能获取文件服务器路径

获取文件的真实(服务器)路径

  方法:String getRealPath(String path)

@WebServlet("/servletContextDemo2")
public class ServletContextDemo2 extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //通过HttpServlet获取
        ServletContext context = this.getServletContext();

        //获取文件的服务器路径
        String realPath = context.getRealPath("b.txt"); //web目录下资源访问
        System.out.println(realPath);
        String realPath1 = context.getRealPath("/WEB-INF/c.txt"); //WEB-INF目录下的资源访问
        System.out.println(realPath1);
        String realPath2 = context.getRealPath("/WEB-INF/classes/a.txt"); //src目录下的资源访问
        System.out.println(realPath2);
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doPost(req, resp);
    }
}

 

posted @ 2022-08-10 10:44  xjw12345  阅读(63)  评论(0)    收藏  举报