servlet字符集设置问题

来源:互联网 发布:古墓丽影崛起配置优化 编辑:程序博客网 时间:2024/06/09 16:26
org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [EmpServlet] in context with path [/servlet20171208] threw exception
java.io.UnsupportedEncodingException: The character encoding [text/html;charset=utf-8] is not supported
at org.apache.tomcat.util.buf.B2CConverter.getCharsetLower(B2CConverter.java:91)
at org.apache.tomcat.util.buf.B2CConverter.getCharset(B2CConverter.java:78)
at org.apache.tomcat.util.buf.C2BConverter.<init>(C2BConverter.java:41)
at org.apache.catalina.connector.OutputBuffer.setConverter(OutputBuffer.java:619)
at org.apache.catalina.connector.OutputBuffer.checkConverter(OutputBuffer.java:581)
at org.apache.catalina.connector.Response.getWriter(Response.java:683)
at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:213)
at com.ztkj.servlet.EmpServlet.service(EmpServlet.java:38)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:442)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1082)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:623)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:722)


十二月 08, 2017 4:21:31 下午 org.apache.coyote.http11.AbstractHttp11Processor process
SEVERE: Error processing request
java.lang.NullPointerException
at org.apache.catalina.connector.OutputBuffer.realWriteChars(OutputBuffer.java:478)
at org.apache.tomcat.util.buf.CharChunk.flushBuffer(CharChunk.java:464)
at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:292)
at org.apache.catalina.connector.Response.finishResponse(Response.java:537)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:480)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1082)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:623)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Thread.java:722)



原因:

request.setCharacterEncoding("UTF-8");
----> response.setCharacterEncoding("text/html;charset=utf-8");

应该改为 response.setContentType("text/html;charset=utf-8");

原创粉丝点击