From: Joonas Lehtinen Date: Sun, 28 Oct 2007 15:14:14 +0000 (+0000) Subject: Serve static resources in ITMILL when applicationservlet is mapped to /* X-Git-Tag: 6.7.0.beta1~5766 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=02ab0bc392483c27ccafb8657a2156a929629f30;p=vaadin-framework.git Serve static resources in ITMILL when applicationservlet is mapped to /* svn changeset:2609/svn branch:trunk --- diff --git a/src/com/itmill/toolkit/terminal/gwt/server/ApplicationServlet.java b/src/com/itmill/toolkit/terminal/gwt/server/ApplicationServlet.java index 44600d101d..646920ec8b 100644 --- a/src/com/itmill/toolkit/terminal/gwt/server/ApplicationServlet.java +++ b/src/com/itmill/toolkit/terminal/gwt/server/ApplicationServlet.java @@ -44,6 +44,7 @@ import java.util.Map; import java.util.Properties; import java.util.WeakHashMap; +import javax.servlet.RequestDispatcher; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; @@ -54,6 +55,7 @@ import javax.servlet.http.HttpSession; import org.apache.commons.fileupload.servlet.ServletFileUpload; import org.xml.sax.SAXException; +import com.google.gwt.http.client.Request; import com.itmill.toolkit.Application; import com.itmill.toolkit.service.FileTypeResolver; import com.itmill.toolkit.terminal.DownloadStream; @@ -295,6 +297,11 @@ public class ApplicationServlet extends HttpServlet { protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + if (request.getPathInfo().startsWith("/ITMILL/")) { + serveStaticResourcesInITMILL(request, response); + return; + } + Application application = null; try { @@ -397,6 +404,30 @@ public class ApplicationServlet extends HttpServlet { } } + /** Serve resources in ITMILL directory if requested. + * + * @param request + * @param response + * @throws IOException + */ + private void serveStaticResourcesInITMILL(HttpServletRequest request, HttpServletResponse response) throws IOException { + String filename = request.getPathInfo(); + ServletContext sc = getServletContext(); + InputStream is = sc.getResourceAsStream(filename); + if (is == null) { + response.setStatus(404); + return; + } + String mimetype = sc.getMimeType(filename); + if (mimetype != null) response.setContentType(mimetype); + OutputStream os = response.getOutputStream(); + byte buffer[] = new byte[20000]; + int bytes; + while ((bytes = is.read(buffer)) >= 0) { + os.write(buffer, 0, bytes); + } + } + /** * * @param request @@ -464,19 +495,18 @@ public class ApplicationServlet extends HttpServlet { + "'\n};\n" + "\n" + "" + + ".nocache.js'>\n" + "" + + "/styles.css\">\n" + "\n\n" + " \n" + "
"