利用同步令牌(Token)机制可以解决Web应用中重复提交的问题,Struts通过org.apache.struts.action.Action类中提供的一系列和Token相关的方法给出一个参考实现:
1.protected boolean isTokenValid(javax.servlet.http.HttpServletRequset requset)
判断存储在当前用户会话中的令牌值和请求参数中的令牌值是否匹配。如果匹配,就返回true,否则返回false.只要符合以下情况之一,就会返回false:
2.protected void resetToken(javax.servlet.http.HttpServletRequest request)
从当前session范围内删除令牌属性。
3.protected void saveToken(javax.servlet.http.HttpServletRequest request)
创建一个新的令牌,并把它保存在当前session范围内,如果HttpSession对象不存在就首先创建一个HttpSession对象。
同时
下面就一个小例子来详细的讲叙Struts中如何利用Token解决重复提交:
< xml version="1.0" encoding="UTF-8" >