package fi.otavanopisto.muikku.servlet; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet ( name = "DustTemplateServlet", urlPatterns = "/resources/dust/*" ) public class DustTemplateServlet extends HttpServlet { private static final long serialVersionUID = -891919145673255454L; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { ClassLoader contextClassLoader = getClass().getClassLoader(); URL resource = contextClassLoader.getResource("META-INF/resources/dust" + req.getPathInfo()); if (resource != null) { ServletOutputStream outputStream = resp.getOutputStream(); URLConnection connection = resource.openConnection(); connection.setDoInput(true); connection.setDoOutput(true); String contentType = connection.getContentType(); InputStream resourceStream = connection.getInputStream(); int bytesRead = 0; byte[] buff = new byte[1024]; while ((bytesRead = resourceStream.read(buff, 0, 1024)) > 0) { outputStream.write(buff, 0, bytesRead); } resourceStream.close(); resp.setContentType(contentType); outputStream.flush(); outputStream.close(); } else resp.setStatus(404); } }