tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anton Melser" <melser.an...@gmail.com>
Subject Re: problems with mod_jk modifying headers
Date Wed, 04 Jul 2007 07:39:50 GMT
On 04/07/07, Anton Melser <melser.anton@gmail.com> wrote:
> On 04/07/07, Bill Barker <wbarker@wilshire.com> wrote:
> >
> > "Anton Melser" <melser.anton@gmail.com> wrote in message
> > news:92d3a4950707020709p6dbc7b51md505ac0137b86199@mail.gmail.com...
> > > (maybe a repost?)
> > > Hi all,
> > > We are running tomcat 5.5.23 on java 1.6.0 (suse 10.0 with addon java6
> > > rpms for suse 10.1). These machines are load balanced behind an apache
> > > 2.2.2 with mod_jk jakarta-tomcat-connectors-1.2.15 (both compiled from
> > > sources). We have a page that is showing the html source instead of
> > > the page on firefox2. The funny thing is that when the page is
> > > accessed directly then the content type is text/html (and the page
> > > shows correctly) but when coming through mod_jk, it is coming as
> > > text/plain (and showing the source). This doesn't seem to bother
> > > IE7...
> > > Does anyone have any ideas?
> >
> > Well, the default content-type for httpd is text/plain, so if you have a
> > controller servlet something like:
> >
> >    protected void doGet(HttpServletRequest req, HttpServletResponse res)
> >      throws ServletException, IOException {
> >         req.setAttribute("myBean", myBean);
> >         RequestDispatcher rd =
> > getServletContext().getRequestDispatcher("/WEB-INF/jsps/display.jsp");
> >         rd.include(req, res);
> >     }
> >
> > Then the JSP page will not be able to add it's content-type header, so httpd
> > will add it's default content-type header when the response is sent back.
>
> We have this in our spring controller...
>
> ...
> response.setContentType("text/html; charset=UTF-8");
> response.setCharacterEncoding("UTF-8");
> Writer writer= response.getWriter();
> if(bText) {
>         writer.append("<html><head><meta http-equiv=\"Content-Type\"
> content=\"text/html; charset=UTF-8\">\n</head>\n<body>\n");
> }
>
> writer.append(pageBody);
>
> if(bText) {
>         writer.append("\n</body></html>");
> }
> ...
>
> And the funny thing is that it seems to work... but only for straight
> tomcat. I will make a confession - I do mainly .net these days and my
> java (particularly web) is lacking in any real depth of understanding.
> So I am guessing from your comments that the default content type of
> tomcat is text/html? That is what we get with straight tomcat...
> In any case, if this code is wrong then can someone give me a
> suggestion to make it right?
> Thanks again.
> Anton

Sorry, on closer inspection it was working because tomcat doesn't seem
to send any contenttype at all... changing the default apache
contenttype to text/html seems to work without any nefarious
consequences.
Thanks,
Anton

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message