当前位置: 首页 > news >正文

外贸企业网站评价案例全网精准获客营销

外贸企业网站评价案例,全网精准获客营销,wordpress推送到公众号,c2c平台举例这篇博文介绍第一种方法#xff1a;判断session或其他缓存中保存的token#xff0c;这里以session为例#xff0c;具体大家也可以自行扩展以其他的缓存实现。这种方式比较麻烦#xff0c;每次在提交表单时都必须传入上次的token。而且当一个页面使用ajax时#xff0c;多个…这篇博文介绍第一种方法判断session或其他缓存中保存的token这里以session为例具体大家也可以自行扩展以其他的缓存实现。这种方式比较麻烦每次在提交表单时都必须传入上次的token。而且当一个页面使用ajax时多个表单提交就会有问题。1、自定义注解FormToken注解的作用主要是用来标识哪些类需要被拦截处理防重复提交的问题具体代码如下package io.mykit.filter.spring.repeat.annotation;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Inherited;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;/*** 以Token注解形式方式重复提交内容* author liuyazhuang**/InheritedTarget(ElementType.METHOD)Retention(RetentionPolicy.RUNTIME)Documentedpublic interface FormToken {boolean save() default false;boolean remove() default false;}2、创建拦截器类FormTokenInterceptor这个类主要是对标识了FormToken的方法进行拦截并且按照相应的规则进行处理FormTokenInterceptor不进行具体的规则处理具体规则交由子类实现。具体代码如下package io.mykit.filter.spring.repeat.interceptor;import java.lang.reflect.Method;import java.util.UUID;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.method.HandlerMethod;import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;import io.mykit.filter.spring.repeat.annotation.FormToken;/*** 基于Token形式的防重复提交拦截器* author liuyazhuang**/public abstract class FormTokenInterceptor extends HandlerInterceptorAdapter {Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {if (handler instanceof HandlerMethod) {HandlerMethod handlerMethod (HandlerMethod) handler;Method method handlerMethod.getMethod();FormToken annotation method.getAnnotation(FormToken.class);if (annotation ! null) {boolean needSaveSession annotation.save();if (needSaveSession) {request.getSession(false).setAttribute(formToken, UUID.randomUUID().toString());}boolean needRemoveSession annotation.remove();if (needRemoveSession) {if (isRepeatSubmit(request)) {return false;}request.getSession(false).removeAttribute(formToken);}}return true;} else {return super.preHandle(request, response, handler);}}/*** 具体规则交由子类实现* param request* return*/public abstract boolean isRepeatSubmit(HttpServletRequest request);}3、创建具体规则实现类MyFormTokenInterceptor这个类继承FormTokenInterceptor类实现isRepeatSubmit方法来提供具体的处理规则这个类也是本例提供的处理方式如果大家想用其他的处理方式可自行定义处理类继承FormTokenInterceptor实现isRepeatSubmit方法即可这也体现了本实例的高可扩展性。具体代码如下package io.mykit.filter.spring.repeat.interceptor.impl;import javax.servlet.http.HttpServletRequest;import io.mykit.filter.spring.repeat.interceptor.FormTokenInterceptor;/*** 具体规则的实现,这种方式页面需要添加* * author liuyazhuang**/public class MyFormTokenInterceptor extends FormTokenInterceptor {Overridepublic boolean isRepeatSubmit(HttpServletRequest request) {String serverToken (String) request.getSession(false).getAttribute(formToken);if (serverToken null) {return true;}String clinetToken request.getParameter(formToken);if (clinetToken null) {return true;}if (!serverToken.equals(clinetToken)) {return true;}return false;}}4、配置springmvc-interceptor.xml文件xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:phttp://www.springframework.org/schema/pxmlns:contexthttp://www.springframework.org/schema/contextxmlns:mvchttp://www.springframework.org/schema/mvcxmlns:aophttp://www.springframework.org/schema/aopxsi:schemaLocationhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-2.5.xsdhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.1.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.0.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd5、具体使用在相关的web工程中的springmvc配置文件中引入springmvc-interceptor.xml文件如下当你自己继承FormTokenInterceptor类实现了具体的拦截规则时就不能在相关的web工程中的springmvc配置文件中引入springmvc-interceptor.xml文件了需要添加如下配置然后在接口的方法上加上注解即可。在需要生成token的controller上增加FormToken(savetrue)而在需要检查重复提交的controller上添加FormToken(removetrue)就可以了。另外你需要在view里在form里增加下面代码注意在ajax提交时 要加上 formToken参数6、附上pom.xml依赖配置UTF-8javax.servletjavax.servlet-api3.0.1cglibcglib3.2.6com.alibabafastjson1.2.47org.springframeworkspring-expression${spring.version}org.springframeworkspring-messaging${spring.version}org.springframeworkspring-jms${spring.version}org.springframeworkspring-aop${spring.version}org.springframeworkspring-jdbc${spring.version}org.springframeworkspring-context${spring.version}org.springframeworkspring-context-support${spring.version}org.springframeworkspring-web${spring.version}org.aspectjaspectjtools1.9.1org.springframeworkspring-webmvc${spring.version}
http://www.yutouwan.com/news/328941/

相关文章:

  • 做网站动态背景的图片网站怎么验证用户是否登陆
  • 网站搜索功能设计wordpress的加密算法
  • 台州建网站公司外链收录网站
  • 精湛的网站建设排行榜网络销售模式有哪些
  • dede笑话网站源码网站推广站点建设与策划
  • 做漫画网站空间多大项目管理软件p6
  • 公司网站怎么做产品图片手机怎么创建网站
  • 做网站编辑好还是美工好策划方案范文
  • 网站首页怎么设计加强学科网站建设
  • 办公用品网站建设网站开发设计流程图
  • wordpress如何备份优化设计答案五年级上册
  • 云服务器网站搭建什么网站可以买世界杯
  • 零基础搭建网站大兴模版网站建设公司
  • 做化妆品代理在那些网站比较多怎么在网站挂黑链接
  • 网站开发有哪些电子商务如何做网站销售
  • 网站YYQQ建设国外免费网站
  • xp系统做网站服务器吗深圳建网站的
  • 网站seo最新优化方法在线编写html网页代码
  • 家装公司网站开发方案地推团队
  • 整个网站全是图片做的西网站建设公司
  • 网站建设工作小组百度识图软件
  • 网站建设先进个人总结招商加盟网
  • 东营网站建设it运维职业规划
  • 永康营销型网站建设不用vip也能看的黄台的app
  • 青岛做网站哪家好为什么凡科网做的网站无法搜索
  • 泰州专门做网站设计类专业专科学校
  • 关于进一步加强门户网站建设品牌管理的三大要素
  • 无人机公司网站建设信和财富网站开发
  • 怎么做企业网站wordpress 自定义导航
  • 达人设计网官方网站如何创立个人网站