package com.qm; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.util.Map; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.interceptor.ServletResponseAware; import org.apache.struts2.interceptor.SessionAware; import com.opensymphony.xwork2.ActionSupport; import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGImageEncoder; public class TestAction extends ActionSupport implements SessionAware,ServletResponseAware{ private String name; private String password; private Map<String, Object> session; private HttpServletResponse response; private static final long serialVersionUID = 1L; private String chknumber; @Override public String execute() throws Exception{ response.setHeader("Cache-Control", "no-cache"); int width=90; //图片宽度 int height=26; //图片高度 BufferedImage image=new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB); Graphics graphics=image.createGraphics(); graphics.setColor(this.getColor()); //背景颜色 graphics.fillRect(0, 0, width, height); graphics.setFont(new Font("Arial",Font.BOLD,18)); graphics.setColor(this.getColor()); //字的颜色 String number=String.valueOf(System.currentTimeMillis()%9000+1000); //生成四位随机数 session.put("randomCode", number); //写入session中 graphics.drawString(number, (int)(width*0.3), (int)(height*0.8)); graphics.dispose(); JPEGImageEncoder encoder=JPEGCodec.createJPEGEncoder(response.getOutputStream()); encoder.encode(image); response.getOutputStream().flush(); //刷新到页面生成图片 response.getOutputStream().close(); //关闭writer return null; } private Color getColor(){ int red=(int)(Math.random()*1000%256); int green=(int)(Math.random()*1000%256); int blue=(int)(Math.random()*1000%256); return new Color(red,green,blue); } /** * 登陆验证 * @return * @throws Exception */ public String testLogin() throws Exception{ if(session.get("randomCode").equals(chknumber)&& name.equals("admin") && password.equals("admin")){ return SUCCESS; } else{ return ERROR; } } public String getChknumber(){ return chknumber; } public void setChknumber(String chknumber){ this.chknumber = chknumber; } public void setSession(Map<String, Object> session){ this.session = session; } public void setServletResponse(HttpServletResponse response){ this.response = response; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
最近下载更多
北方菜 LV11
2022年6月23日
我的名字完美 LV1
2021年5月2日
2060848716 LV1
2020年6月12日
软件123 LV1
2019年12月29日
rrr哈哈哈 LV9
2019年11月18日
muyaxin2019 LV3
2019年7月2日
wangsanyu LV4
2018年12月27日
在线不是本人 LV12
2018年12月17日
ywjIswell LV11
2018年12月16日
帅的流荡哦 LV8
2018年11月30日
最近浏览更多
uni-code_0123 LV1
2023年11月29日
3074466848
2022年7月29日
暂无贡献等级
北方菜 LV11
2022年6月23日
nbzhou2013 LV14
2021年12月23日
dongzhan LV12
2021年12月16日
2636499218 LV1
2021年12月9日
Celty LV1
2021年8月31日
chenxiufeng LV4
2021年7月1日
我的名字完美 LV1
2021年5月2日
陈冰涛 LV3
2021年3月28日