Contoh -contoh dalam artikel ini berbagi kode verifikasi gambar Java untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
Efek tampilan halaman web:
index.jsp
Gunakan dua cara untuk memaksa pembaruan gambar:
1. Atur output gambar tanpa cache.
2. Gunakan JS untuk mengubah alamat yang diminta.
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><html> <head> <title>Homepage of the first web project</title> <script type="text/javascript"> function changeImg(){ var _img=document.getElementById("_img"); var time = new date (). getTime (); // browser percaya bahwa tindakan yang sama (difilter) tidak perlu menjawab, sehingga menggunakan nilai waktu untuk mengubah nilai src (mis. Permintaan) (pada kenyataannya, permintaan yang sama) _img.src = "Konfirmasi?" <h2> Changsha, hunan </h2> <h3> Publikasikan metode 1 .... </h3> <img src = "gambar/1.jpg"/> <br/> <a href = "jsps/a.jsp"> name = "name =" name ": <br/> <bentuk> <bentuk> nama: <input =" "name": " name = "pwd"/> <br/> konfirmasi kata sandi: <input type = "text" name = pwd2/> <br/> kode verifikasi: <input type = "text"/> <img id = "_ img" src = "konfirmasi"/> <!-bukan layak <a href = "konfirmasi"> tidak dapat melihat dengan jelas </a> href = "JavaScript: changeImg ();"> tidak dapat melihat dengan jelas </a> <br/> <input type = "kirim" value = "register"/> </form> </body> </html> Kode Java yang secara otomatis menghasilkan kode verifikasi
Kategori utama (kelas berikut adalah isi bagian dasar)
BufferedImage
Imageio
Graphics/Graphics2d
Impor java.awt.color; impor java.awt.font; impor java.awt.graphics; impor java.awt.image.bufferedimage; impor java.io.ioException; impor java.util.random; impor javax.imageo.imageio; impor javax.util.random; javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.htp.httpservletresponse (httpservlet layanan httpservlet (httpservlet {@override voidesponse (httpservlet layanan httpservlet {@override voidesponstric melempar servletException, ioException {// system.out.println ("jinlaile"); resp.setContentType ("gambar/jpeg"); // jpeg adalah format gambar. Atur gambar jenis konten respons ke lebar jpeg int = 64; tinggi int = 40; BufferedImage BIMG = BufferedImage baru (lebar, tinggi, bufferedImage.type_int_rgb); Grafik g = bimg.getGraphics (); // latar belakang g.setColor (color.white); g.fillrect (0, 0, lebar, tinggi); // Font Color G.SetFont (font baru ("AA", Font.Bold, 18)); // Gunakan nomor acak untuk menghasilkan kode verifikasi: 4 bilangan bulat dalam 0 ~ 9 acak r = acak baru (); untuk (int i = 0; i <= 4; i ++) {int t = r.nextint (10); // bilangan bulat acak dalam 10 int y = 10+r.nextint (20); // posisi naik dan turun: 10 ~ 30 warna c = warna baru (r.nextint (255), r.nextint (255), r.nextint (255); g.setColor (c); g.drawstring (""+t, i*16, y); } // Gambar garis interferensi untuk (int i = 1; i <8; i ++) {warna c = warna baru (r.nextint (255), r.nextint (255), r.nextint (255)); g.setColor (c); G.Drawline (r.nextint (lebar), r.nextint (tinggi), r.nextint (lebar), r.nextint (tinggi)); } // Flash grafik ke dalam objek BIMG G.Dispose (); // setara dengan metode tutup () di IO dengan flush otomatis (); Imageo.write (BIMG, "JPEG", resp.getoutputStream ()); // Dapatkan objek OutputStream dari Req melalui resp, kirimkan ke enkapsulasi soket klien, yaitu, tulis ke klien}}Web.xml
<? Xml Version = "1.0" encoding = "UTF-8"?> <Web-app Versi = "3.0" xmlns = "http://java.sun.com/xml/ns/javaee" xmlns: xsi = "http:/www.w3.org/org/2001 =" http:/www.w3.org/org/p21 XSI: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <play-name-name> </display-name> <play-name> <caching b. <servlet-name> bbbb </servlet-name> <jspile> /web-inf/b.jsp </jspil-file> </servlet> <!-mengakses kode java yang menghasilkan kode verifikasi-> <servlet> <servlet-name> img </servlet-name> <servlet-class> cn.hncu.serv. <servlet-Mapping> <servlet-name> bbbb </servlet-name> <ritl-pola> /bb.asp </rerl-pattern> </servlet-Mapping> <servlet-Mapping> <servlet-name> Img </servlet-name> <road-pattern> </Url-Pattern> </Servlet-Mapping> <dendel-foLE-FITE> </URL-POLTER> </Servlet-Mapping> <wendid-foLE-FITE> </URL-POLTER> </Servlet-Mapping> <wendic-foLE-FILE> </URL-POLTER> </Servlet-mapping> <weading-foil </celcome-file-list> </web-app>