Add some debugging code to your app to find the point where the
Last-Modified header is added. Call HttpServletResponse.containsHeader
to see if the header has been set.
-- 
Len



On Fri, Dec 18, 2009 at 10:47, Abid Hussain <abid.huss...@dilax.com> wrote:
> OK, it seems that tomcat is working correctly.
>
> Still I would like to get the root cause of my problem which is again:
> The last-modified response header is delivered in the locale of the
> server. E.g. if this locale is polish or germen, the header is delivered
> in polish resp. german format which is not correct and causes
> misbehaviour.
>
> Naturally I just can set the locale to en_US to get the desired header
> format. But this is not the root cause of the problem. The question is:
> How can the format of this header can be set (or overridden) to the
> server's locale?
> I tried the following:
> * Asked Google: Nothing found.
> * Searched for occurences of "last-modified" in the source code of my
> application: Nothing found.
> * Looked if the methods HttpServletResponse.setHeader() or
> HttpServletResponse.addHeader() are used with the "last-modified"
> somewhere in my application: Nothing found.
> * Looked if one of the configured filters modify the header: Nothing
> found.
> * Looked if any valves are used: None.
>
> Anybody got an idea how I can investigate further?
>
> Regards,
>
> Abid
>
>> -----Ursprüngliche Nachricht-----
>> Von: André Warnier [mailto:a...@ice-sa.com]
>> Gesendet: Freitag, 18. Dezember 2009 13:56
>> An: Tomcat Users List
>> Betreff: Re: AW: Re: AW: RE: RE: Ignore http header if-modified-since
>>
>> Mark Thomas wrote:
>> > On 18/12/2009 09:36, André Warnier wrote:
>> >> Christopher Schultz wrote:
>> >>> -----BEGIN PGP SIGNED MESSAGE-----
>> >>> Hash: SHA1
>> >>>
>> >>> Abid,
>> >>>
>> >>> On 12/17/2009 12:08 PM, Abid Hussain wrote:
>> >>>> I used the startup parameters
>> >>>> -Duser.language=en
>> >>>> -Duser.region=US
>> >>>> This caused Tomcat to deliver the Last-Modified in the
>> correct format.
>> >>>>
>> >>>> That solved the problem, no 404 anymore, thanks.
>> >>>> So it seems to be a bug in tomcat...?
>> >>> I would say so.
>> >>>
>> >>> http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1
>> >>>
>> >>> Tomcat's behavior seems to ignore the specification,
>> here. Would you
>> >>> care to share your Tomcat version with us?
>> >
>> > So far, I haven't seen anything that demonstrates Tomcat is
>> generating
>> > this header. It looks like an app issue to me. My testing
>> with trunk,
>> > 6.0.x and 6.0.20 all show the correct format being used.
>> >
>> >> I think that once this is confirmed, it may be worth raising its
>> >> visibility a bit for the Tomcat developers.
>> >
>> > As always before reporting an error, I'd highly recommend
>> generating a
>> > simple as possible test case that demonstrates the issue on a clean
>> > Tomcat install. I can't repeat this and at the moment it
>> looks like an
>> > application issue. Any bug report that can't be repeated is
>> just going
>> > to get closed as WORKSFORME.
>> >
>>
>> For a confirmation of what Mark says above, I ran some tests.
>>
>> This Tomcat 5.5 is a pretty vanilla version, with just the
>> standard example apps and not much more, on my Windows workstation.
>> Versions are not the latest ones, I know.
>>
>> INFO: Starting Servlet Engine: Apache Tomcat/5.5.26 Platform
>> : Windows XP, German Java :
>> java version "1.6.0_06"
>> Java(TM) SE Runtime Environment (build 1.6.0_06-b02) Java
>> HotSpot(TM) Client VM (build 10.0-b22, mixed mode, sharing)
>>
>> Tomcat running as service, stopped and restarted before each
>> test below
>>
>> A) Platform default
>>   Tomcat startup parameters as per tomcat5w.exe :
>> -Dcatalina.home=C:\Tomcat5.5
>> -Dcatalina.base=C:\Tomcat5.5
>> -Djava.endorsed.dirs=C:\Tomcat5.5\common\endorsed
>> -Djava.io.tmpdir=C:\Tomcat5.5\temp
>> -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
>> -Djava.util.logging.config.file=C:\Tomcat5.5\conf\logging.properties
>>
>> (platform default)
>>
>> Request:
>> (Request-Line)        GET /RELEASE-NOTES.txt HTTP/1.1
>> Host  localhost:8180
>> User-Agent    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB;
>> rv:1.9.1.3)
>> Gecko/20090824 Firefox/3.5.3
>> Accept
>> text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
>> Accept-Language       en-gb,en;q=0.5
>> Accept-Encoding       gzip,deflate
>> Accept-Charset        ISO-8859-1,utf-8;q=0.7,*;q=0.7
>> Keep-Alive    300
>> Connection    keep-alive
>> If-Modified-Since     Mon, 28 Jan 2008 20:38:54 GMT
>> If-None-Match W/"7697-1201552734000"
>> Cache-Control max-age=0
>>
>> Response:
>> (Status-Line) HTTP/1.1 304 Not Modified
>> Server        Apache-Coyote/1.1
>> Etag  W/"7697-1201552734000"
>> Date  Fri, 18 Dec 2009 11:37:58 GMT
>>
>> B) Adding explicit "DE" startup parameters
>>   Tomcat startup parameters as per tomcat5w.exe :
>> -Dcatalina.home=C:\Tomcat5.5
>> -Dcatalina.base=C:\Tomcat5.5
>> -Djava.endorsed.dirs=C:\Tomcat5.5\common\endorsed
>> -Djava.io.tmpdir=C:\Tomcat5.5\temp
>> -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
>> -Djava.util.logging.config.file=C:\Tomcat5.5\conf\logging.properties
>> -Duser.language=de
>> -Duser.region=DE
>>
>> Request :
>> (Request-Line)        GET /RELEASE-NOTES.txt HTTP/1.1
>> Host  localhost:8180
>> User-Agent    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB;
>> rv:1.9.1.3)
>> Gecko/20090824 Firefox/3.5.3
>> Accept
>> text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
>> Accept-Language       en-gb,en;q=0.5
>> Accept-Encoding       gzip,deflate
>> Accept-Charset        ISO-8859-1,utf-8;q=0.7,*;q=0.7
>> Keep-Alive    300
>> Connection    keep-alive
>> If-Modified-Since     Mon, 28 Jan 2008 20:38:54 GMT
>> If-None-Match W/"7697-1201552734000"
>> Cache-Control max-age=0
>>
>> Response :
>> (Status-Line) HTTP/1.1 304 Not Modified
>> Server        Apache-Coyote/1.1
>> Etag  W/"7697-1201552734000"
>> Date  Fri, 18 Dec 2009 11:26:01 GMT
>>
>>
>> C) Adding explicit "FR" startup parameters
>>   Tomcat startup parameters as per tomcat5w.exe :
>> -Dcatalina.home=C:\Tomcat5.5
>> -Dcatalina.base=C:\Tomcat5.5
>> -Djava.endorsed.dirs=C:\Tomcat5.5\common\endorsed
>> -Djava.io.tmpdir=C:\Tomcat5.5\temp
>> -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
>> -Djava.util.logging.config.file=C:\Tomcat5.5\conf\logging.properties
>> -Duser.language=fr
>> -Duser.region=FR
>>
>> Request;
>> (Request-Line)        GET /RELEASE-NOTES.txt HTTP/1.1
>> Host  localhost:8180
>> User-Agent    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB;
>> rv:1.9.1.3)
>> Gecko/20090824 Firefox/3.5.3
>> Accept
>> text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
>> Accept-Language       en-gb,en;q=0.5
>> Accept-Encoding       gzip,deflate
>> Accept-Charset        ISO-8859-1,utf-8;q=0.7,*;q=0.7
>> Keep-Alive    300
>> Connection    keep-alive
>> If-Modified-Since     Mon, 28 Jan 2008 20:38:54 GMT
>> If-None-Match W/"7697-1201552734000"
>> Cache-Control max-age=0
>>
>> Response:
>> (Status-Line) HTTP/1.1 304 Non Modifié
>> Server        Apache-Coyote/1.1
>> Etag  W/"7697-1201552734000"
>> Date  Fri, 18 Dec 2009 11:34:13 GMT
>>
>>
>> In other words, changing the
>> -Duser.language=xx
>> -Duser.region=xx
>> Java command-line parameters don't seem to make a difference
>> in the headers returned by Tomcat, and these headers do not
>> seem to include an "Last-Modified" header.
>> If you look closely at the 3d example above however, you'll
>> see that the HTTP status line, in the French case, /is/
>> modified compared to the default. So Tomcat definitely is
>> sensitive to the JVM language setting for some things.
>>
>> Finally, I added a test with a new file, to see if I could
>> obtain the Last-Modified header somehow :
>>
>> D) still French settings
>>   Tomcat startup parameters as per tomcat5w.exe :
>> -Dcatalina.home=C:\Tomcat5.5
>> -Dcatalina.base=C:\Tomcat5.5
>> -Djava.endorsed.dirs=C:\Tomcat5.5\common\endorsed
>> -Djava.io.tmpdir=C:\Tomcat5.5\temp
>> -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
>> -Djava.util.logging.config.file=C:\Tomcat5.5\conf\logging.properties
>> -Duser.language=fr
>> -Duser.region=FR
>>
>> Request:
>> (Request-Line)        GET /RELEASE-NOTES_updated.txt HTTP/1.1
>> Host  localhost:8180
>> User-Agent    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB;
>> rv:1.9.1.3)
>> Gecko/20090824 Firefox/3.5.3
>> Accept
>> text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
>> Accept-Language       en-gb,en;q=0.5
>> Accept-Encoding       gzip,deflate
>> Accept-Charset        ISO-8859-1,utf-8;q=0.7,*;q=0.7
>> Keep-Alive    300
>> Connection    keep-alive
>>
>>
>> Response:
>> (Status-Line) HTTP/1.1 200 OK
>> Server        Apache-Coyote/1.1
>> Etag  W/"7697-1201552734000"
>> Last-Modified Mon, 28 Jan 2008 20:38:54 GMT
>> Content-Type  text/plain
>> Content-Length        7697
>> Date  Fri, 18 Dec 2009 11:47:39 GMT
>>
>> This time (1st request for a new document), I did get a
>> "Last-Modified"
>> header, but despite the French setting, it is definitely an
>> English Last-Modified date.
>>
>> It seems that in some cases, the Last-Modified header /is/
>> being generated by Tomcat, but it is always the "en" version.
>>
>> Hope this helps
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>> For additional commands, e-mail: users-h...@tomcat.apache.org
>>
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to