次のように、変数の初期化にリスナーを使用し、Web アプリケーションの開始前に属性としてコンテキストに設定できます。
package org.paulvargas.shared;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class LoadConfigurationListener implements ServletContextListener {
    public void contextInitialized(ServletContextEvent sce) {
        // read file or rdbms
        ...
        ServletContext context = sce.getServletContext();
        // set attributes
        ...
    }
    public void contextDestroyed(ServletContextEvent sce) {
        ServletContext context = sce.getServletContext();
        // remove attributes
        ...
    }
}
このリスナーは で設定されますweb.xml。
<listener>
    <listener-class>org.paulvargas.shared.LoadConfigurationListener</listener-class>
</listener>
@Contextアノテーションを使用してServletContext、属性を挿入および取得できます。
package org.paulvargas.example.helloworld;
import java.util.*;
import javax.servlet.ServletContext;
import javax.ws.rs.*;
import javax.ws.rs.core.*;
@Path("/world")
public class HelloWorld {
    @Context
    private ServletContext context;
    @GET
    @Produces("text/plain; charset=UTF-8")
    public String getGreeting() {
        // get attributes
        String someVar = (String) context.getAttribute("someName")
        return someVar + " says hello!";
    }
}