Kiedy używać JSP i JSPF

Technologia Java Server Page służy do tworzenia aplikacji internetowych.

Ponowne użycie kodu JSP

Pliki JSPF mogą być wykorzystywane do tego, aby programowanie złożonych aplikacji internetowych Java było mniej uciążliwe i podatne na błędy, dzieląc aplikację na kilka mniejszych i łatwiejszych w zarządzaniu jednostek lub modułów. Idealnie, każdy moduł powinien być dedykowany do pojedynczej części kompletnego programu i mieć charakter ogólny, aby kod mógł być ponownie użyty w przyszłych aplikacjach JSP. Nadrzędny plik JSP będzie zawierał dyrektywę "include" dla każdego pliku fragmentu JSPF, który łączy je wszystkie w kompletnej aplikacji JSP.

Refaktoryzacja kodu

Podział dużego pliku JSP na bardziej modułowe i mniejsze fragmenty JSPF ma tę dodatkową zaletę, że ułatwia refaktoryzację kodu. Refaktoryzacja kodu jest techniką poprawiającą jakość kodu poprzez badanie go, dzieląc go na jednostki logiczne, a następnie przepisując te jednostki jeden po drugim. Używanie fragmentów JSPF może pomóc w wyeliminowaniu błędów i zwiększeniu wydajności każdej jednostki i końcowej aplikacji.

Ograniczenie dostępu

Zgodnie z konwencją fragmenty JSPF powinny być przechowywane w katalogu "/ WEB-INF / jspf /". Ten katalog jest dostępny przez kontenery serwletów, takie jak Tomcat i JBoss Application Server, ale nie przez serwery WWW, takie jak Apache lub Microsoft IIS. Możesz podzielić pełną stronę JSP na pliki fragmentów JSPF i ukryć je w katalogu "/ WEB-INF / jspf /". Możesz również ukryć pełną stronę JSP z dostępu do sieci, przechowując ją w fragmentach JSPF.

Interakcje JSP

Pełne strony JSP mogą importować inne pełne strony JSP, a także fragmenty JSPF. Możesz to zrobić za pomocą dyrektyw "dsp: include" lub "jsp: include". Dyrektywa "dsp: include" pozwoli nadrzędnemu plikowi JSP przekazać parametry do metod w podrzędnych plikach JSP. Dyrektywa "jsp: include" nie zezwala na przekazywanie parametrów do metod w plikach JSPF, ale pozwala metodom fragmentów JSPF uzyskiwać dostęp do danych globalnych i innych obiektów, do których zasady zakresu Java zezwalają na dostęp.