code: @Override
      public void init(final ServletConfig pConfig) throws ServletException {
          if (pConfig == null) {
              throw new ServletConfigException("servlet config == null");
          }
  
          try {
              BeanUtil.configure(this, ServletUtil.asMap(pConfig), true);
          }
          catch (InvocationTargetException e) {
              throw new ServletConfigException("Could not configure " + getServletName(), e.getCause());
          }
  
          super.init(pConfig);
      }
docs: Called by the web container to indicate to a servlet that it is being
  placed into service.
  <p/>
  This implementation stores the {@code ServletConfig} object it
  receives from the servlet container for later use. When overriding this
  form of the method, call {@code super.init(config)}.
  <p/>
  This implementation will also set all configured key/value pairs, that
  have a matching setter method annotated with {@link InitParam}.
  
  @param pConfig the servlet config
  @throws ServletException
  
  @see javax.servlet.GenericServlet#init
  @see #init() init
  @see BeanUtil#configure(Object, java.util.Map, boolean)