Ответ 1
Вы можете получить его HttpSession#getServletContext()
.
ServletContext context = request.getSession().getServletContext();
Это может, однако, необоснованно создавать сеанс, когда это нежелательно.
Но когда вы уже сидите в экземпляре класса HttpServlet
, просто используйте унаследованный GenericServlet#getServletContext()
.
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ServletContext context = getServletContext();
// ...
}
Или, когда вы уже сидите в экземпляре интерфейса Filter
, просто используйте FilterConfig#getServletContext()
.
private FilterConfig config;
@Override
public void init(FilterConfig config) {
this.config = config;
}
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
ServletContext context = config.getServletContext();
// ...
}