没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
由于 struts2 标签的性能不好,项目组决定不使用,但是如果用 struts2 自带的拦截器防止重
复提交又必须 struts 标签,所以只好自定拦器实现,具体步骤如下:
新建拦截器类:
public class TokenAtionInterceptor extends AbstractInterceptor {
public String intercept(ActionInvocation invocation) throws
Exception {
Map<String, Object> session =
invocation.getInvocationContext().getSession();
HttpServletRequest request =
ServletActionContext.getRequest();
String strGUID = RandomGUIDUtil.newGuid();
//生成令牌
String strRequestToken = (String)session.get("request_token");
//取出会话中的令牌
String strToken = request.getParameter("token"); //
页面中的令牌
if(strRequestToken != null && !
strRequestToken.equals(strToken)){ //重复提交,重置令牌
session.put("request_token", strGUID);
request.setAttribute("token", strGUID);
return "invalidToken";
}
session.put("request_token", strGUID);
request.setAttribute("token", strGUID);
return invocation.invoke(); //否则正常运行
}
}
建一个生成令牌的工具类:
public class RandomGUIDUtil extends Object {
/** 日志管理类对象 */
private Logger logger =
Logger.getLogger(this.getClass().getName());
public String valueBeforeMD5 = "";
public String valueAfterMD5 = "";
private static Random myRand;
private static SecureRandom mySecureRand;
private static String s_id;
资源评论
- Jwbasta2012-03-03这个自定义拦截器写的还不错,可惜没有和前台页面结合在一起
- 刷刷面试2013-03-12不错的东东,很好很强大
- NinjaPanda2012-11-27很实用的 谢谢分享
- aaaa4663506652012-10-08很好很实用,思想我在项目中借鉴了,谢谢
wencan83
- 粉丝: 0
- 资源: 16
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功