⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 imagecode.java

📁 一个留言板 系统平台: JSP+SQLServer 支持开通无限个数的留言板
💻 JAVA
字号:
/* * ImageCode.java * * Created on 2006年7月25日, 下午6:05 * * To change this template, choose Tools | Options and locate the template under * the Source Creation and Management node. Right-click the template and choose * Open. You can then make changes to the template in the Source Editor. */package tot.image;import java.io.*;import java.net.*;import java.awt.image.BufferedImage;import javax.servlet.*;import javax.servlet.http.*;import com.octo.captcha.service.CaptchaServiceException;import com.sun.image.codec.jpeg.JPEGCodec;import com.sun.image.codec.jpeg.JPEGImageEncoder;/** * * @author Administrator * @version */public class ImageCode extends HttpServlet {    public void init(ServletConfig servletConfig) throws ServletException {                super.init(servletConfig);            }        /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.     * @param request servlet request     * @param response servlet response     */    protected void processRequest(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException {        byte[] captchaChallengeAsJpeg = null;        // the output stream to render the captcha image as jpeg into        ByteArrayOutputStream jpegOutputStream = new ByteArrayOutputStream();        try {            // get the session id that will identify the generated captcha.            //the same id must be used to validate the response, the session id is a good candidate!            String captchaId = request.getSession().getId();            // call the ImageCaptchaService getChallenge method            BufferedImage challenge =CaptchaServiceSingleton.getInstance().getImageChallengeForID(captchaId,request.getLocale());                        // a jpeg encoder            JPEGImageEncoder jpegEncoder=JPEGCodec.createJPEGEncoder(jpegOutputStream);            jpegEncoder.encode(challenge);        } catch (IllegalArgumentException e) {            response.sendError(response.SC_NOT_FOUND);            return;        } catch (CaptchaServiceException e) {            response.sendError(response.SC_INTERNAL_SERVER_ERROR);            return;        }                captchaChallengeAsJpeg = jpegOutputStream.toByteArray();                // flush it in the response        response.setHeader("Cache-Control", "no-store");        response.setHeader("Pragma", "no-cache");        response.setDateHeader("Expires", 0);        response.setContentType("image/jpeg");        ServletOutputStream responseOutputStream =response.getOutputStream();        responseOutputStream.write(captchaChallengeAsJpeg);        responseOutputStream.flush();        responseOutputStream.close();    }    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">    /** Handles the HTTP <code>GET</code> method.     * @param request servlet request     * @param response servlet response     */    protected void doGet(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException {        processRequest(request, response);    }        /** Handles the HTTP <code>POST</code> method.     * @param request servlet request     * @param response servlet response     */    protected void doPost(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException {        processRequest(request, response);    }        /** Returns a short description of the servlet.     */    public String getServletInfo() {        return "Short description";    }// </editor-fold>}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -