防止表單重複提交
問題:什麼是表單重複提交? 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=您已經重複提交表單,請重新整理後重試