文档章节

springmvc防止form表单重复提交

iiiiiSKY
 iiiiiSKY
发布于 2016/03/26 12:59
字数 101
阅读 635
收藏 11
public class TokenHandlerInterceptor implements HandlerInterceptor {
            
    @Override
    public void afterCompletion(HttpServletRequest arg0,
            HttpServletResponse arg1, Object arg2, Exception arg3)
            throws Exception {
        
    }

    @Override
    public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,
            Object arg2, ModelAndView arg3) throws Exception {
        
    }

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
            Object object) throws Exception {
        if((request.getParameter("token")!=null)) {
            String token = request.getParameter("token").toString();
            String sessionToken = request.getSession().getAttribute("token").toString();
            if(sessionToken!=null&&!token.equals(sessionToken)) {
                request.getRequestDispatcher("/page/reForm.jsp").forward(request, response);
                return false;
            }
        }
        String header = request.getHeader("X-request-with");
        
        if(!"XMLHttpRequest".equals(header)) {
            request.getSession().setAttribute("token", UUID.randomUUID());
        }
        
        return true;
    }

}


© 著作权归作者所有

上一篇: Log4j配置
下一篇: log4j基础配置
iiiiiSKY
粉丝 3
博文 42
码字总数 2819
作品 0
程序员
私信 提问
表单防重复提交

防止表单重复提交 介绍了使用 redirect 技术防止表单提交,但是 redirect 解决不了后退到表单页面时重复提交表单,为了解决这个问题,加入了 token 的机制。如果每个 form 相关的处理方法中都...

NotFoundException
2015/09/06
314
0
SpringMVC 防止表单提交的解决方案

在平时开发中,如果网速比较慢的情况下, 用户提交表单后,发现服务器半天没有响应,用户可能以为是自己没有提交表单,就会再点击提交按钮重复提交表单,所以在开发中我们需要防止表单重复提交 1....

陈小扁
2016/04/22
513
0
Controller接口控制器学习2

本文为转载学习 原文链接:http://jinnianshilongnian.iteye.com/blog/1611743 ServletForwardingController 将接收到的请求转发到一个命名的servlet,具体示例如下: package cn.javass.ch...

heroShane
2014/01/25
49
0
Spring中formdata方式提交json对象和file之一

问题 想使用vue-resource表单提交方式到spring,这个表单中包含json对象和file对象。 思路 将json对象和file对象都放到表单提交方式里面的中,并在中指定内容格式。 步骤 Spring实现和配置 ...

亚林瓜子
2018/06/12
289
0
在SpringMVC中使用拦截器(interceptor)拦截CSRF攻击

关于什么是CSRF我这里就不多说了,以前转载的一篇文章(PS:https://www.zifangsky.cn/358.html)已经说得很清楚了。这里只是简单介绍如何在SpringMVC中使用拦截器拦截CSRF攻击。具体代码如下...

pangfc
2016/11/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java通过ServerSocket与Socket实现通信

首先说一下ServerSocket与Socket. 1.ServerSocket ServerSocket是用来监听客户端Socket连接的类,如果没有连接会一直处于等待状态. ServetSocket有三个构造方法: (1) ServerSocket(int port);...

Blueeeeeee
46分钟前
4
0
用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
4
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
13
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
14
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部