登录html ,使用img src 链接到 java的servlet
通过script 改变页面参数,刷新
</head>
<script type="text/javascript">
function change(){
document.getElementById('ww').src='CheakBox?='+new Date().getTime();
}
</script>
<body>
<img id="ww" src="CheakBox">
<input type="button" value="看不清,更换一个" οnclick="change()">
</body>
package Servlet;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.PrintWriter;
import java.nio.Buffer;
import java.util.Random;
import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sun.corba.se.spi.orbutil.fsm.Input;
/**
* 项目名称:JavaServlet
* 类全名:Servlet.CheakBox
* 类描述:
* 创建人:刘老师
* 创建时间:2017-4-25 下午2:05:02
* 修改备注:
* @version jdk1.6
*
* Copyright (c) 2017, 980991634@qq.com All Rights Reserved.
*/
public class CheakBox extends HttpServlet {
char []word={'a','y','l','j','b','s','6','d','2'};
Random rd=new Random();
//获得6个长度的字符串
public String getString(){
StringBuffer buffer=new StringBuffer();
for(int i=0;i<6;i++){
buffer.append(word[rd.nextInt(word.length)]);
}
return buffer.toString();
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String str= getString();
Color color=new Color(rd.nextInt(255), rd.nextInt(255), rd.nextInt(255));
Color reverColor=new Color(255-color.getRed(),255-color.getGreen(),255-color.getBlue());
BufferedImage bi=new BufferedImage(100, 30,BufferedImage.TYPE_INT_RGB );
Graphics g=bi.getGraphics();
g.setColor(color);
g.fillRect(0, 0, 100, 30);
g.setColor(reverColor);
Font font=new Font("abc",Font.BOLD, 16);
g.setFont(font);
g.drawString(str, 18, 20);//应该在内存画图 bufferedimage ,然后输出流输出页面
ImageIO.write(bi, "jpg", response.getOutputStream());
// PrintWriter pw=response.getWriter();
// pw.write(str);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}