ماهو فلتر او تصفية Servlet في الإقلاع او التمهيد الربيع Spring Boot Servlet Filter#
ماهو فلتر او تصفية Servlet في الإقلاع او التمهيد الربيع
Spring Boot Servlet Filter#
ماهو فلتر او تصفية Servlet في الإقلاع او التمهيد الربيع Spring Boot Servlet Filter#
تصفية او الفلترة Servlet. عامل التصفية او الفلترة هو كائن تم استدعاؤه في المعالجة المسبقة للطلب وبعده. يستخدم بشكل رئيسي لأداء مهام التصفية مثل التحويل ، التسجيل ، الضغط ، التشفير وفك التشفير ، التحقق من صحة المدخلات ، إلخ.
المرشح هو كائن يستخدم لاعتراض طلبات HTTP واستجابات التطبيق الخاص بك. باستخدام عامل التصفية ، يمكننا إجراء عمليتين في حالتين -
قبل إرسال الطلب إلى وحدة تحكم
قبل إرسال استجابة إلى العميل.
تعرض التعليمة البرمجية التالية نموذج التعليمة البرمجية لفئة تطبيق تصفية Servlet مع تعليق توضيحي علىComponent.
على سبيل المثال عن فلترة البيانات المدخلة من قبل المستخدم مثلا تسجيل جديد فإنه يجب التحقق من ان جميع الحقوق ادخلها المستخدم وأن تكون خاضعة لشروط معينة مثل ان الهاتف يجب أن يحتوي على أرقام على حروف وتوجد نوعان من التحقق او الفلترة اما على جانب المستخدم مثل التي تستخدم جافا سكريبت او على جانب السيرفر والتي يتحقق منها السيرفر عند استلامه البيانات.
استخدام المرشح الفلتر
تسجيل جميع الطلبات الواردة
يسجل عناوين IP لأجهزة الكمبيوتر التي تنشأ منها الطلبات
تحويل
ضغط البيانات
التشفير وفك التشفير
التحقق من صحة المدخلات الخ
ميزة المرشح
مرشح قابل للتوصيل.
لا يحتوي عامل تصفية واحد على مورد آخر.
صيانة أقل
تصفية API

مثل مرشح servlet لها API الخاصة بها. تحتوي الحزمة javax.servlet على الواجهات الثلاثة لـ Filter API.
مرشحات
مرشح سلسلة
FilterConfig
@Component public class SimpleFilter implements Filter { @Override public void destroy() {} @Override public void doFilter (ServletRequest request, ServletResponse response, FilterChain filterchain) throws IOException, ServletException {} @Override public void init(FilterConfig filterconfig) throws ServletException {} }
يوضح المثال التالي رمز قراءة المضيف البعيد والعنوان البعيد من كائن ServletRequest قبل إرسال الطلب إلى وحدة التحكم
في طريقة doFilter () ، أضفنا عبارات System.out.println لطباعة المضيف البعيد والعنوان البعيد.
package com.ahmedalmahallawi.demo; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import org.springframework.stereotype.Component; @Component public class SimpleFilter implements Filter { @Override public void destroy() {} @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterchain) throws IOException, ServletException { System.out.println("Remote Host:"+request.getRemoteHost()); System.out.println("Remote Address:"+request.getRemoteAddr()); filterchain.doFilter(request, response); } @Override public void init(FilterConfig filterconfig) throws ServletException {} }
في ملف فئة التطبيق الرئيسي لـ Spring Boot ، أضفنا نقطة نهاية REST البسيطة التي تُرجع السلسلة "Hello World".
package com.ahmedalmahallawi.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @SpringBootApplication @RestController public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } @RequestMapping(value = "/") public String hello() { return "Hello World"; } }
رمز Maven build - pom.xml موضح أدناه -
xml version = "1.0" encoding = "UTF-8"?>
xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi = "
http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
رمز Gradle Build - build.gradle مبين أدناه -
buildscript { ext { springBootVersion = '1.5.8.RELEASE' } repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") } } apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'org.springframework.boot' group = 'com.tutorialspoint' version = '0.0.1-SNAPSHOT' sourceCompatibility = 1.8 repositories { mavenCentral() } dependencies { compile('org.springframework.boot:spring-boot-starter-web') testCompile('org.springframework.boot:spring-boot-starter-test') }
يمكنك إنشاء ملف JAR قابل للتنفيذ ، وتشغيل تطبيق Spring Boot باستخدام أوامر Maven أو Gradle الموضحة أدناه -
بالنسبة إلى Maven ، استخدم الأمر كما هو موضح أدناه -
mvn clean install
بعد نجاح البناء ، يمكنك العثور على ملف JAR ضمن الدليل الهدف.
بالنسبة إلى Gradle ، استخدم الأمر كما هو موضح أدناه -
gradle clean build
بعد إنشاء BUILD بنجاح ، يمكنك العثور على ملف JAR ضمن دليل build / libs.
الآن ، قم بتشغيل ملف JAR باستخدام الأمر التالي
java –jar
يمكنك أن ترى أن التطبيق قد بدأ على منفذ Tomcat 8080.
الآن ، اضغط على عنوان URL http: // localhost: 8080 / وانظر الإخراج Hello World. يجب أن يبدو كما هو موضح أدناه -
التسميات: Spring Boot الإقلاع أو التمهيد الربيع#
<< الصفحة الرئيسية