pdf / 5-jsp+jstl
.pdfJSP
Java Server Pages
JSP концепция
Template Data
Addition of Dynamic Data
Encapsulation of Functionality
JavaBeans
Tag libraries
Good Tool Support
Основные понятия
JSP pages and servlet classes - web components
JSP pages are textual components
Translation phase
Request phase
Deployment Descriptor
<jsp-config>
<taglib>
<jsp-property-group>
JSP
JSP
JSP page или JSP document (XML well-formed)
JSP translation - validating JSP pages
Events in JSP Pages
jspInit()
jspDestroy()
Compiling JSP Pages
Deployment time
Development time
JSP состоит из
Элементов
Template data
Element Syntax
Directives
Обеспечивают информацию для фазы трансляции
<%@ directive...%>
Actions
Фаза обработки запроса
standard
custom
<mytag attr1=”attribute value” ...></mytag>
Scripting Elements
<mytag attr1=”${bean.property}”.../> ${map[entry]} <lib:myAction>${3+counter}</lib:myAction> Старые scripting elements:
Declarations <%! ... %>
Scriptlets <% ... %>
Expressions <%= ... %>
Error Handling
Translation Time Processing Errors HTTP 500
Request Time Processing Errors
errorPage URL
ServletRequest attributes
javax.servlet.error.status_code (Integer)
javax.servlet.error.exception_type (Class)
javax.servlet.error.message (String)
javax.servlet.error.exception (Throwable)
javax.servlet.error.request_uri (String)
javax.servlet.error.servlet_name (String)
Using JSPs as Error Pages
page directive’s isErrorPage attribute to true
exception implicit scripting language variable
ErrorData ${pageContext.errorData.statusCode}
JSP page class
_jspService() method
JspWriter (out)
Нельзя из текста jsp напрямую работать с PrintWriter or OutputStream
Objects and Scopes
Page
Хранятся в pageContext. Освобождаются после завершения обработки текущего запроса или редиректа на другую страницу
Request
Доступны для всех страниц обрабатывающих один запрос. Хранятся в request.
Session
Хранятся в сессии
Application
Хранятся в ServletContext. Доступны в пределах приложения
Одно пространство имен
Неявные объекты
request - subtype of javax.servlet.ServletRequest
response - subtype of javax.servlet.ServletResponse
pageContext - javax.servlet.jsp.PageContext
session - javax.servlet.http.HttpSession
application - javax.servlet.ServletContext
out - javax.servlet.jsp.JspWriter
config - javax.servlet.ServletConfig
page - java.lang.Object
exception - java.lang.Throwable (для error pages)
The page Directive
<%@ page page_directive_attr_list %>
Language
extends
import
session
buffer
autoFlush
isThreadSafe
info
errorPage
isErrorPage
contentType
pageEncoding
isELIgnored