اعتراض إذن تسجيل الدخول بسيط للغاية ، فإن الكود المحدد هو كما يلي:
الرمز التالي هو الرمز الذي يرث مرة واحدة على اطلاع بتنفيذ تصفية تسجيل الدخول:
/ ** * * Author Geoin * date 2012-4-10 2:37:38 PM */ package com.test.spring.filter ؛ استيراد java.io.ioException ؛ استيراد java.io.printwriter ؛ استيراد javax.servlet.filterchain ؛ استيراد javax.servlet.servletexception ؛ استيراد javax.servlet.http.httpservletrequest ؛ استيراد javax.servlet.http.httpservletresponse ؛ استيراد org.springframework.web.filter.onceperRequestFilter ؛ /** * مرشح تسجيل الدخول * * Author Geoin * date 2012-4-10 2:37:38 PM * /sessionfilter public class يمتد مرة واحدة javax.servlet.http.httpservletrequest ، * javax.servlet.http.httpservletrespons ioException {// ولكن تم تصفية uri string [] notfilter = new string [] {"login.html" ، "index.html"} ؛ // طلب uri string uri = request.getRequesturi () ؛ // filter if (uri.indexof ("background")! = -1) {// ما إذا كان لتصفية boolean dofilter = true ؛ لـ (String S: notfilter) {if (uri.indexof (s)! = -1) {// if uri يحتوي على uri غير المرسل ، dofilter = false ؛ استراحة؛ }} if (dofilter) {// perform filtering // الحصول على كيان تسجيل الدخول من كائن الجلسة OBJ = request.getSession (). getAttribute ("loginedUser") ؛ إذا كان (null == obj) {// إذا لم يكن كيان تسجيل الدخول موجودًا في الجلسة ، فإن مربع المنبثقة يطالب بتسجيل الدخول مرة أخرى // تعيين مجموعة الأحرف من الطلب والاستجابة لمنع request.setcharacterencoding ("UTF-8") ؛ استجابة. setcharacterencoding ("UTF-8") ؛ printWriter out = response.getWriter () ؛ سلسلة تسجيل الدخول = "...." ؛ StringBuilder Builder = new StringBuilder () ؛ builder.append ("<script type =/" text/javaScript/">") ؛ builder.append ("ALERT ('انتهاء صفحة الويب ، يرجى تسجيل الدخول مرة أخرى!') ؛") ؛ builder.append ("window.top.location.href = '") ؛ builder.append (تسجيل الدخول) ؛ builder.append ("'؛") ؛ builder.append ("</script>") ؛ Out.print (builder.toString ()) ؛ } آخر {// إذا كان كيان تسجيل الدخول موجودًا في الجلسة ، تابع filterchain.dofilter (طلب ، استجابة) ؛ }} آخر {// إذا لم يتم تنفيذ التصفية ، تابع filterchain.dofilter (طلب ، استجابة) ؛ }} آخر {// إذا كان URI لا يحتوي على خلفية ، تابع filterchain.dofilter (طلب ، استجابة) ؛ }}} بعد كتابة المرشح ، تحتاج إلى تكوينه في web.xml:
<Ivilter> <ilter-name> sessionfilter </filter-name> <ilter-class> com.test.spring.filter.sessionfilter </filter-class> </filter> <filter-mapping> </filter-name> sessionfilter </filter-name>
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.