msgbartop

JSP (JavaServer Pages) » Web design and custom web page design, SEO optimization and Internet development

msgbarbottom

JSP (JavaServer Pages)




Warning: Invalid argument supplied for foreach() in /home/content/s/y/k/sykrateno/html/sites/webdesign-optimization.net/wp-content/plugins/wp-post-links/wp-post-links.php on line 52

Warning: Invalid argument supplied for foreach() in /home/content/s/y/k/sykrateno/html/sites/webdesign-optimization.net/wp-content/plugins/wp-post-links/wp-post-links.php on line 52

Warning: Invalid argument supplied for foreach() in /home/content/s/y/k/sykrateno/html/sites/webdesign-optimization.net/wp-content/plugins/wp-post-links/wp-post-links.php on line 52

JavaServer Pages технологията позволява лесно създаване на уеб страници със статично и/или динамично съдържание. Уеб дизайн фирмите рядко използват подобен метод на работа, но използването на Java приложения често е наложително. Тя разширява динамичните възможности на JavaServlet технологията базирана на Java, предоставяйки интуитивен начин за представяне на статична информация. В основата на JSP стои нуждата от разделяне на технологиите в едно приложение – именно имплементиране на MVC архитектура. JSP представлява View компонентата – каквито са темплейтите при PHP и ASP при .NET.

Концепцията на JSP представлява:

Език за създаване на JSP страници, които представляват текстови документи, описващи как да бъде обработена заявката и как да бъде конструиран отговорът. Това включва и HTML, JavaScript, както и други езици за представяне на информация.
Език за достъп до сървърни обекти – UEL (Unified Expression Language) – изразителен език, който обединява използвания от предишните версии на JSP и JSF технологиите език за достъп до обекти
Механизъм за добавяне на разширения към JSP езика Предпочитаното разширение за JSP страници е .jsp. Една страница може да бъде съставена от няколко други страници или фрагменти. Разширението за JSP фрагмент е .jspf.

JSP елементите на JSP страница могат да бъдат описани с два синтаксиса – стандартен JSP и XML, като една страница може да съдържа само един тип синтаксис. JSP страница, използваща XML се нарича JSP документ и е XML валиден документ.Като такъв може да бъде обработвана със средства за работа с XML. Една стандартна JSP страница съдържа следните тагове:

Директива на страницата (<%@page … %>) - определя типа на връщаните данни, енкодинга и др. Например директивата <%@ page contentType=”text/html; charset=UTF-8″ %> означава, че страницата ще върне html код и енкодинга й ще бъде UTF-8
Тагова директива <%@taglib … %> - използва се за включване на допълнителни тагови библиотеки, които може да се намират на локалната машина или на отдалечен сървър
jsp:useBean – този елемент се използва за намиране на инстанция или създаване на такава на JavaBean компонент
израз за достъп до стойностите на обекти (${ }) - върнатите стойности се използват за задаване стойностите на атрибути на тагове и предоставяне на динамично съдържание. Описанията между скобите представляват UEL. Например value=”${!empty selectedLocaleString}” означава, че атрибутът value ще придобие булева стойност false ако полето, посочено от selectedLocaleString е празнeн низ или има стойност null. Може да се ползват и функции – като f:equals – тестваща дали първият й аргумент е идентичен с втория
Допълнителни тагове – като (c:forEach), който се използва за итерация на колекция

Цикъл на живот

JSP страниците обработват заявките като сървлетите. Затова цикилът на живот и много от възможностите на JSP (основно динамичните) са свързани с Java Servlet технологията. Когато към JSP страница е изпратена заявка, контейнерът проверява дали JSP сървлета на страницата е актуален. Ако не е – страницата се превежда в сървлет клас, който се компилира. Резултатите на JSP страниците винаги се буферират автоматично. Чрез директивата за страница може да се зададе размера на буфера - <%@ page buffer=”none| xxxkb” %>. Чрез същата директива може да се зададе и страница, която да се показва при проявяване на грешки. Адреса се посочва в „errorPage “ таг - <%@ page errorPage=”file-name” %>. За да укажете, че определена страница се показва при грешки може да използвате „isErrorPage“ тага. Чрез EL може да се вземе кода на грешката - ${pageContext.errorData.statusCode} - и обект, съдържащ информация за нея (Exception тип) -${pageContext.errorData.throwable}.