Джакарта серверінің беттері - Jakarta Server Pages

JSP
Файл атауын кеңейту
.jsp, .jspx, .jspf
Интернет-медиа түрі
қолдану / jsp
Соңғы шығарылым
2.3.6
СтандарттыJSR 245
Веб-сайтжобалар.клипсис.org/ жобалар/ ee4j.jsp Мұны Wikidata-да өңдеңіз

Java Server беттері (JSP; бұрын JavaServer Pages) - бұл көмектесетін технологиялар жиынтығы бағдарламалық жасақтама жасаушылар жасау динамикалық түрде құрылған веб-парақтар негізінде HTML, XML, Сабын, немесе басқа құжат түрлері. 1999 жылы шыққан Sun Microsystems,[1] JSP ұқсас PHP және ASP, бірақ қолданады Java бағдарламалау тілі.

Java Server Pages-ті орналастыру және іске қосу үшін үйлесімді веб-сервер сервлет ыдысы, сияқты Apache Tomcat немесе Джетти, талап етіледі.

Шолу

JSP Model 2 архитектурасы.

Архитектуралық тұрғыдан JSP жоғары деңгей ретінде қарастырылуы мүмкін абстракция туралы Java сервлеттері. JSP-ді аударады сервлеттер жұмыс кезінде, демек, JSP - сервлет; әрбір JSP сервлеті кэштеліп, түпнұсқа JSP өзгертілгенше қайта пайдаланылады.[2]

Java Server Pages-ді дербес немесе сервер жағының көріну компоненті ретінде пайдалануға болады модель - көрініс - контроллер жобалау, әдетте JavaBeans үлгі және Java сервлеттері ретінде (немесе сияқты құрылым) Apache Struts ) контроллер ретінде. Бұл түрі 2-модель сәулет.[3]

JSP Java коды мен белгілі бір алдын-ала анықталған әрекеттерді HTML сияқты статикалық веб-белгілеу мазмұнымен байланыстыруға мүмкіндік береді. Алынған парақ құжатты жеткізу үшін жинақталып, серверде орындалады. Құрастырылған беттерде және кез-келген тәуелді Java кітапханаларында емес, Java байт-коды бар машина коды. Кез келген басқа .jar немесе Java бағдарламалары сияқты, код а ішінде орындалуы керек Java виртуалды машинасы (JVM) сервер хостымен өзара әрекеттеседі операциялық жүйе платформаға бейтарап орта ұсыну.

JSP-ді HTML және XML құжаттарын жеткізу үшін қолданады, бірақ OutputStream-ті қолдану арқылы олар мәліметтердің басқа түрлерін де жеткізе алады.[4]

The Веб-контейнер сұраныс, жауап, сессия, бағдарлама, конфигурация, бет, pageContext, шығу және ерекшелік сияқты JSP жасырын нысандарын жасайды. JSP Engine бұл нысандарды аудару кезеңінде жасайды.

Синтаксис

JSP беттері үшін бірнеше бөлгіштер қолданылады сценарий функциялары. Ең қарапайым <% ... %>, ол JSP қоршауын қамтиды сценарий. Сценарий - бұл пайдаланушы параққа сұраныс жасаған кезде жұмыс істейтін Java кодының фрагменті. Басқа жалпы бөлгіштерге жатады <%= ... %> үшін өрнектер, мұнда сценарий мен бөлгіштер өрнекті бағалау нәтижесімен ауыстырылады және директивалар, деп белгіленеді <%@ ... %>.[5]

Java сценарий блогы ішінде толық немесе дербес болуы қажет емес. Ол парақ тұтастай синтаксистік тұрғыдан дұрыс болған жағдайда белгілеу мазмұнын қоршай алады. Мысалы, кез-келген Java if / for / while Бір сценарийде ашылған блоктар парақтың ойдағыдай жиналуы үшін кейінгі скриптте дұрыс жабылуы керек. Бұл кодты араластыруға мүмкіндік береді және нашар бағдарламалау тәжірибесіне әкелуі мүмкін.

Java кодының бөлінген блогына кіретін мазмұн (бірнеше сценарийлерге қатысты) сол кодқа бағынады. Ішіндегі мазмұн егер блок пайда болған кезде ғана пайда болады егер жағдай шындыққа сәйкес келеді. Дәл сол сияқты, цикл құрылымының мазмұны цикл денесінің қанша рет жұмыс істейтіндігіне байланысты нәтижеде бірнеше рет пайда болуы мүмкін.

Келесі дұрыс болады цикл үшін JSP парағында:

<p>Үшке дейін есептеу:</p><% үшін (int мен=1; мен<4; мен++) { %>    <p>Бұл сан <%= мен %>.</p><% } %><p>ЖАРАЙДЫ МА.</p>

Пайдаланушының веб-шолғышында көрсетілетін нәтиже:

Үшке дейін санау: Бұл сан - 1. Бұл - 2. Бұл - 3. Жарайды.

Өрнек тілі

JSP спецификациясының 2.0 нұсқасы Java объектілеріндегі деректер мен функцияларға қол жеткізу үшін қолданылатын Expression Language (EL) үшін қолдауды қосты. JSP 2.1-де ол бүктелді Бірыңғай өрнек тілі, ол да қолданылады JavaServer Faces.[6]

EL үлгісі синтаксис:

«Javabean» объектісіндегі «айнымалы» мәні $ {javabean.variable} құрайды.

Қосымша тегтер

JSP синтаксисі кіріктірілген функционалдылықты шақыру үшін JSP әрекеттері деп аталатын қосымша тегтерді қосады.[5] Сонымен қатар, технология тапсырыс бойынша JSP құруға мүмкіндік береді кітапханаларды тегтеу олар стандартты JSP синтаксисінің кеңейтімдері ретінде жұмыс істейді.[7] Осындай кітапханалардың бірі болып табылады JSTL, итерация және шартты жағдайлар сияқты жалпы тапсырмаларды қолдай отырып (Java-дағы «for» және «if» операторларының баламасы).[8]

Құрастырушы

A JavaServer Pages компиляторы - бұл JSP-ді талдайтын және оларды орындалатын етіп өзгертетін бағдарлама Java сервлеттері. Мұндай типтегі бағдарлама әдетте бағдарлама сервері және JSP-ге бірінші рет кіргенде автоматты түрде іске қосылады, бірақ парақтар жақсы жұмыс жасау үшін алдын-ала жинақталған немесе қателерді тексеру үшін құрастыру процесінің бөлігі ретінде жинақталған болуы мүмкін.[9]

Кейбір JSP контейнерлері контейнер JSP-ді қаншалықты жиі тексеретінін теңшеуді қолдайды файл уақыт белгілері парақтың өзгерген-өзгермегенін көру үшін. Әдетте, бұл уақыт таңбасы қысқа аралыққа (мүмкін, секундқа) орнатылады бағдарламалық жасақтама жасау және ұзартылған интервал (мүмкін минуттар, тіпті ешқашан) Веб-қосымша.[10]

Сын

2000 жылы «Java Servlet Programming» авторы Джейсон Хантер JavaServer беттерімен бірқатар «проблемаларды» сипаттады.[11] Дегенмен, ол JSP «Java платформасы үшін ең жақсы шешім» бола алмаса да, бұл «Java емес шешімге ұқсайтын Java шешімі» екенін жазды, ол ол Microsoft корпорациясын білдіреді Сервердің белсенді беттері. Кейінірек ол өзінің сайтына JSP 2000 жылдан бастап жақсарғаны туралы жазба қосты, сонымен қатар оның бәсекелестеріне сілтеме жасады, Apache жылдамдығы және шай (шаблон тілі).[дәйексөз қажет ] Бүгінгі таңда бірнеше балама нұсқалар бар, ал үлкен веб-қосымшаларда JSP-ге бағытталған бірқатар парақтар техникалық қарыз болып саналады.

Сондай-ақ қараңыз

Сервлет контейнерлері

Java негізіндегі шаблон баламалары

Әдебиеттер тізімі

  1. ^ Пошта тізімінің мұрағаты: «Sun JSP 1.0 * қол жетімді емес»
  2. ^ JSP парағының өмірлік циклі (күн құжаттамасы)
  3. ^ Сешадри, Говинд (29 желтоқсан 1999). «JavaServer Pages Model 2 архитектурасын түсіну». JavaWorld. Алынған 2020-07-17.
  4. ^ Форум ағыны (JavaRanch): OutputStream қазірдің өзінде алынған
  5. ^ а б JSP 1.2 синтаксистік сілтеме
  6. ^ Бірыңғай өрнек тілі (Sun Developer Network)
  7. ^ Tag кітапханалары туралы оқулық - Tag кітапханасы дегеніміз не? (Күн) Мұрағатталды 19 сәуір 2012 ж Wayback Machine
  8. ^ JSTLs құжаттамасы (Oracle) bb
  9. ^ IBM WebSphere 6.0.2 құжаттамасы
  10. ^ Sybase EAServer 5.0 құжаттамасы
  11. ^ JSP проблемалары (2000 жылғы 25 қаңтар)

Әрі қарай оқу

Сыртқы сілтемелер