この記事の例は、参照のJava画像検証コードを共有しています。特定のコンテンツは次のとおりです
Webページの表示効果:
index.jsp
2つの方法を使用して画像の更新を強制します。
1.キャッシュなしで画像出力を設定します。
2。JSを使用して、要求されたアドレスを変更します。
<%@ page Language = "Java" Import = "Java.util。*" PageEncoding = "UTF-8"%> <HTML> <HTML> <HEAD> <TITLE>最初のWebプロジェクトのホームページ</title> <スクリプトタイプ= "テキスト/javaScript"> function changeimg(){var _img = documentelementyid( "_ img"); var time = new date()。getTime(); //ブラウザは同じアクション(フィルタリング)は答える必要がないと考えているため、時間値を使用してSRC値(つまり、リクエスト)を変更します(実際、同じリクエスト)_img.src = "CONDIM?"+時間; <h2> changsha、hunan </h2> <h3>公開方法1 .... </h3> <img src = "images/1.jpg"/> <br/> <a href = "jsps/a.jsp"> subpageに移動</a> <hr/> <フォーム>名前:<入力タイプ= " name = "pwd"/> <br/>パスワードの確認:<入力タイプ= "テキスト" name = pwd2/> <br/>検証コード:<input type = "text"/> <img id = "_ img" src = "確認"/> <! href = "javascript:changeimg();">はっきりと見えない</a> <br/> <入力型= "value =" register "/> </form> </body> </html>検証コードを自動的に生成するJavaコード
重要なカテゴリ(次のクラスは基本部分の内容です)
BuffereDimage
Imageio
Graphics/Graphics2d
java.awt.color; Import java.awt.font; Import java.awt.graphics; import java.awt.image.bufferedimage; Import java.io.ioexception; Import java.util.random; Import javax.imageio.imageio; Javax.Servletletexceptio; javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; Import javax.servlet.servlet.httpservletresponse;パブリッククラスのイメージサーブレット拡張httpservlete {@Override void requtest req) servletexception、ioexception {// system.out.println( "jinlaile"); resp.setContentType( "image/jpeg"); // jpegは画像形式です。 jpeg int width = 64に応答コンテンツのタイプの画像を設定します。 int height = 40; bufferedimage bimg = new bufferedimage(幅、高さ、bufferedimage.type_int_rgb);グラフィックg = bimg.getgraphics(); //背景g.setcolor(color.white); G.FillRect(0、0、幅、高さ); // font color g.setfont(new Font( "aa"、font.bold、18)); //乱数を使用して検証コードを生成します:0〜9以内の4つの整数r = new Random(); for(int i = 0; i <= 4; i ++){int t = r.nextint(10); // 10 int y = 10+r.nextint(20); //上下の位置:10〜30色C =新しい色(255)、R.Nextint(255)、R.Nextint(255); G.SetColor(C); g.drawstring( ""+t、i*16、y); } //(int i = 1; i <8; i ++){color c = new Color(R.Nextint(255)、R.Nextint(255)、R.Nextint(255)); G.SetColor(C); G.Drawline(R.Nextint(width)、R.nextint(height)、R.nextint(width)、r.nextint(height)); } //グラフをbimgオブジェクトG.dispose()にフラッシュします。 //自動Flush()を使用してIOのclose()メソッドに相当します。 Imageio.write(bimg、 "jpeg"、resp.getOutputStream()); // reqの出力ストリームオブジェクトを取得して、クライアントソケットのカプセル化に送信します。つまり、クライアントに書き込みます}}web.xml
<?xml version = "1.0" encoding = "utf-8"?> <web-appバージョン= "3.0" xmlns = "http://java.sun.com/xml/ns/javaee" xmlns:xsi = "http://www.w3.org/2001/xmlschema-instcance" xsi:schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <display-name> </display-name> < <Servlet-Name> bbbb </servlet-name> <jsp-file> /web-inf/b.jsp </jsp-file> </servlet> <! - 検証コードを生成するJavaコードにアクセス - > <Servlet> <Servlet> img </servlet-name> <servlet-cn.hncu.serblet> <サーブレットマッピング> <Servlet-Name> bbbb </servlet-name> <url-pattern>/bb.asp </url-pattern> </servlet-mapping> <servlet-name> img </servlet-name> <url-pattern>/cundile </url-pattern> </welcome-file-list> </web-app>