I think there should be two jira tickets, one with the Dojo stuff(I created one for that already), and another with the servlet/date stuff.

On a side note, I created a custom profile and compiled Dojo(really easy) and everything worked fine, with caching and all, I will mention it on the dev list to see what other people think for 2.0.3.

musachy

Dariusz Wojtas wrote:
Hello again,

The static content is served by the main Struts2 Filter:
 org.apache.struts2.dispatcher.FilterDispatcher
method:
 findStaticResource(String, HttpServletResponse)


1) The response headers in non english-locale
---------------------------------------
The (possible) issue with date headers in response comes from
the fact that this method does not use
  response.setDateHeader(name, value);
but
  response.setHeader(name, value);
instead.
Possibly it is done this way to improve performance of generating headers
because it creates a SimpleDateFormat with the correct pattern.
But here are possible problems:
a) the SimpleDateFormat uses default locale (in my case Polish)
   and the output does not comply the required standard
     RFC 1123, chapter 5.2.14  "RFC-822 Date and Time Specification"
     RFC 822, section 5.  "DATE AND TIME SPECIFICATION"

   If the filter wants to format dates on it's own, it should create
formatter with the Locale.ENGLISH (there exists constructor that allows it).

   Sample response with locale PL
    Pn, 04 gru 2006 07:55:53 GMT
   while it should be:
    Mon, 04 Dec 2006 07:55:53 GMT


b) [POSSIBLE BUG] as the SimpleDateFormat javadoc states (since JDK 1.4),
   it is not safe if multiple threads are accessing the same formatter.
This may really lead to some inconsistencies and I would treat it as a bug.


2) If-Modified-Since
---------------------------------------
This header should be evaluated in the same method:
findStaticResource(String, HttpServletResponse)
A little extra condition and the issue with resending full content
all-the-time is fixed.
I could send a patch if there is some interest in it.

Best regards
 Dariusz Wojtas

---------------------------------------------------------------------
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]

Reply via email to