您的位置:首页 > 其它

进制转换

2009-06-16 17:28 183 查看
很多时候在做系统 特别是在登陆的时候为了提高安全性 有必要生成验证码。。。。。。。

1.先产生验证码字符序列,将产生的验证字符画到一到图上

package com.qdys.b2b.web.action.adie;
import java.io.IOException;
import java.util.Map;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.qdys.b2b.web.util.RandomCodeHelper;
public class CheckCode extends ActionSupport {
private static final Logger log = Logger.getLogger(CheckCode.class);
private static final long serialVersionUID = 1L;
// 标识是哪儿需要产生验证码(登陆、注册、添加友情链接)
private String flag;
public String getCode() {
Map<String, Object> session = ActionContext.getContext().getSession();
HttpServletResponse response = ServletActionContext.getResponse();
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
response.setContentType("image/jpeg");
String code = RandomCodeHelper.getRandomCode();
log.debug("#####" + flag + ":" + code);
try {
ImageIO.write(RandomCodeHelper.getBufferedImage(60, 20, code),
"jpeg", response.getOutputStream());
} catch (IOException e) {
e.printStackTrace();
}
session.put(flag, code);
return null;
}
/**
* @return the flag
*/
public String getFlag() {
return flag;
}
/**
* @param flag
*            the flag to set
*/
public void setFlag(String flag) {
this.flag = flag;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: