الخلاصة: في كثير من الأحيان سنقوم بتعديل بق الحشرات من الزملاء الآخرين ، أو حتى حشرات الزملاء الذين غادروا بالفعل. في بعض الأحيان ، ننقر على الصفحة ولا يمكننا الذهاب إلى وحدة التحكم التي تتوافق مع الخلفية. استجابةً لهذه المشكلة ، يمكننا بالفعل استخدام اعتراض SPRNGMVC لمنع طلبات المستخدم لمعرفة فئة طلبات الصفحة. بالطبع ، قد لا تكون معلومات السجل المطبوعة هذه مناسبة للتوظيف في بيئة الإنتاج ، أو أن هذا الاعتراض غير ضروري أيضًا. . . .
1. استخدام المعالج
الخطوة 1: تسجيل المعترض
<!-سجلات التسجيل-> <mvc: Interceptors> <bean /> < /mvc: Interceptors>
الخطوة 2: مولد المعالج وتنفيذ المعترض
package com.iflashbuy.limanman ؛ استيراد java.util.iterator ؛ استيراد java.util.map ؛ استيراد javax.servlet.http.httpservletrequest ؛ import javax.servlet.http.httpservletsponse ؛ org.springframework.web.servlet.handlerinterceptor ؛ استيراد org.springframework.web.servlet.modelandview ؛ control control public parerements {private logger logger = thing@king * extridepublic.getlogger (getClass () ؛ eletCompletion (طلب httpservletrequest ، استجابة httpservletresponse ، الكائن Arg2 ، استثناء Arg3) يلقي الاستثناء {}@overridepublic posthandle (httpservletrequest arg0 ، httpservledresponse prehandle (طلب httpservletrequest ، httpservletresponse arg1 ، object arg2) يلقي الاستثناء {int i = 1 ؛ جرب {suppresswarnings ("uncheced") map <string ، object> parmmap = requestParameterMap () ؛ iterator <string> iter = parmmap.keyset () ؛ {object key = iter.next () ؛ comfort value = parmmap.get (key) ؛ logger.info ("th" + i + "param ----> {}-{}" ، مفتاح ، القيمة) ؛ i = i + 1 ؛}} catch (استثناء e) {i = 1 ؛2. تأثير معلومات طباعة الخلفية
3. قم بتوسيع استخدام المقاطعات لتحقيق مصادقة HTTP الأساسية
/** * دعا بعد تنفيذ وحدة التحكم ، أي عند ترك */@@overridepublic void eftercompletion (طلب httpservletrequest ، httpservletresponse استجابة ، كائن arg2 ، استثناء arg3) يلقي استثناء {{request-@request) POSTHANDLE (طلب httpservletrequest ، httpservletresponse ، الكائن arg2 ، modelandview arg3) يلقي الاستثناء {}@overridepublic boolean prehandle (httpservletrequest request ، (SessionAuth! = null) {system.out.println ("هذه هي الخطوة التالية") ؛ nextStep (طلب ، استجابة) ؛} آخر {if (! checkheaderauth (request ، response)) {desponse.setStatus (401) ؛ reponse.setheader ("cache-control" ، "no-store") 0) ؛ response.setheader ("www-authenticate" ، "Realm Basic =/" الرجاء إدخال كلمة مرور حساب المسؤول/"") المشفر في base64 هو " + getFrombase64 (auth))) ؛ if (((auth! = null) && (auth. decodedauth) ؛ request.getSession (). setAttribute ("Auth" ، decodedauth) ؛ return true ؛} آخر {return false ؛}} سلسلة خاصة getFrombase64 (سلسلة s) {if (s == null) return null ؛ try {byte [] String (EncodeBase64) ؛} catch (unsupportedencodingException e) {return null ؛}} public void nextStep (request httpservletrequest ، httpservletresponse) يرمي iOexception {system.out.println ("يمكنك الانتقال إلى المراقبة") ؛}لخص
ما سبق هو المحتوى الكامل لهذه المقالة حول مثال رمز رمز الاستخدام لمستقبلات اعتراض springmvc ، وآمل أن يكون مفيدًا للجميع. يمكن للأصدقاء المهتمين الاستمرار في الرجوع إلى هذا الموقع:
تحليل رمز واجهة اعتراضية معالج الربيع
مشاركة رمز اعتراض تسجيل الدخول التي يتم تنفيذها بواسطة Spring MVC
إذا كانت هناك أي أوجه قصور ، فيرجى ترك رسالة لإشارةها. شكرا لك يا أصدقائك لدعمكم لهذا الموقع!