[Seasar-user:11156] Re: ボタンを1回押したら「二重サブミットされました」

Junichi Kato [E-MAIL ADDRESS DELETED]
2007年 10月 19日 (金) 22:31:07 JST


小林さん,
加藤です.

> 対応しました.
> 以下に SNAPSHOT を置いたのでご確認ください.

確認しました.

フォームは複数あるのですが,doOnceが1つしかない画面で,そのdoOnceをクリッ
クすると,二重サブミットの例外が発生しました.

よろしくお願いします.

** after *****************************************: /view/account/accountArtistMusicEditAlbum.html
  Response class=org.apache.catalina.connector.ResponseFacade, instance=[E-MAIL ADDRESS DELETED]
  [request]account_accountArtistMusicEditAlbumPage=bz.hoge.hoge.web.web.account.AccountArtistMusicEditAlbumPage$$EnhancedByS2AOP$$[E-MAIL ADDRESS DELETED]
  [request]facesContext=[E-MAIL ADDRESS DELETED]
  [request]javax.faces.webapp.GLOBAL_ID_VIEW={}
  [request]javax.servlet.jsp.jstl.fmt.locale.request=ja
  [request]layout_accountMusicSubMenuPage=bz.hoge.hoge.web.web.layout.AccountMusicSubMenuPage$$EnhancedByS2AOP$$[E-MAIL ADDRESS DELETED]
  [request]layout_accountTwoColLayoutPage=bz.hoge.hoge.web.web.layout.AccountTwoColLayoutPage$$EnhancedByS2AOP$$[E-MAIL ADDRESS DELETED]
  [request]layout_accountUserSubMenuPage=bz.hoge.hoge.web.web.layout.AccountUserSubMenuPage$$EnhancedByS2AOP$$[E-MAIL ADDRESS DELETED]
  [request]layout_footerPage=bz.hoge.hoge.web.web.layout.FooterPage$$EnhancedByS2AOP$$[E-MAIL ADDRESS DELETED]
  [request]layout_headerAfterAuthPage=bz.hoge.hoge.web.web.layout.HeaderAfterAuthPage$$EnhancedByS2AOP$$[E-MAIL ADDRESS DELETED]
  [request]layout_menuPage=bz.hoge.hoge.web.web.layout.MenuPage$$EnhancedByS2AOP$$[E-MAIL ADDRESS DELETED]
  [request]org.apache.myfaces.component.html.util.ExtensionFilter.doFilterCalled=true
  [request]org.seasar.framework.container.hotdeploy.HotdeployFilter=[E-MAIL ADDRESS DELETED]
  [request]org.seasar.teeda.extension.html.impl.HtmlComponentInvokerImpl={layout_headerAfterAuthPage=true, layout_accountMusicSubMenuPage=true, layout_accountTwoColLayoutPage=true, layout_footerPage=true, layout_menuPage=true, account_accountArtistMusicEditAlbumPage=true, layout_accountUserSubMenuPage=true}
  [request]org.seasar.teeda.extension.render.TViewRootRenderer=[[E-MAIL ADDRESS DELETED]]
  [request]org.seasar.teeda.extension.render.TViewRootRenderer.INDEX=-1
  [request]org.seasar.teeda.extension.render.html.THtmlHeadRenderer.CSS_KEY=[]
  [request]org.seasar.teeda.extension.render.html.THtmlHeadRenderer.INLINE_CSS_KEY={}
  [request]org.seasar.teeda.extension.render.html.THtmlHeadRenderer.INLINE_JS_KEY={}
  [request]org.seasar.teeda.extension.render.html.THtmlHeadRenderer.JS_KEY=[]
  [request]org.seasar.teeda.extension.util.TransactionTokenUtil.TOKEN.SAVED=b63f309a0bf7a40d14b2148de2bdac0c
  [request]postback=false
  [request]previousViewId=/view/account/accountArtistMusicEditAlbum.html
  [cookie]JSESSIONID=2FC1F4337E7C3C589A4BEE53E02C5D65
  [session]javax.faces.internal.scope.PageScope={null={org.seasar.teeda.extension.Condition={layoutChildBody:mainForm:_id28:isProducer=true, isNotAuthed=false, isAuthed=true, _id19:menuForm:isMerchandise=false, _id24:footerForm:isMerchandise=false}}}
  [session]javax.faces.internal.scope.RedirectScope={null={}}
  [session]javax.faces.internal.scope.SubApplicationScope={null={org.seasar.teeda.extension.util.TransactionTokenUtil.PREVIOUS_TOKEN=6ba7120e910bf7b7327edb44e08dd972, org.seasar.teeda.extension.html.PagePersistence.SUBAPPLICATION={}, org.seasar.teeda.extension.util.TransactionTokenUtil.CURRENT_TOKEN=b63f309a0bf7a40d14b2148de2bdac0c}}
  [session]javax.faces.request.charset=UTF-8
  [session]org.seasar.teeda.core.lifecycle.impl.RestoreViewPhase.VIEW_ID_LRU={null=/view/account/accountArtistMusicEditAlbum.html}
  [session]paymentSessionDto=[E-MAIL ADDRESS DELETED]
  [session]userAccountDto=[E-MAIL ADDRESS DELETED]
  [context]javax.servlet.context.tempdir=D:\Develop\Tools\eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\work\Catalina\localhost\hoge-web
  [context]org.apache.catalina.WELCOME_FILES=[Ljava.lang.String;@1a52b3b
  [context]org.apache.catalina.resources=[E-MAIL ADDRESS DELETED]
  [context]org.seasar.teeda.core.config.webapp.element.WebappConfig=[E-MAIL ADDRESS DELETED]

DEBUG 2007-10-19 22:18:56,038 [http-8080-Processor25] HOT deployを終了しました
DEBUG 2007-10-19 22:19:02,917 [http-8080-Processor23] HOT deployを開始します
DEBUG 2007-10-19 22:19:02,917 [http-8080-Processor23] 

** before *****************************************: /view/account/accountArtistMusicEditAlbum.html
  Request class=org.apache.catalina.connector.RequestFacade, instance=[E-MAIL ADDRESS DELETED]
  RequestedSessionId=2FC1F4337E7C3C589A4BEE53E02C5D65
  REQUEST_URI=/hoge-web/view/account/accountArtistMusicEditAlbum.html, SERVLET_PATH=/view/account/accountArtistMusicEditAlbum.html
  CharacterEncoding=UTF-8, ContentLength=8746, ContentType=multipart/form-data; boundary=---------------------------29027276212639, Locale=ja, Locales=ja, en_US, en, Scheme=http, isSecure=false
  SERVER_PROTOCOL=HTTP/1.1, REMOTE_ADDR=0:0:0:0:0:0:0:1, REMOTE_HOST=0:0:0:0:0:0:0:1, SERVER_NAME=localhost, SERVER_PORT=8080
  ContextPath=/hoge-web, REQUEST_METHOD=POST, QUERY_STRING=null, PathInfo=null, RemoteUser=null
  Session SessionId=2FC1F4337E7C3C589A4BEE53E02C5D65
  Session :: CreationTime=1192799568787, LastAccessedTime=1192799933926, MaxInactiveInterval=3600
  [request]org.seasar.framework.container.hotdeploy.HotdeployFilter=[E-MAIL ADDRESS DELETED]
  [cookie]JSESSIONID=2FC1F4337E7C3C589A4BEE53E02C5D65
  [header]accept=text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
  [header]accept-charset=Shift_JIS,utf-8;q=0.7,*;q=0.7
  [header]accept-encoding=gzip,deflate
  [header]accept-language=ja,en-us;q=0.7,en;q=0.3
  [header]connection=keep-alive
  [header]content-length=8746
  [header]content-type=multipart/form-data; boundary=---------------------------29027276212639
  [header]cookie=JSESSIONID=2FC1F4337E7C3C589A4BEE53E02C5D65
  [header]host=localhost:8080
  [header]keep-alive=300
  [header]referer=http://localhost:8080/hoge-web/view/account/accountArtistMusicEditAlbum.html
  [header]user-agent=Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.8.1.8) Gecko/20071008 Firefox/2.0.0.8
  [session]javax.faces.internal.scope.PageScope={null={org.seasar.teeda.extension.Condition={layoutChildBody:mainForm:_id28:isProducer=true, isNotAuthed=false, isAuthed=true, _id19:menuForm:isMerchandise=false, _id24:footerForm:isMerchandise=false}}}
  [session]javax.faces.internal.scope.RedirectScope={null={}}
  [session]javax.faces.internal.scope.SubApplicationScope={null={org.seasar.teeda.extension.util.TransactionTokenUtil.PREVIOUS_TOKEN=6ba7120e910bf7b7327edb44e08dd972, org.seasar.teeda.extension.html.PagePersistence.SUBAPPLICATION={}, org.seasar.teeda.extension.util.TransactionTokenUtil.CURRENT_TOKEN=b63f309a0bf7a40d14b2148de2bdac0c}}
  [session]javax.faces.request.charset=UTF-8
  [session]org.seasar.teeda.core.lifecycle.impl.RestoreViewPhase.VIEW_ID_LRU={null=/view/account/accountArtistMusicEditAlbum.html}
  [session]paymentSessionDto=[E-MAIL ADDRESS DELETED]
  [session]userAccountDto=[E-MAIL ADDRESS DELETED]
  [context]javax.servlet.context.tempdir=D:\Develop\Tools\eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\work\Catalina\localhost\hoge-web
  [context]org.apache.catalina.WELCOME_FILES=[Ljava.lang.String;@1a52b3b
  [context]org.apache.catalina.resources=[E-MAIL ADDRESS DELETED]
  [context]org.seasar.teeda.core.config.webapp.element.WebappConfig=[E-MAIL ADDRESS DELETED]

DEBUG 2007-10-19 22:19:03,251 [http-8080-Processor23] クラス(bz.hoge.hoge.web.web.account.AccountArtistMusicEditAlbumPage[account_accountArtistMusicEditAlbumPage])のコンポーネント定義を登録します
DEBUG 2007-10-19 22:19:03,346 [http-8080-Processor23] クラス(bz.hoge.hoge.web.logic.impl.AESChipherLogicImpl[AESChipherLogic])のコンポーネント定義を登録します
DEBUG 2007-10-19 22:19:03,364 [http-8080-Processor23] クラス(bz.hoge.hoge.web.logic.impl.Base64EncodeLogicImpl[base64EncodeLogic])のコンポーネント定義を登録します
WARN  2007-10-19 22:19:03,384 [http-8080-Processor23] bz.hoge.hoge.web.web.account.AccountArtistMusicEditAlbumPage$$EnhancedByS2AOP$$19444b1のプロパティ(uploadedFile)が見つからないので設定をスキップします
DEBUG 2007-10-19 22:19:03,401 [http-8080-Processor23] クラス(bz.hoge.hoge.web.bao.AlbumApplyBao[albumApplyBao])のコンポーネント定義を登録します
DEBUG 2007-10-19 22:19:03,485 [http-8080-Processor23] クラス(bz.hoge.hoge.web.web.account.AccountDxo[account_accountDxo])のコンポーネント定義を登録します
DEBUG 2007-10-19 22:19:03,684 [http-8080-Processor23] クラス(bz.hoge.hoge.web.dto.UserAccountDto[userAccountDto])のコンポーネント定義を登録します
DEBUG 2007-10-19 22:19:03,687 [http-8080-Processor23] クラス(bz.hoge.hoge.web.dto.PaymentSessionDto[paymentSessionDto])のコンポーネント定義を登録します
DEBUG 2007-10-19 22:19:03,693 [http-8080-Processor23] クラス(bz.hoge.hoge.web.logic.impl.AuthenticationLogicImpl[authenticationLogic])のコンポーネント定義を登録します
DEBUG 2007-10-19 22:19:03,717 [http-8080-Processor23] クラス(bz.hoge.hoge.web.logic.impl.CodeCreateLogicImpl[codeCreateLogic])のコンポーネント定義を登録します
DEBUG 2007-10-19 22:19:03,729 [http-8080-Processor23] クラス(bz.hoge.hoge.web.logic.impl.ImageConvertLogicImpl[imageConvertLogic])のコンポーネント定義を登録します
DEBUG 2007-10-19 22:19:03,784 [http-8080-Processor23] クラス(bz.hoge.hoge.web.logic.impl.ImageMetaLogicImpl[imageMetaLogic])のコンポーネント定義を登録します
DEBUG 2007-10-19 22:19:03,811 [http-8080-Processor23] クラス(bz.hoge.hoge.web.logic.impl.ItemsBuilderLogicImpl[itemsBuilderLogic])のコンポーネント定義を登録します
DEBUG 2007-10-19 22:19:03,907 [http-8080-Processor23] クラス(bz.hoge.hoge.web.logic.impl.ValidatorBuilderLogicImpl[validatorBuilderLogic])のコンポーネント定義を登録します
DEBUG 2007-10-19 22:19:03,975 [http-8080-Processor23] クラス(bz.hoge.hoge.web.validator.TJanCodeValidator[TJanCodeValidator])のコンポーネント定義を登録します
DEBUG 2007-10-19 22:19:03,982 [http-8080-Processor23] [ETDA0109]二重サブミットされました。 (/view/account/accountArtistMusicEditAlbum.html ページの doOnceUpload)
org.seasar.teeda.extension.exception.DoubleSubmittedException: [ETDA0109]二重サブミットされました。 (/view/account/accountArtistMusicEditAlbum.html ページの doOnceUpload)
	at org.seasar.teeda.extension.component.html.THtmlCommandButton.isDoubleSubmitted(THtmlCommandButton.java:73)
	at org.seasar.teeda.extension.component.html.THtmlCommandButton.broadcast(THtmlCommandButton.java:58)
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:192)
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:117)
	at org.seasar.teeda.core.lifecycle.impl.InvokeApplicationPhase.executePhase(InvokeApplicationPhase.java:29)
	at org.seasar.teeda.core.lifecycle.AbstractPhase.execute(AbstractPhase.java:57)
	at org.seasar.teeda.core.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:97)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:94)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:122)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.seasar.teeda.core.filter.RequestDumpFilter.doFilter(RequestDumpFilter.java:125)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:63)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:77)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:69)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke(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.invoke(StandardEngineValve.java:107)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
	at java.lang.Thread.run(Unknown Source)
DEBUG 2007-10-19 22:19:03,984 [http-8080-Processor23] 

** after *****************************************: /view/account/accountArtistMusicEditAlbum.html
  Response class=org.apache.catalina.connector.ResponseFacade, instance=[E-MAIL ADDRESS DELETED]
  [request]account_accountArtistMusicEditAlbumPage=bz.hoge.hoge.web.web.account.AccountArtistMusicEditAlbumPage$$EnhancedByS2AOP$$[E-MAIL ADDRESS DELETED]
  [request]facesContext=[E-MAIL ADDRESS DELETED]
  [request]org.apache.myfaces.component.html.util.ExtensionFilter.doFilterCalled=true
  [request]org.seasar.framework.container.hotdeploy.HotdeployFilter=[E-MAIL ADDRESS DELETED]
  [request]org.seasar.teeda.core.lifecycle.LifecycleImpl.EXECUTED=org.seasar.teeda.core.lifecycle.LifecycleImpl.EXECUTED
  [request]org.seasar.teeda.extension.render.TViewRootRenderer=[[E-MAIL ADDRESS DELETED]]
  [request]org.seasar.teeda.extension.render.TViewRootRenderer.INDEX=-1
  [request]postback=true
  [request]previousViewId=/view/account/accountArtistMusicEditAlbum.html
  [request]teeda.SUBMITTED_COMMAND=doOnceUpload
  [request]teeda.jsf.error.exception=org.seasar.teeda.extension.exception.DoubleSubmittedException: [ETDA0109]二重サブミットされました。 (/view/account/accountArtistMusicEditAlbum.html ページの doOnceUpload)
  [request]teeda.jsf.error.exception_type=class org.seasar.teeda.extension.exception.DoubleSubmittedException
  [request]teeda.jsf.error.message=[ETDA0109]二重サブミットされました。 (/view/account/accountArtistMusicEditAlbum.html ページの doOnceUpload)
  [cookie]JSESSIONID=2FC1F4337E7C3C589A4BEE53E02C5D65
  [session]javax.faces.internal.scope.PageScope={null={org.seasar.teeda.extension.Condition={layoutChildBody:mainForm:_id28:isProducer=true, isNotAuthed=false, isAuthed=true, _id19:menuForm:isMerchandise=false, _id24:footerForm:isMerchandise=false}}}
  [session]javax.faces.internal.scope.RedirectScope={null={Teeda.ErrorManager.Exception=org.seasar.teeda.extension.exception.DoubleSubmittedException: [ETDA0109]二重サブミットされました。 (/view/account/accountArtistMusicEditAlbum.html ページの doOnceUpload), javax.faces.internal.scope.RedirectScope=/hoge-web/view/error/error.html, org.seasar.teeda.extension.html.PagePersistence.REDIRECT={}}}
  [session]javax.faces.internal.scope.SubApplicationScope={null={org.seasar.teeda.extension.html.PagePersistence.SUBAPPLICATION={}}}
  [session]javax.faces.request.charset=UTF-8
  [session]org.seasar.teeda.core.lifecycle.impl.RestoreViewPhase.VIEW_ID_LRU={null=/view/account/accountArtistMusicEditAlbum.html}
  [session]paymentSessionDto=[E-MAIL ADDRESS DELETED]
  [session]userAccountDto=[E-MAIL ADDRESS DELETED]
  [context]javax.servlet.context.tempdir=D:\Develop\Tools\eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\work\Catalina\localhost\hoge-web
  [context]org.apache.catalina.WELCOME_FILES=[Ljava.lang.String;@1a52b3b
  [context]org.apache.catalina.resources=[E-MAIL ADDRESS DELETED]
  [context]org.seasar.teeda.core.config.webapp.element.WebappConfig=[E-MAIL ADDRESS DELETED]

DEBUG 2007-10-19 22:19:04,024 [http-8080-Processor23] HOT deployを終了しました
DEBUG 2007-10-19 22:19:04,037 [http-8080-Processor23] HOT deployを開始します
DEBUG 2007-10-19 22:19:04,037 [http-8080-Processor23] 


───────────────────────────────
 株式会社 グランテック
 代表取締役社長
 加藤 潤一 Junichi Kato

〒154-0012
東京都世田谷区駒沢2-16-1 サンドー駒沢ビル4F
TEL 050-5538-2383  FAX 03-3487-7211
HP : http://www.grandtech.jp/
BLOG : http://d.hatena.ne.jp/j5ik2o/
E-MAIL : [E-MAIL ADDRESS DELETED]




Seasar-user メーリングリストの案内