1. 程式人生 > >防止表單重複提交

防止表單重複提交

問題:什麼是表單重複提交?                     regist.jsp----->RegistServlet         表單重複提交 危害: 刷票、 重複註冊、帶來伺服器訪問壓力(拒絕服務)                  解決方案:         在頁面上生成一個令牌(就是一個隨機字串),將其儲存到session中,並在表單中攜帶.         在伺服器端,獲取資料時,也將令牌獲取,將它與session中儲存的token對比,沒問題,         將session中令牌刪除。              struts2中怎樣解決表單重複提交:         在struts2中解決表單重複提交,可以使用它定義的一個interceptor。          <interceptor name="token" class="org.apache.struts2.interceptor.TokenInterceptor"/>                  步驟:             1.在頁面上需要使用一個token tag                 在表單中新增一個標籤     <s:token/>                                      就會在頁面上生成一個令牌,並存在於表單中。                      2.需要在action中引入token攔截器                 <interceptor-ref name="token"/>                          3.需要配置檢視                 <result name="invalid.token">/token.jsp</result>                           通過 <s:actionError/> 顯示錯誤資訊          覆蓋重複提交資訊  struts.messages.invalid.token=您已經重複提交表單,請重新整理後重試