Hallo!
Ich habe einen Filter geschrieben, der den Header wie Pragma, Date, Content-Type usw verändert. D. h. ich kann die Header Parameter setzen, wie ich es möchte. Dies funktioniert wunderbar, aber er zeigt mir dann eine leere Seite an. Hier mal der Code:
Die header parameter sind gesetzt aber wie gesagt, die eigentliche seite ist leer. Einer eine Idee?
gruß
Thorsten
Ich habe einen Filter geschrieben, der den Header wie Pragma, Date, Content-Type usw verändert. D. h. ich kann die Header Parameter setzen, wie ich es möchte. Dies funktioniert wunderbar, aber er zeigt mir dann eine leere Seite an. Hier mal der Code:
Code:
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filter) throws IOException, ServletException {
String url = null;
if(request instanceof HttpServletRequest)
url = ((HttpServletRequest)request).getRequestURL().toString();
HttpServletRequest httpRequest = (HttpServletRequest)request;
HttpServletResponse httpResponse = (HttpServletResponse)response;
String[] parameters = this.paramRequest.split("\\;");
for(int i = 0; i < parameters.length; i++) {
String[] values = parameters[i].split("\\=");
//System.out.println(values[0] + ": " + values[1]);
httpRequest.setAttribute(values[0], values[1]);
}
parameters = this.paramResponse.split("\\;");
for(int i = 0; i < parameters.length; i++) {
String[] values = parameters[i].split("\\=");
System.out.println(values[0] + ": " + values[1]);
httpResponse.addHeader(values[0], values[1]);
}
try {
ServletInputStream in = httpRequest.getInputStream();
ServletOutputStream os = httpResponse.getOutputStream();
// Copy the contents of the file to the output stream
byte[] buf = new byte[1024];
int count;
while ((count = in.read(buf)) >= 0) {
os.write(buf, 0, count);
}
in.close();
os.flush();
os.close();
filter.doFilter(httpRequest, httpResponse);
} catch(IOException e) {
System.out.println(e.getCause());
}
}
Die header parameter sind gesetzt aber wie gesagt, die eigentliche seite ist leer. Einer eine Idee?
gruß
Thorsten