Servlet (javax.servlet) ServletConfig GETSERVLETCONFIG() * GETSERVLETINFO() HttpServlet (javax.servlet.http) DOGET(HttpServletRequest req, HttpServeltResponse res) throw IOException DOPOST() * DOPUT() * DODELETE() * DOOPTIONS() * DOTRACE() * void LOG() ServletConfig (javax.servlet) String GETINITPARAMETER(String name)*Enumeration GETINITPARAMETERNAMES() ServletContext GETSERVLETCONTEXT() ServletContext (javax.servlet) Object GETATTRIBUTE(String name) * Enumeration GETATTRIBUTENAMES() void REMOVEATTRIBUTE(String name) void SETATTRIBUTE(String name, Object object) String GETINITPARAMETER(String name)*Enumeration GETINITPARAMETERNAMES() ServletContext GETCONTEXT(String url) RequestDispatcher GETNAMEDDISPATCHER(String name) RequestDispatcher GETREQUESTDISPATCHER(String path) void LOG(String msg) *void LOG(String message, Throwable throwable) ServletContextAttributeListener (javax.servlet) void ATTRIBUTEADDED(ServletContextAttributeEvent scab) void ATTRIBUTEREMOVED(ServletContextAttributeEvent scab) void ATTRIBUTEREPLACED(ServletContextAttributeEvent scab) ServletContextListener (javax.servlet) CONTEXTDESTROYED() * CONTEXTINITIALIZED() ServletRequest (javax.servlet) Object GETATTRIBUTE(String name) * Enumeration GETATTRIBUTENAMES() void REMOVEATTRIBUTE(String name) * SETATTRIBUTE(String name, Object o) String GETPARAMETER(String name) * Enumeration GETPARAMETERNAMES() String[] GETPARAMETERVALUES(String name) RequestDispatcher GETREQUESTDISPATCHER(String path) HttpServletRequest (javax.servlet.http) String GETHEADER(String name) * Enumeration GETHEADERNAMES() Enumeration GETHEADERS(String name) * int GETINTHEADER(String name) String GETMETHOD() * HttpSession GETSESSION() HttpSession GETSESSION(boolean create) * Principal GETUSERPRINCIPAL() boolean ISSECURE() ServletResponse (javax.servlet) SETCONTENTTYPE(String type) * PrintWriter GETWRITER()*void FLUSHBUFFER() HttpServletResponse (javax.servlet.http) fields: SC_NOT_FOUND, SC_NOT_ACCEPTABLE void ADDCOOKIE(Cookie cookie) *void ADDHEADER(String name, String value) void ADDINTHEADER(String name, int value) boolean CONTAINSHEADER(String name)*String ENCODEREDIRECTURL(String url) String ENCODEURL(String url) * void SENDERROR(int sc) void SENDERROR(int sc, String msg) * void SENDREDIRECT(String location) void SETHEADER(String name, String value) void SETINTHEADER(String name, int value) * void SETSTATUS(int sc) ServletContextAttributeEvent (javax.servlet) GETNAME() * GETVALUE() ServletContextEvent (javax.servlet) GETSERVLETCONTEXT() HttpSession (javax.servlet.http) GETATTRIBUTE() * SETATTRIBUTE() * void SETMAXINACTIVEINTERVAL(int secs) //for distributed environments HttpSessionActivationListener (javax.servlet.http) SESSIONDIDACTIVATE() * SESSIONWILLPASSIVATE() HttpSessionAttributeListener (javax.servlet.http) ATTRIBUTEADDED() * ATTRIBUTEREMOVED() * ATTRIBUTEREPLACED() //notification when session attributes added or removed HttpSessionBindingListener (javax.servlet.http) VALUEBOUND() * VALUEUNBOUND() HttpSessionListener (javax.servlet.http) SESSIONCREATED() * SESSIONDESTROYED() Principal GETNAME() PageContext GETATTRIBUTE() * GETOUT() * GETSESSION() * GETSERVLETCONFIG() GETSERVLETCONTEXT() RequestDispatcher INCLUDE() * FORWARD() ******************************************************************************* BodyTag DOINITBODY() BodyTagSupport implements BodyTag fields:BODYCONTENT doafterbody(), doendtag(), doinitbody(), dostarttag(), getbodycontent(), getparent(), getpreviousout(), release() IterationTag fields:EVAL_BODY_AGAIN DOAFTERBODY(ret eval_body_again, skip_body) Tag fields:EVAL_PAGE, SKIP_BODY, SKIP_PAGE DOENDTAG(ret eval_page, skip_page), DOSTARTTAG(ret eval_body_include, skip_body), GETPARENT(), RELEASE() TagSupport implements Tag, IterationTag doafterbody(), doendtag(), dostarttag(), getparent(), release() Tag handler methods findAncestorWithClass(), findAttribute(), getAttribute(), getAttributeNamesInScope(), getAttributeScope(), getException(), getOut(), getPage(), getParent(), getRequest(), getResponse(), getSession(), getServletConfig(), getServletContext(), removeAttribute() setAttribute() ***DESIGN PATTERNS*** -Value Object: Reduces net traffic caching remote objects as a proxy -Business Delegate: -Data Access Object: -Front Component: Single entry point to a Web Site or service. Simpler GUI -Model-View-Controller: Decouple presentation from core data access functional. ***Web–App Elements*** CONTEXT_PARAM(param-name, param-value, description), ERROR-PAGE(error-code, exception-type, location), INIT-PARAM, LISTENER(listener-class), LOGIN-CONFIG(auth-method, form-login-config(form-login-page, form-error-page)), SECURITY-CONSTRAINT(resource-ref, web-resource-collection( http-method, web-resource-name)), SECURITY-ROLE(role-name, description), SERVLET, SERVLET-CLASS, SERVLET-MAPPING, SESSION-CONFIG(session-timeout), TAG(name, tagClass, info, attribute(name, rtexprvalue, required)) TAGLIB(taglib-uri, taglib-location), USER-DATA-CONSTRAINT(transport-guarantee) ***Scriptlet******************************************************************* TRANSLATION, COMPILATION, LOAD CLASS, CREATE INSTANCE, jspInit, _jspService, jspDestroy <%@ page (import, session(def. true), errorPage, isErrorPage, contentType, isThreadSafe) = ...%> <%@ include file = "a.html"%> = (at translation) ***Tag library***************************************************************** <@ taglib uri="/stsTagLibrary" prefix="stsLib"> , pippo ******* source, container passes the line to the client as is: -> output: Que Reader