Co to jest format pliku JSP?
.jsp to plik po stronie serwera używany do generowania dynamicznej zawartości stron WWW. Pierwotnie wprowadzony przez Sun Microsystems w 1999 roku jako JavaServer Pages, format został przemianowany na Jakarta Server Pages w 2019 roku, gdy pieczę nad nim przejęła Eclipse Foundation w ramach projektu Jakarta EE. Podobnie jak pliki PHP lub ASP, plik .jsp osadza kod wykonywalny wewnątrz znaczników HTML - jednak osadzonym językiem jest Java. Plik przechowuje logikę programu na serwerze, który go przetwarza i wysyła gotową stronę HTML do przeglądarki.
Pliki źródłowe .jsp są zwykłym tekstem. Kod Java jest osadzany za pomocą znaczników skryptletów (<% ... %>), znaczników wyrażeń (<%= ... %>) lub języka JSP Expression Language (${...}). Nowoczesne projekty często wykorzystują JSTL, aby oddzielić logikę biznesową od szablonu. Jeśli strona jest napisana jako poprawnie sformułowany XML, zamiast tego używane jest rozszerzenie .jspx.
Kwestie po stronie klienta. Użytkownik nie musi wiedzieć, jakiej technologii używa dana witryna. Przeglądarka otrzymuje jedynie dane wyjściowe HTML wygenerowane przez serwer - warstwa .jsp jest całkowicie ukryta przed odwiedzającymi. Do otwarcia pliku źródłowego .jsp nie jest wymagana Java Virtual Machine ani specjalne narzędzia; wystarczy standardowy edytor tekstu.
Bezpieczeństwo
RYZYKO: LOWRozszerzenie .jsp samo w sobie nie mówi nic o bezpieczeństwie - w adresie URL to po prostu normalna strona internetowa; traktuj witrynę jak każdą inną (uważaj na phishing na stronach logowania/bankowości). Pobrany plik .jsp to zazwyczaj nieszkodliwy HTML lub dokument o błędnej nazwie, a otwarcie go w edytorze tekstu jest zawsze bezpieczne. Zachowaj ostrożność tylko wtedy, gdy nieoczekiwany plik .jsp pochodzi z niezaufanego źródła - sprawdź go jako tekst przed zmianą nazwy i nigdy nie uruchamiaj niczego, co próbuje zainstalować. (Dla operatorów serwerów złośliwe przesłane „powłoki internetowe” .jsp są problemem po stronie serwera, a nie ryzykiem dla kogoś, kto tylko przegląda plik).
Szczegóły formatu
w pigułceProgramy otwierające pliki JSP
Szczegóły techniczne
specyfikacja| Typ pliku | Szablon internetowy Java po stronie serwera; tekstowy plik źródłowy łączący znaczniki HTML ze skryptletami Java, dyrektywami i wyrażeniami EL |
| Typ MIME | text/html |
| Kodowanie tekstu | Zwykły UTF-8 (zestaw znaków zadeklarowany w dyrektywie `<%@ page %>`; obsługiwane są inne kodowania, takie jak ISO-8859-1) |
| Sygnatura binarna | Brak - pliki `.jsp` nie posiadają magicznych bajtów; źródło zazwyczaj zaczyna się od `<%@ page ... %>` lub deklaracji DOCTYPE/HTML |
| Składnia skryptletów | `<% ... %>` dla bloków kodu, `<%= ... %>` dla wyrażeń wyjściowych, `<%! ... %>` dla deklaracji pól i metod |
| Język wyrażeń (EL) | `${...}` dla natychmiastowej ewaluacji; `#{...}` dla odroczonej ewaluacji - oba dają dostęp do beanów i zmiennych o określonym zasięgu bez osadzania surowego kodu Java |
| Wymagania serwera | Wymaga kontenera serwletów zgodnego z Jakarta EE (Apache Tomcat, Eclipse Jetty, WildFly itp.); nie może być obsługiwany przez zwykły serwer HTTP |
| Model kompilacji | Kontener automatycznie tłumaczy `.jsp` na plik źródłowy serwletu Java, kompiluje go do kodu bajtowego `.class`, a następnie buforuje i ponownie wykorzystuje skompilowaną klasę |
| Wariant oparty na XML | `.jspx` (JSP Document) - ściśle poprawny dialekt XML; biblioteki znaczników przywoływane przez przestrzenie nazw XML zamiast `<%@ taglib %>` |
| Obsługa bibliotek znaczników | JSTL (Jakarta Standard Tag Library) oraz niestandardowe biblioteki znaczników opisane plikami deskryptorów `.tld` ograniczają zależność od skryptletów |
| Pakowanie wdrożeniowe | Pakowane wewnątrz `.war` (Web Application Archive) wraz z serwletami, klasami i zasobami statycznymi w celu wdrożenia w kontenerze serwletów |
| Obiekty zasięgu niejawnego | Cztery wbudowane zasięgi - page, request, session oraz application - udostępniają atrybuty dostępne w odpowiednim czasie życia |
| Zmienne niejawne | Dziewięć predefiniowanych zmiennych dostępnych bez deklaracji: `request`, `response`, `out`, `session`, `application`, `config`, `pageContext`, `page`, `exception` |
| Historia nadzoru | Stworzony przez Sun Microsystems (JSP 1.0, 1999); stał się częścią Java EE; przekazany do Eclipse Foundation jako Jakarta Server Pages w ramach Jakarta EE w 2019 roku |
| Wydano | 1999 (JavaServer Pages 1.0); renamed Jakarta Server Pages under Jakarta EE (2019) |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | jakarta.ee |
Konwersje JSP
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki JSP.