تشترك الأمثلة في هذه المقالة في رمز التحقق من صورة Java للرجوع إليه. المحتوى المحدد كما يلي
تأثير عرض صفحة الويب:
index.jsp
استخدم طريقتين لفرض تحديثات الصورة:
1. اضبط إخراج الصورة بدون ذاكرة التخزين المؤقت.
2. استخدم JS لتغيير العنوان المطلوب.
<٪@ page language = "java" import = "java.util.*" pageencoding = "utf-8" ٪> <html> <head> <title> الصفحة الرئيسية لمشروع الويب الأول </title> <script type = "text/javaScript"> functioniMg () var time = new date (). getTime () ؛ // يعتقد المتصفح أن نفس الإجراء (المصفى) لا يحتاج إلى الإجابة ، لذلك يستخدم القيمة الزمنية لتغيير قيمة src (أي الطلب) (في الواقع ، نفس الطلب) _img.src = "تأكيد؟ <h2> Changsha ، Hunan </h2> <h3> الطريقة النشر 1 .... </h3> <img src = "Images/1.jpg"/> <br/> <a href = "jsps/a.jsp"> انتقل إلى provorte </a> <hr/> <form> name: name = "pwd"/> <br/> تأكيد كلمة المرور: <type type = "text" name = pwd2/> <br/> رمز التحقق: <input type = "text" href = "javaScript: changeimg () ؛"> لا يمكن رؤية بوضوح </a> <br/> <إدخال type = "إرسال" value = "register"/> </form> </body> </html>
رمز Java الذي ينشئ رمز التحقق تلقائيًا
الفئات الرئيسية (الفئات التالية هي محتويات الجزء الأساسي)
bufferedimage
صورة
الرسومات/Graphics2d
استيراد java.awt.color ؛ استيراد java.awt.font ؛ استيراد java.awt.graphics javax.servlet.http.httpservlet ؛ استيراد javax.servlet.http.httpletrequest ServleTexception ، ioException {// system.out.println ("jinlaile") ؛ Resp.SetContentType ("Image/JPEG") ؛ // JPEG هو تنسيق الصورة. اضبط صورة نوع محتوى الاستجابة على عرض JPEG int = 64 ؛ ارتفاع int = 40 ؛ BufferedImage bimg = جديد bufferedImage (العرض ، الارتفاع ، bufferedImage.type_int_rgb) ؛ الرسومات g = bimg.getGraphics () ؛ // Background G.SetColor (color.white) ؛ G.FillRect (0 ، 0 ، العرض ، الارتفاع) ؛ // font color G.SetFont (New Font ("AA" ، font.bold ، 18)) ؛ // استخدم أرقام عشوائية لإنشاء رمز التحقق: 4 أعداد صحيحة ضمن 0 ~ 9 عشوائي R = جديد عشوائي () ؛ لـ (int i = 0 ؛ i <= 4 ؛ i ++) {int t = r.nextint (10) ؛ // الأعداد الصحيحة العشوائية داخل 10 int y = 10+r.nextint (20) ؛ // لأعلى ولأسفل المواضع: 10 ~ 30 color c = new loll (r.nextint (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 (العرض) ، R.NextInt (الارتفاع) ، R.NextInt (العرض) ، R.NextInt (الارتفاع)) ؛ } // flash الرسم البياني في كائن bimg g.dispose () ؛ // ما يعادل طريقة Close () في IO مع تدفق أوتوماتيكي () ؛ imageio.write (bimg ، "jpeg" ، resp.getOutputStream ()) ؛ // احصل على كائن outputstream الخاص بـ req من خلال resp ، أرسله إلى تغليف مقبس العميل ، أي الكتابة إلى العميل}}web.xml
<؟ XSI: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <name-name> </!- <Servlet-name> bbbb </servlet-name> <jsp-file> /web-inf/b.jsp </jsp-file> </servlet> <!-الوصول إلى رمز Java الذي يولد رمز التحقق-> <sterlet> <sterlet-name> img </servlet-name> <Srevlet-mapping> <Sradlet-Name> bbbb </rectlet-name> <url-pattern> /bb.asp </url-pattern> </rectlet-mapping> <sterlet-mapping> <sterlet-name> img </sowsle-name> <urol-patern>/تأكيد </url-patern> </servlet-mapping> </swith-file-list> </web-app>