Buat kode verifikasi Java secara manual, konten spesifik adalah sebagai berikut
Komposisi Kode Verifikasi Aplikasi Web:
(1) kotak input
(2) Gambar yang menunjukkan kode verifikasi
Proses membuat kode verifikasi:
Wadah yang menghasilkan kode verifikasi menggunakan j2ee's servlet
Kelas diperlukan untuk menghasilkan gambar:
(1) BufferedImage Gambar Data Buffer
(2) Gambar gambar grafis
(3) Warna mendapat warna
(4) acak menghasilkan angka acak
(5) gambar input ImageIO
Proses implementasi khusus:
(1) Tentukan servlet untuk menghasilkan kode verifikasi
(2) Tentukan objek BufferedImage, fungsi utama adalah untuk membuat buffer gambar sebagai wadah sementara untuk gambar.
(3) Dapatkan objek grafik, "latar belakang" gambar, dan memahaminya sebagai "kanvas"
(4) menghasilkan angka acak melalui acak untuk membuat informasi verifikasi
(5) Melalui operasi grafis, menggambar gambar tertentu
(6) Informasi disimpan dalam sesi
(7) Gunakan ImageIO untuk meng -output gambar yang dihasilkan, dan meneruskan gambar ke latar depan dengan mengatur parameter keluar dalam metode write () dari ImageIO, response.getOutputStream ().
(8) Buat servlet untuk verifikasi dan mengekstrak data dalam sesi untuk verifikasi (metode Ajax Asynchronous digunakan di sini)
Implementasi Kode Khusus (Contoh Kode Verifikasi Sisi Web)
<html> <head> <meta http-equiv = "content-type" content = "text/html; charset = utf-8"> <title> kode verifikasi java </title> <script src = "https://apps.bdimg.com/libs/jQuery/2.1.4/jufy.jy. Input: <input type = "text" name = "checkCode"> <img id = "codeMg" src = "firficservlet"> <a href = "javascript: reloadcode ();"> tidak dapat melihat dengan jelas? </a> <br/> <input type = "kirim" value = "kirim"> <div id = "info" style = "color: red;"> </div> <script type = "text/javascript"> $ (function () {// ajax asynchrron mentransfer kode verifikasi ke latar belakang $ ("input [type = submit]). {"Code": "Input [Name = CheckCode]"). Val ()}, Fungsi (Data, TextStatus) {Console.log (TextStatus); Date (). GetTime (); // Buat waktu yang berbeda $ ("#codeMg"). Attr ("src", "firficservlet? Time ="+time); // minta re-} </script> </body> </html>Kelas ImageServlet (Bagian Pembuatan Kode Verifikasi)
@WebServlet ("/Imageservlet") Kelas Publik GambarServlet memperluas httpservlet {private static final long serialVersionuid = 1l; / ** * @see httpservlet#httpservlet () */ public fircingervlet () {super (); // TODO Stub Konstruktor yang Dihasilkan Otomatis}/ ** * @See httpservlet#doGet (permintaan httpservletRequest, respons httpservletResponse) */ respons void-void (httpservlequest, httplenception {httplenEcception {httpepo {httpepo {httpepo {httpseption {httpepo {httpepo {httpepo {httpepo {httpepo {httpepo {httpepo-tOponse/ loug BIMG = BufferedImage baru (68, 22, bufferedImage.type_int_rgb); Grafik g = bimg.getGraphics (); Warna warna = warna baru (200.151.255); // generasi warna g.setColor (warna); G.Fillrect (0, 0, 68, 22); char [] ch = "abcdefghjiklmnopqrstuvwxyz0123456789" .tochararray (); // Dapatkan array yang berisi huruf dan angka, dan kemudian secara acak dapatkan karakter dari acak acak = acak baru (); // Buat nomor acak int len = ch.length, index; StringBuffer sBuffer = StringBuffer baru (); // Loop menghasilkan 4 karakter acak untuk (int i = 0; i <4; i ++) {index = random.nextInt (len); // Buat huruf acak dan bilangan g.setColor (warna baru (random.nextInt (88), random. 18); sBuffer.Append (ch [index]); // Masukkan karakter yang diperoleh secara acak dalam seri buffer} request.getSession (). setAttribute ("newcode", sbuffer.toString ()); // simpan dalam sesi untuk verifikasi Imageo.write (bimg, "jpg", response.get outguter (bimg, "jpg", response.get outputer berikutnya (bimg, "jpg", response.get.getGuter (bimg, "jpg", response.get outputer (bimg, "jpg", response.get outputer (bimg, "jpg", response.get outputer (bimg, "jpg", response.get output. foreground} /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); }}CheckCode (Verifikasi Kode Verifikasi Servlet)
@Webservlet ("/checkCode") Kode kelas publik memperluas httpservlet {private static final long serialversionuid = 1l; / ** * @see httpservlet#httpservlet () */ public checkCode () {super (); // TODO Stub Konstruktor yang Dihasilkan Otomatis}/ ** * @See httpservlet#doGet (permintaan httpservletRequest, respons httpservletResponse) */ respons void-void (httpservletexception, httpservlete {httplenception {httpseption {httpoo-feeddo/ loug response.setcharacterencoding ("UTF-8"); String code = request.getParameter ("code"). Toupercase (); // Dapatkan kode verifikasi dan lakukan case conversion string hasil = null; if (request.getSession (). getAttribute ("newCode"). Equals (code)) {result = "Verifikasi berhasil!"; response.getWriter (). append (hasil); } else {result = "Kesalahan kode verifikasi!"; response.getWriter (). append (hasil); }} / ** * @See httpservlet#dopost (permintaan httpservletrequest, respons httpservletResponse) * / void dopost (httpservletequest request, httpservletResponse respons) (IoException METODE (IOOEXEPTECEPONE (IOEKEPLETEDE (IOEKEPLETECECECTION, IOO-EXPRESSEDE (IOEeksepsi, }}Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.