public void handle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException, ServletException { // Don't use getRequestURI() here because it includes the session ID String requestURI = httpServletRequest.getServletPath() + httpServletRequest.getPathInfo(); String operation; int i = requestURI.lastIndexOf('/'); if (i < 0) { processUnknown(httpServletRequest, httpServletResponse); return; } else if (i == requestURI.length() - 1) { processIndex(httpServletRequest, httpServletResponse); return; } else { operation = requestURI.substring(i + 1); } Method method = (Method) operationCache.get(operation.toLowerCase()); if (method != null) { try { method.invoke(this, new Object[]{httpServletRequest, httpServletResponse}); } catch (Exception e) { log.warn("Error dispatching request " + requestURI, e); httpServletResponse.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); } } else { processUnknown(httpServletRequest, httpServletResponse); } }
public void handle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException, ServletException { // Don't use getRequestURI() here because it includes the session ID String requestURI = httpServletRequest.getServletPath() + httpServletRequest.getPathInfo(); String operation; int i = requestURI.lastIndexOf('/'); if (i < 0) { processUnknown(httpServletRequest, httpServletResponse); return; } else if (i == requestURI.length() - 1) { processIndex(httpServletRequest, httpServletResponse); return; } else { operation = requestURI.substring(i + 1); } Method method = (Method) operationCache.get(operation.toLowerCase()); if (method != null) { try { method.invoke(this, new Object[]{httpServletRequest, httpServletResponse}); } catch (Exception e) { log.warn("Error dispatching request " + requestURI, e); httpServletResponse.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); } } else { processUnknown(httpServletRequest, httpServletResponse); } }