The URL http://myserver/Construction/ (with trailing slash) yields the same
results as http://myserver/Construction (without trailing slash).
I think I may have solved the problem. I didn't write this webapp, but have
inherited it so I'm still learning it's inner workings.
The controller servlet is using three
rd = req.getRequestDispatcher("something.jsp");
rd.include(req,resp);
blocks (with essentially header, main content, and footer .jsp files) to
assemble the final output page. Initially there was no req.setContentType() at
all. Once I added req.setContentType("text/html") it appears to have resolved
the problem.
w00t.
I've used rd.forward() and don't think I ever had to use setContentType(), but
have never used rd.include() in my own webapps. I guess since include() adds
only a portion of a page, you have to treat the whole deal more like a servlet
and explicitly set the content-type.
Thanks for the help.
David
Pid wrote:
> David Rush wrote:
>> Pid:
>>
>> Yes, I've removed the explicit mapping.
>>
>> "Sometimes" because when I use the URL http://myserver:8080/Construction
>> (direct to Tomcat listening port) it works fine (HTML is rendered).
>> When I use http://myserver/Construction (via reverse proxy forwarding
>> through Apache httpd) it fails (I get HTML markup in the browser window).
>
> What about "http://myserver/Construction/" (note extra slash)
>
>> When I use http://myserver/Construction/index.html (where index.html is
>> mapped in web.xml to a controller servlet and index.html is my sole
>> welcome-file) it works fine.
>>
>> I'm not using AJP. I'm just using straight reverse-proxy style HTTP
>> forwarding with mod_proxy, with this snippet from my httpd.conf file:
>
> (Sorry, I spotted that after I'd sent the reply.)
>
>
>> ...
>> ProxyPass /Construction http://localhost:8080/Construction
>> ProxyPassReverse /Construction http://localhost:8080/Construction
>> ...
>>
>> My Apache httpd docroot has always been separate and distinct from my Tomcat
>> webapps directory.
>
> Looking at your headers again, I see that Tomcat is trying to serve the
> result as plain html. What happens if you use "index.jsp" as the sole
> welcome file (and map that to the controller, obviously)?
>
> Check "index.jsp" is included in the DirectoryIndex in HTTPD.
>
>
> p
>
>
>
>> David
>>
>> Pid wrote:
>>> David Rush wrote:
>>>> I checked my web.xml, and found no mime-mapping elements at all. I tried
>>>> adding one explicitly mapping the jsp extension to text/html, but it had
>>>> no effect. I'm still getting HTML markup in the browser window with
>>>> Firefox.
>>>>
>>>> David
>>> Ignore that, it's a red herring, you don't need to add mime-mappings.
>>>
>>> You say the problem occurs 'sometimes' with Firefox, can you elaborate
>>> on which times and if there's a commonality between these requests?
>>>
>>>
>>> The fault is usually in the AJP mapping you've configured. Are you
>>> using mod_jk, and if so, what is the config?
>>>
>>> Also, try splitting your HTTP docroot and Tomcat webapps folders (a
>>> correct mapping will mean it still works properly). If the JSPs are in
>>> another location than the HTTP docs, they can't be served as raw HTML,
>>> by accident.
>>>
>>>
>>> p
>>>
>>>
>>>
>>>
>>>
>>>> Martin Gainty wrote:
>>>>> David
>>>>>
>>>>> did you check your mime-mapping in your web.xml
>>>>> perchance are you mapping jsp to text/plain?
>>>>> is any other extension mapped to text/plain?
>>>>>
>>>>> <mime-mapping>
>>>>> <extension>jsp</extension>
>>>>> <mime-type>text/plain</mime-type>
>>>>> </mime-mapping>
>>>>>
>>>>> Martin
>>>>> ______________________________________________
>>>>> Disclaimer and Confidentiality/Verzicht und Vertraulichkeitanmerkung /
>>>>> Note de déni et de confidentialité
>>>>> This message is confidential. If you should not be the intended receiver,
>>>>> then we ask politely to report. Each unauthorized forwarding or
>>>>> manufacturing of a copy is inadmissible. This message serves only for the
>>>>> exchange of information and has no legal binding effect. Due to the easy
>>>>> manipulation of emails we cannot take responsibility over the the
>>>>> contents.
>>>>> Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene
>>>>> Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede
>>>>> unbefugte Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese
>>>>> Nachricht dient lediglich dem Austausch von Informationen und entfaltet
>>>>> keine rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit
>>>>> von E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen.
>>>>> Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas
>>>>> le destinataire prévu, nous te demandons avec bonté que pour satisfaire
>>>>> informez l'expéditeur. N'importe quelle diffusion non autorisée ou la
>>>>> copie de ceci est interdite. Ce message sert à l'information seulement et
>>>>> n'aura pas n'importe quel effet légalement obligatoire. Étant donné que
>>>>> les email peuvent facilement être sujets à la manipulation, nous ne
>>>>> pouvons accepter aucune responsabilité pour le contenu fourni.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>> Date: Sat, 25 Apr 2009 05:46:03 -0600
>>>>>> From: [email protected]
>>>>>> To: [email protected]
>>>>>> Subject: Re: Browser shows source of .jsp file. Why?
>>>>>>
>>>>>> I'm having the same problem, where markup is sometimes appearing in the
>>>>>> browser window instead of the rendered HTML.
>>>>>>
>>>>>> I'm using my own server (MS Windows Server 2003), with Tomcat 6.0.18
>>>>>> behind a reverse proxy on Apache 2.2.11.
>>>>>>
>>>>>> When I access one of my webapps via Tomcat's port
>>>>>> (http://myserver:8080/Construction/) it works fine. When I access it
>>>>>> via the reverse proxy (http://myserver/Construction) using Firefox 3.0.9
>>>>>> I see the HTML markup displayed in the browser's window. When I access
>>>>>> the webapp via IE either way, it works fine. Google Chrome produces the
>>>>>> same results as Firefox.
>>>>>>
>>>>>> Via Live HTTP Headers, when I access through the reverse proxy I see:
>>>>>>
>>>>>> HTTP/1.x 200 OK
>>>>>> Date: Sat, 25 Apr 2009 11:39:11 GMT
>>>>>> Server: Apache-Coyote/1.1
>>>>>> Keep-Alive: timeout=5, max=100
>>>>>> Connection: Keep-Alive
>>>>>> Transfer-Encoding: chunked
>>>>>> Content-Type: text/plain
>>>>>>
>>>>>> I suspect the "Content-Type: text/plain" is a clue. Straight to Tomcat
>>>>>> I see:
>>>>>>
>>>>>> HTTP/1.x 200 OK
>>>>>> Server: Apache-Coyote/1.1
>>>>>> Set-Cookie: JSESSIONID=53C3EC973BB365AAF92A1EC66F03271A;
>>>>>> Path=/Construction
>>>>>> Transfer-Encoding: chunked
>>>>>> Date: Sat, 25 Apr 2009 11:37:06 GMT
>>>>>>
>>>>>> No "Content-Type" produced at all.
>>>>>>
>>>>>> When I access it with Firefox via the Apache reverse proxy via the URL
>>>>>> http://myserver/Construction/index.html (which is just mapped in web.xml
>>>>>> to the controlling servlet, and my welcome-file is index.html), the
>>>>>> webapp displays correctly, and the headers say:
>>>>>>
>>>>>> HTTP/1.x 200 OK
>>>>>> Date: Sat, 25 Apr 2009 11:42:27 GMT
>>>>>> Server: Apache-Coyote/1.1
>>>>>> Keep-Alive: timeout=5, max=100
>>>>>> Connection: Keep-Alive
>>>>>> Transfer-Encoding: chunked
>>>>>> Content-Type: text/html
>>>>>>
>>>>>> I have 3 different webapps, but I only see the problem with one of them.
>>>>>>
>>>>>> My reverse proxy configuration includes:
>>>>>>
>>>>>> ProxyPass /Construction http://localhost:8080/Construction
>>>>>> ProxyPassReverse /Construction http://localhost:8080/Construction
>>>>>>
>>>>>> David
>>>>>>
>>>>>> dfobox wrote:
>>>>>>> I have JSP-based website running on my own server and I want to move it
>>>>>>> to
>>>>>>> hosting company. I've copied the files, they said they have enabled
>>>>>>> Tomcat
>>>>>>> for me, but browser shows source of the pages, even of those which don't
>>>>>>> have any script code inside - only properly formatted html. What could
>>>>>>> be a
>>>>>>> problem? Thanks!
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: [email protected]
>>>>>> For additional commands, e-mail: [email protected]
>>>>>>
>>>>> _________________________________________________________________
>>>>> Rediscover Hotmail®: Get e-mail storage that grows with you.
>>>>> http://windowslive.com/RediscoverHotmail?ocid=TXT_TAGLM_WL_HM_Rediscover_Storage2_042009
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [email protected]
>>>> For additional commands, e-mail: [email protected]
>>>>
>>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>>
>>>
>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]