code: @Override
  	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  		// Eliminamos de la URI el contexto
  		String url = request.getRequestURI().substring(request.getContextPath().length());
  		if (LOGGER.isDebugEnabled()) {
  			LOGGER.debug("url => {}", url);
  			LOGGER.debug("HTTP_METHOD => {}", request.getMethod());
  			LOGGER.debug("queryString => {}", request.getQueryString());
  			LOGGER.debug("Context [{}]", request.getContextPath());
  		}
  
  		HttpMethod requestMethod = HttpMethod.valueOf(request.getMethod());
  		if (requestMethod == HttpMethod.POST) {
  			String httpMethodParam = request.getParameter(HTTP_METHOD_PARAM);
  			LOGGER.debug("param: http_method => {}", httpMethodParam);
  			if (httpMethodParam != null) {
  				requestMethod = HttpMethod.valueOf(httpMethodParam);
  			}
  		}
  		// Getting all the information from the URL
  		UrlInfo urlInfo = urlInspector.getUrlInfo(url, requestMethod);
  		if (LOGGER.isDebugEnabled()) {
  			LOGGER.debug("URL info {}", urlInfo.toString());
  		}
  		// Calling the controller's action
  		ResponseHelper responseHelper = new ResponseHelper(this.getServletContext(), request, response, urlInfo, config.getString(Config.VIEWS_DIRECTORY));
  		helper.invokeAction(urlInfo, responseHelper);
  		responseHelper.doResponse();
  	}
docs: Parses the request to get information about what controller is trying to call, then
  invoke the action from that controller (if any), and finally gives an answer.<br>
  <br>
  Basically it only dispatchs the request to a controller.