短視訊app搭建,利用javaWeb生成一張簡易驗證碼圖片

zhibo系統開發發表於2021-09-25

短視訊app搭建,利用javaWeb生成一張簡易驗證碼圖片的相關程式碼

後端實現,需要用到Java的圖片類,生成一張圖片

public class ImageServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //如何讓瀏覽器3秒自動重新整理一次
        resp.setHeader("refresh","3");
        //在記憶體中建立一個圖片
        BufferedImage image = new BufferedImage(50, 20, BufferedImage.TYPE_INT_RGB);
        //得到圖片
        Graphics2D g = (Graphics2D) image.getGraphics(); //筆
        //設定圖片背景顏色
        g.setColor(Color.white);
        g.fillRect(0,0,50,20);
        //給圖片寫資料
        g.setColor(Color.BLUE);
        g.setFont(new Font(null,Font.BOLD,20));
        g.drawString(makeNum(),0,20);
        //告訴瀏覽器,這個請求用圖片的方式開啟
        resp.setContentType("image/jpg");
        //網站存在快取,不讓瀏覽器快取
        resp.setDateHeader("expires",-1);
        resp.setHeader("Cache.Control","no-cache");
        resp.setHeader("Pragma","no-cache");
        //把圖片寫給瀏覽器
        ImageIO.write(image, "jpg", resp.getOutputStream());
    }
    //生成隨機數
    private String makeNum(){
        Random random = new Random();
        String num = random.nextInt(9999) + "";
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < 4-num.length(); i++) {
            sb.append("0"); //用0填充不滿4位的數,保證最終返回的num一定是4位
        }
        num = sb.toString() + num;
        return num;
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}


web.xml

<servlet>
    <servlet-name>ImageServlet</servlet-name>
    <servlet-class>com.ping.servlet.ImageServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>ImageServlet</servlet-name>
    <url-pattern>/img</url-pattern>
</servlet-mapping>



以上就是短視訊app搭建,利用javaWeb生成一張簡易驗證碼圖片的相關程式碼, 更多內容歡迎關注之後的文章


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2793658/,如需轉載,請註明出處,否則將追究法律責任。

相關文章