java如何判断同一笔订单第二次请求 5
如果订单是第二次请求我返回“同一笔订单不能请求2次”对方服务端是post请求过来的我这边用的servlet接收;只有5分了,求大神解答第二次请求我这边不给处理直接返回“同...
如果订单是第二次请求我返回“同一笔订单不能请求2次”对方服务端是post请求过来的 我这边用的servlet接收;只有5分了 ,求大神解答
第二次请求我这边 不给处理直接返回“同一笔订单不能请求2次” 展开
第二次请求我这边 不给处理直接返回“同一笔订单不能请求2次” 展开
展开全部
有使用框架吗?
如果是使用框架可以使用框架自带的TOKEN令牌,
例如STRUTS
public ActionForward add(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
this.saveToken(request);//这个方法就是产生令牌值,struts已有的方法
return mapping.findForward("add");//返回新增页面
}
如果没有使用框架要SERVLET的话
就只能通过SESSION来自己定义令牌了。
1:定义一个servlet:AccessTokenServlet.并有一下内容:
String token = System.currentTimeMillis()+new Random().nextInt()+"";
MessageDigest md = MessageDigest.getInstace("md5");
byte[] md5 = md.digest(token.getBytes());
BASE64Encoder encoder = new BASE64Encoder();
String result = encoder.encode(md5);
至此生成一个唯一的字符串作为我们的令牌。并request.getSession().setAttribute("token",result);
最后,request.getDispatcher("/showLogin.jsp").forward(request,response);进行表单的提交。
(以上代码COPY摘自网络未调试仅供参考)
如果是使用框架可以使用框架自带的TOKEN令牌,
例如STRUTS
public ActionForward add(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
this.saveToken(request);//这个方法就是产生令牌值,struts已有的方法
return mapping.findForward("add");//返回新增页面
}
如果没有使用框架要SERVLET的话
就只能通过SESSION来自己定义令牌了。
1:定义一个servlet:AccessTokenServlet.并有一下内容:
String token = System.currentTimeMillis()+new Random().nextInt()+"";
MessageDigest md = MessageDigest.getInstace("md5");
byte[] md5 = md.digest(token.getBytes());
BASE64Encoder encoder = new BASE64Encoder();
String result = encoder.encode(md5);
至此生成一个唯一的字符串作为我们的令牌。并request.getSession().setAttribute("token",result);
最后,request.getDispatcher("/showLogin.jsp").forward(request,response);进行表单的提交。
(以上代码COPY摘自网络未调试仅供参考)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询