,我遇到了一個Grails web應用程序一個奇怪的問題下的Grails運行時UnsupportedEncodingException拋出:使用樹脂和Grails
java.io.UnsupportedEncodingException
是相當頻繁拋出由於各種未知的編碼字符串(如"ISO8859_10"
,"ISO-8859-10"
)和奇怪的是,這完全是在Resin和Grails代碼中完成的。那就是 - 拋出異常時不涉及自定義代碼。
我不確定它是否是Grails或應該處理異常的servlet容器的代碼。但我會假設這個異常應該在某處處理,而不是一直泡到stderr。
這是例外,在全:
java.io.UnsupportedEncodingException: ISO-8859-10
at com.caucho.vfs.i18n.JDKWriter$OutputStreamEncodingWriter.<init>(JDKWriter.java:112)
at com.caucho.vfs.i18n.JDKWriter.create(JDKWriter.java:79)
at com.caucho.vfs.Encoding.getWriteEncoding(Encoding.java:231)
at com.caucho.server.connection.ToByteResponseStream.setEncoding(ToByteResponseStream.java:137)
at com.caucho.server.connection.AbstractHttpResponse.setLocale(AbstractHttpResponse.java:1683)
at com.caucho.server.connection.HttpServletResponseImpl.setLocale(HttpServletResponseImpl.java: 115)
at javax.servlet.ServletResponseWrapper.setLocale(ServletResponseWrapper.java:139)
at javax.servlet.ServletResponseWrapper.setLocale(ServletResponseWrapper.java:139)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1035)
at org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet.doDispatch(GrailsDispatcherServlet.java:290)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:552)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:114)
我的問題:
- 應例外處理?如果是這樣,它是servlet容器(Resin)還是Web框架(Grails)的責任?
- 你會如何去解決這個問題? (我寧願沒有異常記錄雜亂無章的異常,我什麼都不能做。)