import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
/**
* 流操作类
* @author wzztestin
*
*/
public class Streams {
/**
* 关闭输入流
*
* @param in
* 输入流
*/
public static void close(InputStream in) {
if (in != null) {
try {
in.close();
} catch (IOException ioex) {
// ignore
}
}
}
/**
* 关闭输出流
*
* @param out
* 输出流
*/
public static void close(OutputStream out) {
if (out != null) {
try {
out.flush();
} catch (IOException ioex) {
// ignore
}
try {
out.close();
} catch (IOException ioex) {
// ignore
}
}
}
}
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.microcare.framework.logs.Logit;
/**
* 新的验证码
* @author wzztestin
*
*/
public class NewYanZHengMa extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = -1434521774502002007L;
private static String AUTH_CODE_KEY = "fraudrand";
public void init() throws ServletException {
super.init();
}
/**
* 生成验证码
*/
@SuppressWarnings("static-access")
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
response.setContentType("image/jpeg");
Captcha captcha = new GifCaptcha(150,40,5);
captcha.getVilidCode();
int svalue = 0;
if("+".equals(captcha.getCzfu())){
svalue = Integer.parseInt(captcha.getOnenum()) + Integer.parseInt(captcha.getTwonum());
}else{
svalue = Integer.parseInt(captcha.getOnenum()) - Integer.parseInt(captcha.getTwonum());
}
setAuthCode(request, svalue+"");
Logit.errorLog("newyzm "+this.getAuthCode(request));
ServletOutputStream out = response.getOutputStream();
captcha.out(out);
out.flush();
return;
}
/**
* 得到验证码的值
* @param request
* @return
*/
public static String getAuthCode(HttpServletRequest request) {
String result = null;
if (request == null) {
Logit.errorLog("request is null!");
return result;
}
HttpSession session = request.getSession(false);
if (session == null) {
Logit.errorLog("session is null!");
return result;
}
if (session.getAttribute(AUTH_CODE_KEY) != null) {
result = (String)session.getAttribute(AUTH_CODE_KEY);
}
return result;
}
/**
* 把值存入session中
* @param request
* @param authCode
*/
public static void setAuthCode(HttpServletRequest request, String authCode) {
if (request == null || authCode == null) {
Logit.errorLog("request/authCode is null!");
return;
}
HttpSession session = request.getSession(true);
if (session == null) {
Logit.errorLog("session is null!");
return;
}
session.setAttribute(AUTH_CODE_KEY, authCode);
}
/**
* 移除验证码
* @param request
*/
public static void removeAuthCode(HttpServletRequest request) {
if (request == null) {
Logit.errorLog("request is null!");
return;
}
HttpSession session = request.getSession(false);
if (session == null) {
Logit.errorLog("session is null!");
return;
}
session.removeAttribute(AUTH_CODE_KEY);
}
}