[Advanced-java] addHeader/setHeader Problem in JSP and Servlets.

Ethan Hunt prabhatr7 at hotmail.com
Fri Nov 25 00:07:30 PST 2005


HI All,

I am trying to send some headers from my JSP file to the servlet. I tried 
using this code.

response.addHeader("sample", "Sample Value");
response.setHeader("sample", "Sample Value");

In the servlet i tried retrieving them, but with no success.

I read somewhere that neither a JSP nor a servlet has the right to modify 
the request or response. So the suggestion was to use Filters. I have tried 
using filters the code is pasted hereunder. but this thing also doesnt seem 
to work.

JSP CODE
++++++++++++
<%
response.setContentType ("text/html");
response.setHeader("Sample","Sample Value");
System.out.println("CONTAINS HEADER = " + 
response.containsHeader("Sample"));
response.sendRedirect("CompressionTest");
%>
++++++++++++

FILTER CODE
++++++++++++
import java.io.IOException;
import java.util.Enumeration;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class TestFilter implements Filter{

    private FilterConfig config = null;

	public void init(FilterConfig filterConfig) {
        config = filterConfig;
    }

    public void destroy() {
        this.config = null;
    }

    public void doFilter ( ServletRequest request, ServletResponse response, 
FilterChain chain ) throws IOException, ServletException {

		System.out.println("INSIDE THE DOFILTER METHOD IN THE FILTER SERVLET. 
SETTING THE HEADER NOW.");
		HttpServletResponse httpresponse = (HttpServletResponse)response;
		HttpServletRequest httprequest = (HttpServletRequest)request;
		System.out.println("VALUE OF HEADER FROM JSP = " + 
httprequest.getHeader("Sample"));
		httpresponse.setHeader("testing", "testing value");
		System.out.println("INSIDE THE DOFILTER METHOD IN THE FILTER SERVLET. 
AFTER SETTING THE HEADER.");
		chain.doFilter(request, httpresponse);
		return;
    }
}
++++++++++++

SERVLET CODE
++++++++++++
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import javax.servlet.*;
import javax.servlet.http.*;

public class TestServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse 
response) throws ServletException, IOException {

		HttpServletRequest httprequest = (HttpServletRequest)request;
		System.out.println("VALUE OF HEADER FROM JSP = " + 
httprequest.getHeader("Sample"));
		System.out.println("VALUE OF HEADER FROM FILTER = " + 
httprequest.getHeader("testing"));
    }
}
++++++++++++

Pls help urgently!

Thnx and Regards
Prabhat

_________________________________________________________________
Find your dream machine. Click here Now 
http://www.sulekha.com/classifieds/cllist.aspx?catid=280&nma=IN&c=Autos&ref=msn&ref2=atx9



More information about the Advanced-java mailing list