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


浙公网安备 33010602011771号