Junior
JavaServer Pages (JSP) nədir?
sobes.tech Süni İntellekt
AI-dan cavab
JSP veb proqramlaşdırma texnologiyasıdır və Java kodunu HTML səhifələrinə yerləşdirməyə imkan verir. JSP-nin məqsədi dinamik veb məzmun yaratmaqdır. Apache Tomcat kimi tətbiq serveri JSP faylını tərtib edərək servlet-ə çevirir və sonra müştəri üçün cavab (adətən HTML) yaradır.
JSP-nin əsas elementləri:
- Skript elementləri:
- Scriptletlər (
<% ... %>): Hər hansı Java kodunu yerləşdirmək. - İfadələr (
<%= ... %>): Səhifədə ifadənin dəyərini göstərir. - Deklarasiyalar (
<%! ... %>): Servlet sinfində dəyişənlər və metodlar elan edir.
- Scriptletlər (
- Direktivlər: JSP konteynerinin davranışını idarə edir. Nümunələr:
<%@ page ... %>: Səhifə atributlarını müəyyən edir (dil, kodlama, sinif idxalı və s.).<%@ include ... %>: Digər faylın məzmununu daxil edir.<%@ taglib ... %>: Etiket kitabxanasının istifadəsini elan edir.
- Standart hərəkətlər (JSP Standard Actions): XML-ə bənzər etiketlər vasitəsilə əvvəlcədən təyin olunmuş hərəkətləri yerinə yetirir. Nümunələr:
<jsp:include page="..."/>: Dinamik olaraq başqa resursun məzmununu daxil edir.<jsp:forward page="..."/>: Sorğunu başqa resursa yönləndirir.<jsp:useBean id="..." class="..." scope="..."/>: JavaBeans istifadə edir və ya yaradır.
- İmplicit obyektlər: Scriptletlər və ifadələrdə açıq elan edilmədən mövcud olan obyektlər. Nümunələr:
request,response,session,application,out.
Sadə JSP fayl nümunəsi:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP Nümunəsi</title>
</head>
<body>
<h1>JSP-dən salam!</h1>
<p>İndiki vaxt: <%= new java.util.Date() %></p>
<% // Bu scriptletdir
String message = "Bu scriptletdən mesajdır.";
out.println("<p>" + message + "</p>");
%>
</body>
</html>
JSP-in üstünlükləri:
- Dinamik məzmun yaratmaqda sadəlik (saf servletlərə nisbətən daha az boilerplate kod).
- Təqdimat (HTML) və tətbiq məntiqinin (Java) ayrılması, baxmayaraq ki, sadə hallarda kod çox qarışıq ola bilər.
- JSTL kimi etiket kitabxanələrindən istifadə edərək kodun təmizliyi və scriptletlərin azaldılması.
JSP-in çatışmazlıqları:
- Təqdimat və biznes məntiqinin qarışması, böyük layihələrdə kodun saxlanmasını çətinləşdirə bilər.
- Scripting elementlərində sərt tip yoxluğu, icra zamanı səhvlərə səbəb ola bilər.
- Fərdi JSP səhifələrinin test edilməsi çətindir, çünki onlar servlet konteynerinə sıx bağlıdır.
Müasir veb tətbiqlərdə JSP tez-tez framework-lərlə (məsələn, Spring MVC) Model-View-Controller (MVC) prinsipi əsasında istifadə olunur, burada JSP View kimi çıxış edir. Ancaq JSP daha güclü şablon mühərrikləri (Thymeleaf, FreeMarker) və müştəri tərəfi framework-lər (React, Angular, Vue) ilə əvəz olunur.