
案例六:用5 ervlet产生面片 1,知识目标:Servlet中的图形生成。 2.技能目标,怎样生成基于Servlet的图片, 3.参考代码 package chap03: inport java.ia.◆: import javax.servlet.*: inport javax.servlet.http.: inport java.util.Random; fmport Java.avt.* imp0 rt java.agt.ie.◆: inport javax.insgeio.◆: public class Ing extends HttpServlet ublic void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException /设置Content-Type响应头 response.setComtentType ("image/jpeg): /下面三条语句用于设置页面不缓存 response.setHeader("Pragma","No-cache"); response.setHeader ("Cache-Control","no-cache"): response.setDateHeader ("Expires",0): OutputStrean out response.getoutputStream(): int width=80.beight=20:
案例六:用 Servlet 产生图片 1.知识目标:Servlet 中的图形生成。 2.技能目标:怎样生成基于 Servlet 的图片。 3.参考代码: package chap03; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.Random; import java.awt.*; import java.awt.image.*; import javax.imageio.*; public class Img extends HttpServlet { ublic void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException { //设置 Content-Type 响应头 response.setContentType("image/jpeg"); //下面三条语句用于设置页面不缓存 response.setHeader("Pragma","No-cache"); response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expires",0); OutputStream out = response.getOutputStream(); int width=80, height=20;

/建立指定宽、高Buffer0 dlmage对象 BufferedImage image new BufferedImage(width.height. BufferedImage.TYPE_INT_RGB) Graphics g image.getGraphics(): /生成随机类 Random randon new RandomO: z.fillRect (0,0,width,height); /设置字体 setFoet (new Font ("Times New Roman",Foat.ITALIC,18)) String sRand ="" for (int i-0:i(;i++)[ String rand String.valueof (randoa.nextInt (10)): sRand +rand: ∥设置随机颜色 &setColor (new Color(20+random nextInt (110).20 randoe nextInt (110),20 random nextInt (110])): /绘制 &drawstring(rand,20*i +6,16): / z.dispose() ∥输出图象到页面 InageI0.write(image."JPEG".out): public roid doPost(HttpServletRequest request. HttpServletResponse response) throws ServletException,ICException doGet(request,response):
//建立指定宽、高 BufferedImage 对象 BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics g = image.getGraphics(); //生成随机类 Random random = new Random(); g.fillRect(0, 0, width, height); //设置字体 g.setFont(new Font("Times New Roman",Font.ITALIC,18)); String sRand = ""; for (int i=0;i<4;i++){ String rand = String.valueOf(random.nextInt(10)); sRand += rand; // 设置随机颜色 g.setColor(new Color(20 + random.nextInt(110),20 + random.nextInt(110),20 + random.nextInt(110))); //绘制 g.drawString(rand,20*i + 6,16); } g.dispose(); // 输出图象到页面 ImageIO.write(image, "JPEG", out); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException { doGet(request,response); } }

/一一将S1et产生的图片用于登录表单 CHTML> HEAD》(TITLE)登录《/TITL.E)《HEAD) KBODY> 姓名:《INPUT TYPE="TEXT'NAME="UserNane>BR> 密玛:《INPUT TYPE-PASS0D°NAWE-"d)BR》 验证码:(INPUT TYPE="TEXT'SIZE="10°NE=ValCode> B球》 (INPUT TYPE-“以WTT) HL>
//----------- 将 Servlet 产 生 的 图 片 用 于 登 录 表 单 ------------------------------- 登录 姓名: 密码: 验证码: