From 4489ec76b985978ad62902ecaaf24de0134db01f Mon Sep 17 00:00:00 2001 From: Zhanming Qi Date: Sat, 11 Aug 2012 19:14:08 +0800 Subject: [PATCH] if can not parse URI, redirect to index.html --- .../alibaba/druid/support/http/StatViewServlet.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/alibaba/druid/support/http/StatViewServlet.java b/src/main/java/com/alibaba/druid/support/http/StatViewServlet.java index df9fb7b460..f5ce957b7c 100644 --- a/src/main/java/com/alibaba/druid/support/http/StatViewServlet.java +++ b/src/main/java/com/alibaba/druid/support/http/StatViewServlet.java @@ -58,11 +58,11 @@ public class StatViewServlet extends HttpServlet { if (contextPath == null) { // root context contextPath = ""; } - + String uri = contextPath + servletPath; String path = requestURI.substring(contextPath.length() + servletPath.length()); if (path.length() == 0 || "/".equals(path)) { - returnResourceFile("/index.html", response); + returnResourceFile("/index.html", uri, response); return; } @@ -94,7 +94,7 @@ public class StatViewServlet extends HttpServlet { } // find file in resources path - returnResourceFile(path, response); + returnResourceFile(path, uri, response); } private void returnViewActiveConnectionStackTrace(Integer id, HttpServletRequest request, @@ -193,8 +193,12 @@ public class StatViewServlet extends HttpServlet { } - private void returnResourceFile(String fileName, HttpServletResponse response) throws ServletException, IOException { + private void returnResourceFile(String fileName, String uri, HttpServletResponse response) throws ServletException, IOException { String text = IOUtils.readFromResource(RESOURCE_PATH + fileName); + if(text == null) { + response.sendRedirect(uri + "/index.html"); + return; + } if (fileName.endsWith(".css")) { response.setContentType("text/css;charset=utf-8"); } else if (fileName.endsWith(".js")) {