发布网友
共1个回答
热心网友
有使用框架吗?
如果是使用框架可以使用框架自带的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());
BASEEncoder encoder = new BASEEncoder();
String result = encoder.encode(md5);
至此生成一个唯一的字符串作为我们的令牌。并request.getSession().setAttribute("token",result);
最后,request.getDispatcher("/showLogin.jsp").forward(request,response);进行表单的提交。
(以上代码COPY摘自网络未调试仅供参考)