You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Debraj Mallick <sr...@gmail.com> on 2011/11/28 13:02:56 UTC

exception while setting cookie

hi all,

i am setting cookie form action and i am getting exception :

org.apache.catalina.connector.CoyoteAdapter service
SEVERE: An exception or error occurred in the container during the request
processing
java.lang.ArrayIndexOutOfBoundsException
org.apache.coyote.http11.AbstractHttp11Processor endRequest
SEVERE: Error finishing response
java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at
org.apache.coyote.http11.AbstractOutputBuffer.write(AbstractOutputBuffer.java:491)
at
org.apache.coyote.http11.AbstractOutputBuffer.sendStatus(AbstractOutputBuffer.java:331)
at
org.apache.coyote.http11.AbstractHttp11Processor.prepareResponse(AbstractHttp11Processor.java:952)
at
org.apache.coyote.http11.AbstractHttp11Processor.action(AbstractHttp11Processor.java:739)
at org.apache.coyote.Response.action(Response.java:168)
at
org.apache.coyote.http11.AbstractOutputBuffer.endRequest(AbstractOutputBuffer.java:308)
at
org.apache.coyote.http11.InternalOutputBuffer.endRequest(InternalOutputBuffer.java:160)
at
org.apache.coyote.http11.AbstractHttp11Processor.endRequest(AbstractHttp11Processor.java:990)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:350)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:182)
at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)

my

i am using Struts 2.2.3.1 with tomcat 7

Re: exception while setting cookie

Posted by Maurizio Cucchiara <ma...@gmail.com>.
You should consider to use the session scope for this kind of use case
(though it could cause memory leak exception).
Aside from this is not a Struts issue

Sent from my mobile device, so please excuse typos and brevity.

Maurizio Cucchiara

Il giorno 28/nov/2011 14.25, "JOSE L MARTINEZ-AVIAL" <jl...@gmail.com> ha
scritto:
It seems that your cookie is bigger than the maximum admitted(which is 4k).


2011/11/28 Debraj Mallick <sr...@gmail.com>

> *my action : *
>
> public class SetCookie...

Re: exception while setting cookie

Posted by JOSE L MARTINEZ-AVIAL <jl...@gmail.com>.
It seems that your cookie is bigger than the maximum admitted(which is 4k).

2011/11/28 Debraj Mallick <sr...@gmail.com>

> *my action : *
>
> public class SetCookieAction extends ActionSupport implements
> ServletRequestAware, ServletResponseAware {
>
> private List<IngredientBean> ingredientBeanList;
>
> protected HttpServletResponse servletResponse;
>
> @Override
>    public void setServletResponse(HttpServletResponse servletResponse) {
>        this.servletResponse = servletResponse;
>    }
>
> protected HttpServletRequest servletRequest;
>
>    @Override
>    public void setServletRequest(HttpServletRequest servletRequest) {
>        this.servletRequest = servletRequest;
>    }
>
> public String AddCookie() {
>
> Gson gson = new Gson();
> ingredientBeanList = ingredientService.obtainAllIngredientsByUserId(new
> Long(2));
> String gstr = gson.toJson(ingredientBeanList);
> String str = Base64.encode(gstr.getBytes());
> Cookie mycookie = new Cookie("ingredientList", str);
>  mycookie.setMaxAge(60*60*24*365);
>  servletResponse.addCookie(mycookie);
> }
>
>  public IngredientService getIngredientService() {
>        return ingredientService;
>    }
> public void setIngredientService(IngredientService ingredientService) {
>        this.ingredientService = ingredientService;
>    }
> }
>
> *stack trace:*
> *
> *
> org.apache.catalina.connector.CoyoteAdapter service
> SEVERE: An exception or error occurred in the container during the request
> processing
> java.lang.ArrayIndexOutOfBoundsException: 8192
> at
>
> org.apache.coyote.http11.AbstractOutputBuffer.write(AbstractOutputBuffer.java:522)
> at
>
> org.apache.coyote.http11.AbstractOutputBuffer.write(AbstractOutputBuffer.java:429)
>  at
>
> org.apache.coyote.http11.AbstractOutputBuffer.sendHeader(AbstractOutputBuffer.java:395)
> at
>
> org.apache.coyote.http11.AbstractHttp11Processor.prepareResponse(AbstractHttp11Processor.java:965)
>  at
>
> org.apache.coyote.http11.AbstractHttp11Processor.action(AbstractHttp11Processor.java:739)
> at org.apache.coyote.Response.action(Response.java:170)
>  at org.apache.coyote.Response.sendHeaders(Response.java:350)
> at
> org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:315)
>  at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:275)
> at org.apache.catalina.connector.Response.finishResponse(Response.java:501)
>  at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:426)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317)
>  at
>
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
> at
>
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
>  at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>  at java.lang.Thread.run(Thread.java:662)
> org.apache.coyote.http11.AbstractHttp11Processor endRequest
> SEVERE: Error finishing response
> java.lang.ArrayIndexOutOfBoundsException
> at java.lang.System.arraycopy(Native Method)
> at
>
> org.apache.coyote.http11.AbstractOutputBuffer.write(AbstractOutputBuffer.java:491)
>  at
>
> org.apache.coyote.http11.AbstractOutputBuffer.sendStatus(AbstractOutputBuffer.java:331)
> at
>
> org.apache.coyote.http11.AbstractHttp11Processor.prepareResponse(AbstractHttp11Processor.java:952)
>  at
>
> org.apache.coyote.http11.AbstractHttp11Processor.action(AbstractHttp11Processor.java:739)
> at org.apache.coyote.Response.action(Response.java:168)
>  at
>
> org.apache.coyote.http11.AbstractOutputBuffer.endRequest(AbstractOutputBuffer.java:308)
> at
>
> org.apache.coyote.http11.InternalOutputBuffer.endRequest(InternalOutputBuffer.java:160)
>  at
>
> org.apache.coyote.http11.AbstractHttp11Processor.endRequest(AbstractHttp11Processor.java:990)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:350)
>  at
>
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
> at
>
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
>  at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>  at java.lang.Thread.run(Thread.java:662)
> org.apache.catalina.connector.CoyoteAdapter service
> SEVERE: An exception or error occurred in the container during the request
> processing
> java.lang.ArrayIndexOutOfBoundsException
> org.apache.coyote.http11.AbstractHttp11Processor endRequest
> SEVERE: Error finishing response
> java.lang.ArrayIndexOutOfBoundsException
> at java.lang.System.arraycopy(Native Method)
> at
>
> org.apache.coyote.http11.AbstractOutputBuffer.write(AbstractOutputBuffer.java:491)
> at
>
> org.apache.coyote.http11.AbstractOutputBuffer.sendStatus(AbstractOutputBuffer.java:331)
> at
>
> org.apache.coyote.http11.AbstractHttp11Processor.prepareResponse(AbstractHttp11Processor.java:952)
> at
>
> org.apache.coyote.http11.AbstractHttp11Processor.action(AbstractHttp11Processor.java:739)
> at org.apache.coyote.Response.action(Response.java:168)
> at
>
> org.apache.coyote.http11.AbstractOutputBuffer.endRequest(AbstractOutputBuffer.java:308)
> at
>
> org.apache.coyote.http11.InternalOutputBuffer.endRequest(InternalOutputBuffer.java:160)
> at
>
> org.apache.coyote.http11.AbstractHttp11Processor.endRequest(AbstractHttp11Processor.java:990)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:350)
> at
>
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
> at
>
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:182)
> at
>
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
> at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:662)
>
> i am using struts2.2.3.1, tomcat7  and STS
>

Re: exception while setting cookie

Posted by Debraj Mallick <sr...@gmail.com>.
*my action : *

public class SetCookieAction extends ActionSupport implements
ServletRequestAware, ServletResponseAware {

private List<IngredientBean> ingredientBeanList;

protected HttpServletResponse servletResponse;

@Override
    public void setServletResponse(HttpServletResponse servletResponse) {
        this.servletResponse = servletResponse;
    }

protected HttpServletRequest servletRequest;

    @Override
    public void setServletRequest(HttpServletRequest servletRequest) {
        this.servletRequest = servletRequest;
    }

public String AddCookie() {

Gson gson = new Gson();
ingredientBeanList = ingredientService.obtainAllIngredientsByUserId(new
Long(2));
String gstr = gson.toJson(ingredientBeanList);
String str = Base64.encode(gstr.getBytes());
Cookie mycookie = new Cookie("ingredientList", str);
 mycookie.setMaxAge(60*60*24*365);
 servletResponse.addCookie(mycookie);
}

 public IngredientService getIngredientService() {
        return ingredientService;
    }
public void setIngredientService(IngredientService ingredientService) {
        this.ingredientService = ingredientService;
    }
}

*stack trace:*
*
*
org.apache.catalina.connector.CoyoteAdapter service
SEVERE: An exception or error occurred in the container during the request
processing
java.lang.ArrayIndexOutOfBoundsException: 8192
at
org.apache.coyote.http11.AbstractOutputBuffer.write(AbstractOutputBuffer.java:522)
at
org.apache.coyote.http11.AbstractOutputBuffer.write(AbstractOutputBuffer.java:429)
 at
org.apache.coyote.http11.AbstractOutputBuffer.sendHeader(AbstractOutputBuffer.java:395)
at
org.apache.coyote.http11.AbstractHttp11Processor.prepareResponse(AbstractHttp11Processor.java:965)
 at
org.apache.coyote.http11.AbstractHttp11Processor.action(AbstractHttp11Processor.java:739)
at org.apache.coyote.Response.action(Response.java:170)
 at org.apache.coyote.Response.sendHeaders(Response.java:350)
at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:315)
 at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:275)
at org.apache.catalina.connector.Response.finishResponse(Response.java:501)
 at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:426)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317)
 at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
 at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
 at java.lang.Thread.run(Thread.java:662)
org.apache.coyote.http11.AbstractHttp11Processor endRequest
SEVERE: Error finishing response
java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at
org.apache.coyote.http11.AbstractOutputBuffer.write(AbstractOutputBuffer.java:491)
 at
org.apache.coyote.http11.AbstractOutputBuffer.sendStatus(AbstractOutputBuffer.java:331)
at
org.apache.coyote.http11.AbstractHttp11Processor.prepareResponse(AbstractHttp11Processor.java:952)
 at
org.apache.coyote.http11.AbstractHttp11Processor.action(AbstractHttp11Processor.java:739)
at org.apache.coyote.Response.action(Response.java:168)
 at
org.apache.coyote.http11.AbstractOutputBuffer.endRequest(AbstractOutputBuffer.java:308)
at
org.apache.coyote.http11.InternalOutputBuffer.endRequest(InternalOutputBuffer.java:160)
 at
org.apache.coyote.http11.AbstractHttp11Processor.endRequest(AbstractHttp11Processor.java:990)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:350)
 at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
 at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
 at java.lang.Thread.run(Thread.java:662)
org.apache.catalina.connector.CoyoteAdapter service
SEVERE: An exception or error occurred in the container during the request
processing
java.lang.ArrayIndexOutOfBoundsException
org.apache.coyote.http11.AbstractHttp11Processor endRequest
SEVERE: Error finishing response
java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at
org.apache.coyote.http11.AbstractOutputBuffer.write(AbstractOutputBuffer.java:491)
at
org.apache.coyote.http11.AbstractOutputBuffer.sendStatus(AbstractOutputBuffer.java:331)
at
org.apache.coyote.http11.AbstractHttp11Processor.prepareResponse(AbstractHttp11Processor.java:952)
at
org.apache.coyote.http11.AbstractHttp11Processor.action(AbstractHttp11Processor.java:739)
at org.apache.coyote.Response.action(Response.java:168)
at
org.apache.coyote.http11.AbstractOutputBuffer.endRequest(AbstractOutputBuffer.java:308)
at
org.apache.coyote.http11.InternalOutputBuffer.endRequest(InternalOutputBuffer.java:160)
at
org.apache.coyote.http11.AbstractHttp11Processor.endRequest(AbstractHttp11Processor.java:990)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:350)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:182)
at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)

i am using struts2.2.3.1, tomcat7  and STS

Re: exception while setting cookie

Posted by Ɓukasz Lenart <lu...@googlemail.com>.
I don't see any connections with Struts 2 code, could you provide more
details and the whole stack trace ?


Regards
--
Lukasz

2011/11/28 Debraj Mallick <sr...@gmail.com>:
> hi all,
>
> i am setting cookie form action and i am getting exception :
>
> org.apache.catalina.connector.CoyoteAdapter service
> SEVERE: An exception or error occurred in the container during the request
> processing
> java.lang.ArrayIndexOutOfBoundsException
> org.apache.coyote.http11.AbstractHttp11Processor endRequest
> SEVERE: Error finishing response
> java.lang.ArrayIndexOutOfBoundsException
> at java.lang.System.arraycopy(Native Method)
> at
> org.apache.coyote.http11.AbstractOutputBuffer.write(AbstractOutputBuffer.java:491)
> at
> org.apache.coyote.http11.AbstractOutputBuffer.sendStatus(AbstractOutputBuffer.java:331)
> at
> org.apache.coyote.http11.AbstractHttp11Processor.prepareResponse(AbstractHttp11Processor.java:952)
> at
> org.apache.coyote.http11.AbstractHttp11Processor.action(AbstractHttp11Processor.java:739)
> at org.apache.coyote.Response.action(Response.java:168)
> at
> org.apache.coyote.http11.AbstractOutputBuffer.endRequest(AbstractOutputBuffer.java:308)
> at
> org.apache.coyote.http11.InternalOutputBuffer.endRequest(InternalOutputBuffer.java:160)
> at
> org.apache.coyote.http11.AbstractHttp11Processor.endRequest(AbstractHttp11Processor.java:990)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:350)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:182)
> at
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:662)
>
> my
>
> i am using Struts 2.2.3.1 with tomcat 7
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org