response.setStatus(response.SC_NOT_MODIFIED);
response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {		String filename = getFilename(request.getRequestURI());		URL url = httpContext.getResource(filename);		if (url == null) {			// We got null back from httpContext.getResource			// In this case we want to keep looking to see if another alias matches			throw new ResourceUnavailableException();		}		URLConnection conn = secureAction.openURL(url);		long modifiedSince = request.getDateHeader("If-Modified-Since"); //$NON-NLS-1$		if (modifiedSince >= 0) {			long modified = conn.getLastModified();			if ((modified > 0) && (modifiedSince >= modified)) {				response.setStatus(response.SC_NOT_MODIFIED);				return;			}		}		InputStream in;		try {			in = conn.getInputStream();		} catch (IOException ex) {			response.sendError(response.SC_NOT_FOUND);			return;		}		try {			int contentlength = conn.getContentLength();			if (contentlength >= 0) {				response.setContentLength(contentlength);			}			String mimeType = computeMimeType(filename, conn);			response.setContentType(mimeType);			// We want to use a writer if we are sending text			if (mimeType.startsWith("text/")) //$NON-NLS-1$			{				PrintWriter writer = response.getWriter();				writer.flush(); /* write the headers and unbuffer the output */				BufferedReader reader = new BufferedReader(new InputStreamReader(in));				char buffer[] = new char[4096];				int read;				while ((read = reader.read(buffer, 0, buffer.length)) != -1) {					writer.write(buffer, 0, read);				}			} else {				ServletOutputStream out = response.getOutputStream();				out.flush(); /* write the headers and unbuffer the output */				byte buffer[] = new byte[4096];				int read;				while ((read = in.read(buffer, 0, buffer.length)) != -1) {					out.write(buffer, 0, read);				}			}		} finally {			in.close();		}	}