Как использовать объект приложения в сервлете?

Если мы кодируем файл JSP, нам просто нужно использовать встроенный объект «приложение». Но как использовать его в сервлете?


person fwoncn    schedule 19.04.2009    source источник


Ответы (4)


Объект application в JSP называется объектом ServletContext. в сервлете. Это доступно унаследованному GenericServlet#getServletContext() метод. Вы можете вызвать это в любом месте вашего сервлета, кроме метода init(ServletConfig).

public class YourServlet extends HttpServlet {

    @Override
    public void init() throws ServletException { 
         ServletContext ctx = getServletContext(); 
         // ...
    } 

    @Override
    public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { 
         ServletContext ctx = getServletContext(); 
         // ...
    } 

    @Override
    public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { 
         ServletContext ctx = getServletContext(); 
         // ...
    } 

}

См. также Различные способы получения контекста сервлета.

person Boiler Bill    schedule 19.04.2009

Объект приложения ссылается на javax.servlet.ServletContext, и вы должны иметь возможность ссылаться что в ваших сервлетах.

Чтобы сослаться на ServletContext, вам нужно будет сделать следующее:

// Get the ServletContext
ServletConfig config = getServletConfig();
ServletContext sc = config.getServletContext();

С этого момента вы будете использовать объект sc так же, как вы будете использовать объект приложения в своих JSP.

person scheibk    schedule 19.04.2009

Попробуй это:

ServletContext application = getServletConfig().getServletContext();
person John Topley    schedule 19.04.2009

В веб-приложении Java у вас часто есть объект request. Таким образом, вы можете получить объект "application" следующим образом:

request.getServletContext().getServerInfo()
person basZero    schedule 29.06.2016