Thanks! I read this article. I set the request encoding at the servlet filter. I think that the servlet filter is the most earliest stage for the web application. The warning message is produced after call servlet filter. I use apache shale, I guess the issue may be the glassfish or the apache tile framework try to change the character encoding, but no way to debug this issue.
[Message sent by forum member 'joechang316' (joechang316)]
http://forums.java.net/jive/thread.jspa?messageID=280615