2010-06-02 15 views

cevap

89

filtresini istediğiniz zaman Filter kullanın ve/veya belirli koşullara göre isteklerini değiştirin. denetim, ön işlem ve/veya işlem sonrası istekleri için Servlet kullanın.

bir filtre, bir talep ya da tepkinin başlık ve içerik (veya her ikisi) dönüştürmek bir amacıdır:

Java EE tutorial filtreler ile ilgili aşağıdaki bahseder. Filtreler, web filtrelerinden farklıdır, çünkü bu filtreler genellikle bir yanıt oluşturmaz. Bunun yerine, bir filtre, herhangi bir web kaynağına "eklenebilen" işlevsellik sağlar. Sonuç olarak, bir filtrenin, bir filtre görevi yaptığı bir web kaynağında herhangi bir bağımlılığı olmamalıdır; Bu şekilde birden fazla web kaynağı türü ile oluşturulabilir.

  • sorgu talebi ve buna göre hareket aşağıdaki şekilde bir filtre gerçekleştirebilir

    ana görevleri vardır.

  • İstek ve yanıt çiftini daha fazla iletmesini engelleyin.
  • İstek başlıklarını ve verilerini değiştirin. Bunu, isteğin özelleştirilmiş bir sürümünü sağlayarak yaparsınız.
  • Yanıt üstbilgilerini ve verilerini değiştirin. Yanıtın özelleştirilmiş bir sürümünü sağlayarak bunu yaparsınız.
  • Dış kaynaklarla etkileşim. Yetkilendirme için

, bir Filter uygundur. İşte temel başlama örnek nasıl giriş yapmış kullanıcı için bir filtre kontrol eder istekleri: istek talep üzerine önişlemeyi gerçekleştirebilir geliyor biz istek tatmin eğer o zaman, performance-- servlet'dir artırabilir filtre kullanarak

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException { 
    if (((HttpServletRequest) request).getSession().getAttribute("user") == null) { 
     // User is not logged in. Redirect to login page. 
     ((HttpServletResponse) response).sendRedirect("login"); 
    } else { 
     // User is logged in. Just continue with request. 
     chain.doFilter(request, response); 
    } 
} 
+0

Açıklama için teşekkürler +1 –

+0

Sağlanan bağlantı çok iyi. Bunun için de teşekkürler. –

15

Filtreler, izin için en uygun olanlardır. Bunun nedeni, bir sitenin tüm sayfaları için çalışacak şekilde yapılandırılabilmeleridir. Dolayısıyla, tüm sayfalarınızı korumak için yalnızca bir filtreye ihtiyacınız var.

+0

Tüm sayfalar = giriş yapılabilen sayfalar. – UnKnown

1

biz sunucuya iletebilir aksi halde istemciye mesaj göndererek istekte uygun bilgiyi iletin ..