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日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友