In un’applicazione web tipicamente vengono settati i parametri iniziali come ad esempio configurazioni database, email di amministrazione, ect. all’interno del file di configurazione web.xml come parametri di contesto (context-param). In quest’articolo vedremo nel dettaglio come accedere al contesto servlet da un web service.

Supponiamo di voler recuperare il parametro “myParam” all’interno del web.xm strutturato in questo modo:
<context-param> <param-name>myParam</param-name> <param-value>the value</param-value> </context-param>
All’interno di una servlet i parametri di contesto possono essere recuperati in questo modo:
public class MyServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String value = getServletContext().getInitParameter("myParam"); } }
Per quanto riguarda il web service, invece, va iniettato il contesto servlet in questo modo.
@Resource private WebServiceContext context;
Una volta iniettato il contesto servlet, si possono recuperare i parametri di contesto in questo modo:
ServletContext servletContext = (ServletContext) context.getMessageContext().get(MessageContext.SERVLET_CONTEXT); String value = servletContext.getInitParameter("myParam");