VerifyCodeFrontController.java
2.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
package com.lhcredit.project.webbusiness.controller;
import com.lhcredit.common.utils.VerifyCodeUtils;
import com.lhcredit.framework.web.controller.BaseController;
import com.lhcredit.framework.web.domain.ResponseVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
/**
* 验证码
* @author zhaobh
*
*/
@RequestMapping("/web/web_verifyCodeFrontController")
@Controller
public class VerifyCodeFrontController extends BaseController {
// private static final Logger logger = LoggerFactory.getLogger(VerifyCodeFrontController.class);
/**
* 登录/注册- 获取验证码图片流zhaobh
* @param request
* @param response
* @throws IOException
*/
// @DevelopingLogAnnotation(interfaceName="web_verifyCodeController/web_getImage.form")
@RequestMapping("/web_getImage.form")
public void getImage(HttpServletRequest request, HttpServletResponse response) throws IOException{
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
response.setContentType("image/jpeg");
//生成随机字串
String verifyCode = VerifyCodeUtils.generateVerifyCode(4);
//存入会话session
HttpSession session = request.getSession(true);
//删除以前的
//session.removeAttribute("verCode");
session.setAttribute("verCode", verifyCode.toLowerCase());
//生成图片
int w = 100, h = 30;
VerifyCodeUtils.outputImage(w, h, response.getOutputStream(), verifyCode);
}
/**
* 登录/注册- 验证输入验证码是否正确 zhaobh
* @param request
* @param response
* @param code 必传参数
* @throws IOException
*/
// @DevelopingLogAnnotation(interfaceName="web_verifyCodeController/web_testCode.form")
@RequestMapping("/web_testCode.form")
@ResponseBody
public ResponseVo testCode(HttpServletRequest request, HttpServletResponse response, String code) throws IOException{
ResponseVo responseVo=new ResponseVo("5000","验证码输入错误",null);
//boolean success = true;
try {
String returnCode="2000";
String msg = "验证码输入正确";
HttpSession session = request.getSession(true);
String verCode = session.getAttribute("verCode").toString();
if (!verCode.toLowerCase().equals(code.toLowerCase())) {
//success = false;
returnCode="2010";
msg = "验证码输入错误";
}
responseVo.setCode(returnCode);
responseVo.setMsg(msg);
} catch (Exception e) {
e.printStackTrace();
}
return responseVo;
}
}