tomcat6 tomcat7 [Request processing failed; nested exception is java.lang.Illega

HUIQQ0927 2014-04-29 04:23:06
1、项目在tomcat6,启动正常。登陆首页正常
2、但是在tomcat7,下启动正常,登陆首页报错
严重: Servlet.service() for servlet [cms] in context with path [/cms] threw exception [Request processing failed; nested exception is java.lang.IllegalArgumentException: Control character in cookie value or attribute.] with root cause
java.lang.IllegalArgumentException: Control character in cookie value or attribute.
at org.apache.tomcat.util.http.CookieSupport.isHttpSeparator(CookieSupport.java:192)
at org.apache.tomcat.util.http.CookieSupport.isHttpToken(CookieSupport.java:214)
at org.apache.tomcat.util.http.ServerCookie.appendCookieValue(ServerCookie.java:187)
at org.apache.catalina.connector.Response.generateCookieString(Response.java:1038)
at org.apache.catalina.connector.Response.addCookie(Response.java:981)
at org.apache.catalina.connector.ResponseFacade.addCookie(ResponseFacade.java:373)
at org.springframework.web.util.CookieGenerator.addCookie(CookieGenerator.java:165)
at org.springframework.web.servlet.i18n.CookieLocaleResolver.setLocale(CookieLocaleResolver.java:119)
at com.gcms.cms.web.AdminLocaleInterceptor.preHandle(AdminLocaleInterceptor.java:43)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:761)
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:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
...全文
47003 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
wallacefw 2017-01-19
  • 打赏
  • 举报
回复
这个我刚刚也遇到过,不过我用的ide工具是idea。遇到这个问题,我首先是看看lib包是否有对应依赖的jar包及里面有没有对应的xxx.class文件。如果这个有,你要看看你编译的文件是否是utf-8编译。如果这个都有,那么久看看你编译好的war包编译对不对。我遇到的情况就是war包编译不正确,idea把我对应的项目另外又编译了一个,只是它用了项目的大写符号。而我开发环境是jdk7+tomcat7.67+maven 3
小池先生 2014-10-16
  • 打赏
  • 举报
回复
楼上怎么解决的
HUIQQ0927 2014-05-04
  • 打赏
  • 举报
回复
问题已解决,传递的值是乱码tomcat6不报错,tomcat7报错。说明tomcat7更加安全么?
HUIQQ0927 2014-04-30
  • 打赏
  • 举报
回复
引用 10 楼 huxiweng 的回复:
你在过滤器里面打印下存储的cookie。中文的话先encode存进去。 tomcat7对cookie中文支持不友好
他走的是spring的过滤器,我没法写打印语句啊。
teemai 2014-04-29
  • 打赏
  • 举报
回复
你在过滤器里面打印下存储的cookie。中文的话先encode存进去。 tomcat7对cookie中文支持不友好
tony4geek 2014-04-29
  • 打赏
  • 举报
回复
就是cookie 问题,你先删除,试试看
HUIQQ0927 2014-04-29
  • 打赏
  • 举报
回复
自己 up 一下
HUIQQ0927 2014-04-29
  • 打赏
  • 举报
回复
引用 6 楼 wlwlwlwl015 的回复:
引用 3 楼 HUIQQ0927 的回复:
[quote=引用 1 楼 rui888 的回复:] 编码问题
我tomcat,web.xml什么都是utf-8啊。不解。搞了一天
环境不一致是容易出一些奇怪的问题~参考一下:参考 不光是页面的编码,主要是你用cookie存中文的时候再设置一次编码~[/quote] 问题是我页面上没有存cookie,启动可以正常通过,访问首页,org.springframework.orm.hibernate3.support.OpenSessionInViewFilter 进入这个过滤器,里面会设置cookie,然后设置cookie时候报的错。
小灯光环 2014-04-29
  • 打赏
  • 举报
回复
引用 3 楼 HUIQQ0927 的回复:
引用 1 楼 rui888 的回复:
编码问题
我tomcat,web.xml什么都是utf-8啊。不解。搞了一天
环境不一致是容易出一些奇怪的问题~参考一下:参考 不光是页面的编码,主要是你用cookie存中文的时候再设置一次编码~
tony4geek 2014-04-29
  • 打赏
  • 举报
回复
你用英文尝试个cookie 应该可以 , 。现在报错就是 Control character in cookie
小灯光环 2014-04-29
  • 打赏
  • 举报
回复
应该是因为tomcat7中cookie对中文的支持不够好~
HUIQQ0927 2014-04-29
  • 打赏
  • 举报
回复
引用 1 楼 rui888 的回复:
编码问题
我tomcat,web.xml什么都是utf-8啊。不解。搞了一天
tony4geek 2014-04-29
  • 打赏
  • 举报
回复
tony4geek 2014-04-29
  • 打赏
  • 举报
回复

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧