Rumah  >  Artikel  >  Java  >  Cara menggunakan Penapis dan Pendengar dalam Java

Cara menggunakan Penapis dan Pendengar dalam Java

王林
王林ke hadapan
2023-05-20 08:58:111419semak imbas

    Penapis: Penapis

    Konsep

    Penapis dalam kehidupan: penulen air, penulen udara, penyamun, Penapis web: Apabila mengakses sumber pelayan , penapis boleh memintas permintaan dan melengkapkan beberapa fungsi khas. Fungsi penapis:

    biasanya digunakan untuk menyelesaikan operasi biasa. Seperti: pengesahan log masuk, pemprosesan pengekodan bersatu, penapisan aksara sensitif...

    Mula Pantas

    Langkah

    1. Tentukan kelas dan laksanakan Penapis antara muka

    2. Kaedah salin

    3. Konfigurasikan laluan pemintasan

    • web.xml

    • anotasi

    Kod

    @WebFilter("/*")//访问所有资源之前,都会执行该过滤器
    public class FilterDemo1 implements Filter {
    	@Override
    	public void init(FilterConfig filterConfig) throws ServletException {
    
    	}
    
    	@Override
    	public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
    		System.out.println("filterDemo1被执行了....");
    
    
    		//放行
    		filterChain.doFilter(servletRequest,servletResponse);
    
    	}
    
    	@Override
    	public void destroy() {
    
    	}
    }

    Butiran penapis

    konfigurasi web.xml

    rreee

    Tapis proses pelaksanaan

    • Penapis pelaksanaan

    • Sumber selepas keluaran pelaksanaan

    • Kembali dan laksanakan kod di bawah kod keluaran penapis

    Kaedah kitaran hayat penapis

    • init : Selepas pelayan bermula, objek Penapis akan dibuat dan kemudian kaedah init akan dipanggil. Hanya dilaksanakan sekali. Digunakan untuk memuatkan sumber

    • doFilter: akan dilaksanakan setiap kali permintaan dipintas untuk sumber. Dilaksanakan berbilang kali

    • musnahkan: Selepas pelayan ditutup, objek Penapis dimusnahkan. Jika pelayan ditutup seperti biasa, kaedah musnah akan dilaksanakan. Hanya dilaksanakan sekali. Digunakan untuk melepaskan sumber

    Penapis butiran konfigurasi

    Konfigurasi laluan pemintas:

    • Laluan sumber khusus : /index.jsp Penapis akan dilaksanakan hanya apabila mengakses sumber index.jsp

    • Direktori pintasan: /user/* Apabila mengakses semua sumber di bawah /user, penapis akan dilaksanakan

    • pemintasan nama akhiran: *.jsp Apabila mengakses semua sumber jsp akhiran, penapis akan dilaksanakan

    • memintas semua Sumber: /* Apabila mengakses semua sumber, penapis akan dilaksanakan

    Konfigurasi kaedah pintasan: cara sumber diakses

    Konfigurasi anotasi:

    • Tetapkan atribut dispatcherTypes

    • PERMINTAAN: Nilai lalai. Penyemak imbas secara langsung meminta sumber

    • MAJU: Majukan akses kepada sumber

    • SERTAKAN: Sertakan akses kepada sumber

    • RALAT: Ralat melompat sumber

    • ASYNC: Akses tak segerak kepada sumber

    Hanya tetapkan label dalam konfigurasi web.xml

    Tapis rantai (konfigurasikan berbilang penapis)

    Tertib pelaksanaan: Jika terdapat dua penapis: penapis 1 dan penapis 2

    • Penapis 1

    • Penapis 2

    • Pelaksanaan Sumber

    • Penapis 2

    • Penapis 1

    Isu pesanan penapis:

    • Konfigurasi anotasi: mengikut nama kelas Perbandingan peraturan rentetan, nilai yang lebih kecil dilaksanakan dahulu

    Antara AFilter dan BFilter, AFilter dilaksanakan terlebih dahulu. 2. konfigurasi web.xml: Sesiapa yang mentakrifkannya di atas akan melaksanakannya dahulu

    Pendengar: pendengar

    konsep : salah satu daripada tiga komponen utama web. Mekanisme mendengar acara

    • Acara: acara

    • Sumber acara: tempat kejadian berlaku

    • Pendengar: objek

    • Pendengar berdaftar: mengikat acara, sumber acara dan pendengar bersama-sama. Apabila peristiwa berlaku pada sumber acara, laksanakan kod pendengar

    ServletContextListener: Dengar kaedah penciptaan dan pemusnahan objek ServletContext: void contextDestroyed(ServletContextEvent sce) : Kaedah ini akan dipanggil sebelum Objek ServletContext dimusnahkan. void contextInitialized(ServletContextEvent sce): Kaedah ini akan dipanggil selepas objek ServletContext dibuat. 🎜>

    Kaedah salin
    • Konfigurasi
    • web.xml
    • <filter>
      	<filter-name>demo1</filter-name>
      	<filter-class>cn.zjq.web.filter.FilterDemo1</filter-class>
      </filter>
      <filter-mapping>
      	<filter-name>demo1</filter-name>
      	<!-- 拦截路径 -->
      	<url-pattern>/*</url-pattern>
      </filter-mapping>

      Nyatakan permulaan parameter
    Nota:

    @WebListener

    Atas ialah kandungan terperinci Cara menggunakan Penapis dan Pendengar dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan:
    Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam