Announcement

Collapse
No announcement yet.

Probleme nach dem Reset

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Probleme nach dem Reset

    ich habe folgendes Problem: in meiner (Struts) Webanwendung, bekomme ich die folgende Fehlermeldung, wenn die Session verloren geht (Time-Out):
    java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    at java.util.ArrayList.RangeCheck(Unknown Source)
    at java.util.ArrayList.get(Unknown Source)
    at org.apache.commons.beanutils.PropertyUtils.getInde xedProperty(PropertyUtils.java:521)
    at org.apache.commons.beanutils.PropertyUtils.getInde xedProperty(PropertyUtils.java:428)
    at org.apache.commons.beanutils.PropertyUtils.getNest edProperty(PropertyUtils.java:770)
    at org.apache.commons.beanutils.PropertyUtils.getProp erty(PropertyUtils.java:801)
    at org.apache.commons.beanutils.BeanUtils.setProperty (BeanUtils.java:881)
    at org.apache.commons.beanutils.BeanUtils.populate(Be anUtils.java:808)
    at org.apache.struts.util.RequestUtils.populate(Reque stUtils.java:495)
    at org.apache.struts.action.RequestProcessor.processP opulate(RequestProcessor.java:798)
    at org.apache.struts.action.RequestProcessor.process( RequestProcessor.java:205)
    at org.apache.struts.action.ActionServlet.process(Act ionServlet.java:1164)
    at org.apache.struts.action.ActionServlet.doGet(Actio nServlet.java:397)
    at javax.servlet.http.HttpServlet.service(HttpServlet .java:689)
    at javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
    at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:173)
    at de.ktbl.controller.MyServletFilter.doFilter(MyServ letFilter.java:103)
    at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:868)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11 ConnectionHandler.processConnection(Http11BaseProt ocol.java:663)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.process Socket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThr ead.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Unknown Source)
    (ich änderte im web.xml des Tomcat den session-timeout auf 1 Minute) und nach einem Minute Warten bekomme ich dieses Problem.

    dieses Felher kommt genau nach der Reset-Methode vor.

    kann jemand bitte mir helfen?
    Danke

  • #2
    Was ist die Frage? Ohne eine Session kann struts nicht arbeiten
    Christian

    Comment


    • #3
      Hallo Christian,
      Originally posted by Christian Marquardt View Post
      Was ist die Frage? Ohne eine Session kann struts nicht arbeiten
      die Frage ist was bedutet diese Fehlermeldung, warum kommt sie vor wenn ich im web.xml des Tomcats den session-timeout auf 1 Minute ändere und nach einer Minute Warten bekomme ich dieses Problem.
      Ich habe eine Funktion geschrieben:
      Code:
      session.setAttribute(ConstantsDB.SESSIONATTRIBUT, "true");           
      StartseiteForm startForm = new StartseiteForm();       
      request.setAttribute(ConstantsDB.STARTSEITEFORM, startForm); 
      setSessionVerloren(true);       
      return mapping.findForward(ConstantsDB.SHOWSTART);
      die aufgerufen sollte, wenn die Session verloren geht.
      Nun leider bei manschen JSP's kommt die Anwendung so weit leider nicht, denn in der Reset-Funktion des Formes kracht es.

      ich habe die Listen, die auf im JSP im logic:iterator aufgerufen sind (nach der Struts Empfelung) in Reset initialsiert :

      Code:
      this.myList = new ArrayList();
      for (int i=0; i<getAusgweSubstrateList().size(); i++)
      this.myList.add("");und im Form so deklariert:
      
      public void setMyBean(int index, MyBean myBean){
      		if(index < myList.size()){
      			myList.set(index, myBean);
      		}else{
      			myList.add(index, myBean);
      		}
      	}
      public MyBean getMyBean(int index){
      		while(myList.size() <= index){
      			myList.add(new MyBean ());
      		}
      		return (MyBean) myList.get(index);	
      	}Und wird in JSP wird die Liste so aufgerufen:
      HTML Code:
      <nested:root name="MyForm">
        <nested:iterate property="myList" id="myBean">
          <nested:checkbox property="checkSelectIndex" />
      ….das alles hat es nicht geholfen!
      Weist Du was ich falsch mache?

      Danke

      Comment

      Working...
      X