Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Glassfish 4 Cookie解析错误_Java_Rest_Spring Mvc_Cookies_Glassfish - Fatal编程技术网

Java Glassfish 4 Cookie解析错误

Java Glassfish 4 Cookie解析错误,java,rest,spring-mvc,cookies,glassfish,Java,Rest,Spring Mvc,Cookies,Glassfish,我正在使用GlassFish4和SpringMVC创建一个RESTful后端。前端客户端可以是两种类型,浏览器或REST客户端(node.js中的superagent)。从浏览器中可以很好地工作 然而,当我尝试从基于API的REST客户端(如superagent)发送请求时,我会遇到一个奇怪的异常 我用Glassfish 3尝试了我的代码,所有的客户端都正常工作 有人能告诉我为什么会这样吗?我解决了这个问题。当我使用超级代理发送请求时,它会以某种方式设置一个空cookie头。像Cookie一样:

我正在使用GlassFish4和SpringMVC创建一个RESTful后端。前端客户端可以是两种类型,浏览器或REST客户端(node.js中的superagent)。从浏览器中可以很好地工作

然而,当我尝试从基于API的REST客户端(如superagent)发送请求时,我会遇到一个奇怪的异常

我用Glassfish 3尝试了我的代码,所有的客户端都正常工作


有人能告诉我为什么会这样吗?

我解决了这个问题。当我使用超级代理发送请求时,它会以某种方式设置一个空cookie头。像Cookie一样:“” 如果我显式地将cookie值设置为类似cookie的值:“cook=ie”,那么一切都正常

我在superagent上发表了一篇文章:

我仍然不确定这个空标题是由于超级代理中的错误还是我的代码中存在一些缺陷。但目前我对临时解决方案还可以。

打开了一个窗口,因为这似乎是一个问题,在超级代理问题讨论之后,应该在玻璃鱼上解决。
java.lang.IllegalArgumentException
at org.glassfish.grizzly.http.util.CookieParserUtils.parseClientCookies(CookieParserUtils.java:353)
at org.glassfish.grizzly.http.util.CookieParserUtils.parseClientCookies(CookieParserUtils.java:336)
at org.glassfish.grizzly.http.Cookies.processClientCookies(Cookies.java:220)
at org.glassfish.grizzly.http.Cookies.get(Cookies.java:131)
at org.glassfish.grizzly.http.server.Request.parseCookies(Request.java:1911)
at org.glassfish.grizzly.http.server.Request.getCookies(Request.java:1505)
at org.apache.catalina.connector.Request.parseSessionCookiesId(Request.java:4077)
at org.apache.catalina.connector.CoyoteAdapter.postParseRequest(CoyoteAdapter.java:649)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:297)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:260)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:188)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:191)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:168)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:189)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:838)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:564)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544)
at java.lang.Thread.run(Thread.java:744)