Java EE 6 Web Component Developer Certified Expert Exam (1Z0-899) segédlet
- Java EE 6: Servlet 3.0, JSP 2.2, EL 2.2
 - Java EE 7: Servlet 3.1, JSP 2.3, EL 3.0
 
1. fejezet: Networks and HTTP
- URI két megvalósulása: URL, URN
 - HTTP/1.0-ban csak a 
GET,POST,HEADdefiniált - HTTP/1.1-ben: 
GET,POST,HEAD,OPTIONS,PUT,DELETE,TRACE(CONNECT: reserved) - Státuszkódok: Informational (1xx), successful (2xx), Redirect (3xx), Client error (4xx), Server error (5xx)
 
2. fejezet: Java EE architecture
3. fejezet: Servlets
javax.servlet.Servletinterface,javax.servlet.GenericServletclass,javax.servlet.http.HttpServletclassHttpServlet-et nem kötelezõ kiterjeszteni, írható Generic-cel is Http-t kezelõ servlet- init hívásakor 
ServletExceptionesetén van olyan konténer, mely megpróbálhatja újra példányosítani - init hívásakor 
UnavailableException extends ServletException, megadhatjuk, hogy mennyi ideig áll fenn a probléma - service esetén megfelelõen formázott 
UnavailableException- eltávolítja, permanent hiba esetén dobandó ServletException, vagy megfelelõen formázottUnavailableExceptionesetén újra próbálkozhat
4. fejezet: Servlet Contexts
getContext- más alkalmazás context-jét is képes visszaadni, a context-et kell átadni / jellel kezdve- Nem lehet más context-bõl attribútumot lekérni
 
5. fejezet: Request and responses
getInputStreamésgetReaderegyüttes meghívásaIllegalStateException-t dob- Hossz beállítása 
ServletResponse.setContentLength ServletRequestListener.requestInitialized,requestDestroyedflushBufferután asetHeadernem dobIllegalStateException-t, csak nem állítja be
6. fejezet: RequestDispatcher & Wrappers
include()forward()elõtt nem lehet commitforward()visszatérése elõtt már elküldött, commitolt, lezárt a streamjavax.servlet.forward/include:request_uri,context_path,servlet_path,path_info,query_string`context_pathsohasem végzõdhet/jellel- a 
getNamedDispatchernem állítja be arequest_uri, stb. paramétereket 
7. fejezet: Filters
8. fejezet: Asynchronous requests
AsyncContextServletRequest.startAsync()AsyncContext.dispatch()hasonló, mint adispatcher.forward(), de- dispatcher type 
FORWARDhelyettASYNC - buffer/header nem resetelõdik
 - commitált response-ra is meg lehet hívni, ha késõbb nem módosítják a headert
 AsyncContext.ASYNC_CONTEXT_URI,ASYNC_CONTEXT_PATH,ASYNC_SERVLET_PATH,ASYNC_PATH_INFO,ASYNC_QUERY_STRINGonStartAsync,onComplete,onTimeout,onError- a dispatch inkább egy include operációnak felel meg, azaz a hívó akár commitolhat is
 - nem lehet dispatch-t kétszer ugyanazon az 
AsyncContext-en hívni 
9. fejezet: Session Management
HttpSessionActivationListener.sessionDidActivate,sessionWillPassivateHttpSession.get/setMaxInactiveIntervalHttpSessionAttributeListener-attributeAdded,attributeRemoved,attributeReplacedHttpSessionBindingListener, ennekvalueBoundésvalueUnboundmetódusa van
10. fejezet: Application Deployment
- filter-mapping/dispatcher: 
FORWARD,INCLUDE,REQUEST,ERROR, és bejött azASYNC error-page/locationjavax.servlet.error.status_code,exception_type,message,exception,request_uri,servlet_name- sorrend: 
listener,context,filter,servlet 
11. fejezet: Modular deployment
metadata-complete: nincs scanjavax.servlet.annotationpackage@MultipartConfig:fileSizeThreshold,maxFileSize,maxRequestSizeMETA-INF/web-fragment.xmlordering,absolute-ordering,before,after,name,others- Ordering: 
filter,servlet,ServletContextListener,ServletRequestListener,HttpSessionListener, other listeners - Programmatic registration: 
servlet,filter,listener - Konfigurálni viszont csak 
servlet-et ésfilter-t lehet - Több dolgot lehet beállítani dinamikusan regisztrált komponenseken
 ServletRegistration.addMappingFilterRegistration.addMappingForServletNames,addMappingForUrlPatternsServletContextListnerer contextInitializedmetódusában, vagyServletContainerInitializerimplementációban, mely aMETA-INF/services/javax.servlet.ServletContainerInitializer-ben van felvéveonStartup(Set<Class<?>>, ServletContext)- van 
enabledtag aservlettag-en belül - elõször a web-fragment töltõdik be, majd az annotációk, és végül merge-ölõdik egyesével a 
web.xml-be 
12. fejezet: Resource injection
javax.annotation.Resourcejavax.ejb.EJBjavax.persistence
13. fejezet: JSP Basics
taglib,uri,tagdir<%@include file=JspContext, és ennek a leszármazottja aPageContext- A tervezõk szerint a JSP nem csak servlet környezetben futtatható, de amennyiben abban fut, a 
PageContextpéldányt kapja pageContext.forward,includejspInit-ben az implicit objektumok nem érhetõek el- implicit objektumok: 
request,response,pageContext,session,application,out,config,page,exception 
14. fejezet: JSP Documents
jsp:root, nem kötelezõ JSP 2.0-tóljsp:expressionjsp:directive.pagejsp:directive.includejsp:declarationjsp:scriptletjsp:textdirective.pagefile-t vár, mert statikusCDATA-n belül lévõt nem értelmezi- parse-nál hiba, akkor validation fázisban dob hibát
 
15. fejezet: Expression Language
- nincs konkatenáció
 - Precedencia
 
 [], .
 ()
 - (unary), not, !, empty
 *, /, div, %, mod
 +, -
 <, lt, >, gt, <=, le, >=, ge
 ==, eq, !=, ne
 &&, and
 ||, or
 ?:
- implicit objects: 
pageContext,pageScope,requestScope,sessionScope,applicationScope,param,paramValues,header,headerValues,cookie,initParam 
##16. fejezet: Standard Actions & JavaBeans
<jsp:useBean>kombinációi:class: ezt példányosítjaclass,type: így deklaráljabeanName,type: elõször deszerializálni próbál, sikertelen esetben példányosíttype: így deklarálja, de nem példányosítja, ha nincs a scope-banInstantiationException<jsp:setProperty>name: bean neve, useBean id-japroperty: property neve, vagy *value: string vagy expressionparam: melyik paramból vegye<jsp:getProperty>jsp:includetag/action page paramétert vár, mert dinamikusjsp:forwardjsp:param
17. fejezet: Tag Libraries and the JSTL
<c:url><c:import url>-RequestDispatcher<c:redirect url>- url, import, redirect paraméterezéséhez: 
c:param 
18. fejezet: Custom Tags
javax.servlet.jsp.tagextpackageJspTag,Tag,IterationTag,TagSupport,BodyTag,BodyTagSupport,BodyContent,SimpleTag,JSPFragment,SimpleTagSupportdoStartTag:EVAL_BODY_INCLUDE,SKIP_BODYdoEndTag:EVAL_PAGE,SKIP_PAGE- Sorrend: 
setPageContext,setParent, setters,doStartTag,doEndTag doAfterBody:SKIP_BODY,EVAL_BODY_AGAINSKIP_BODY,EVAL_BODY_BUFFEREDPageContext.pushBody,popBodySimpleTagsorrend:setJspContext,setParent, setters,setJspBody,doTag- A 
SimpleTagbody nem tartalmazhat scripting elemet - Tag handler poolozott
 SimpleTagmindig új példányDynamicAttributesjsp:attribute,jsp:body- synchronization of scripting variable: 
AT_BEGIN,NESTED,AT_END TagAdapter
19. fejezet: Tag Files
- nincs pool
 - JSP Context Wrapper
 - variable synchronization
 jsp:doBody,jsp:invoke
20. fejezet: Tag Deployment
urn:jsptld:/urn:jsptagdir:/
21. fejezet: Security
user-data-constraintNONE,INTEGRAL,CONFIDENTAL@ServletSecurity@HttpMethodConstraint@HttpConstraint
22. fejezet: Java EE Patterns
- MVC
 - Presentation tier: Front Controller, Intercepting filter,
 - Business logic tier: Business delegate, service locator, transfer object