| 68 | 1 package fschmidt.util.servlet; | 
|  | 2 | 
|  | 3 import org.eclipse.jetty.servlet.DefaultServlet; | 
|  | 4 import org.slf4j.Logger; | 
|  | 5 import org.slf4j.LoggerFactory; | 
|  | 6 | 
|  | 7 import javax.servlet.ServletException; | 
|  | 8 import javax.servlet.http.HttpServletRequest; | 
|  | 9 import javax.servlet.http.HttpServletResponse; | 
|  | 10 import java.io.IOException; | 
|  | 11 import java.util.Date; | 
|  | 12 | 
|  | 13 | 
|  | 14 public final class JarDefaultServlet extends DefaultServlet { | 
|  | 15 	private static final Logger logger = LoggerFactory.getLogger(JarDefaultServlet.class); | 
|  | 16 | 
|  | 17 	private static final long built; | 
|  | 18 	static { | 
|  | 19 		try { | 
|  | 20 			built = new Date(ClassLoader.getSystemResource("fschmidt/util/servlet/JarDefaultServlet.class").openConnection().getLastModified()).getTime()/1000*1000; | 
|  | 21 		} catch(IOException e) { | 
|  | 22 			logger.error("",e); | 
|  | 23 			throw new RuntimeException(e); | 
|  | 24 		} | 
|  | 25 	} | 
|  | 26 | 
|  | 27 	protected void doGet(HttpServletRequest request,HttpServletResponse response) | 
|  | 28 		throws ServletException, IOException | 
|  | 29 	{ | 
|  | 30 		if( built <= request.getDateHeader("If-Modified-Since") ) { | 
|  | 31 			response.sendError(HttpServletResponse.SC_NOT_MODIFIED); | 
|  | 32 			return; | 
|  | 33 		} | 
|  | 34 		super.doGet(request,response); | 
|  | 35 	} | 
|  | 36 } |