Описание
Подтемы
- HTTP
- Servlet API
- JSP
- webapp-container (Tomcat)
- шаблон MVC
- шаблон Front Controller
Сущности и их жизненный цикл
Servlet / HttpServlet / SingleThreadModel
init()
public String getInitParameter(String)
public void destroy()
CHAPTER SRV.2. The Servlet Interface
SRV.2.1 Request Handling Methods SRV.2.2 Number of Instances SRV.2.3 Servlet Life Cycle
Количество: для каждого объявленного в web.xml (а не класса) сервлета может существовать любое количество экземпляров, и в каждом из них может быть одновременно любое количество запросов.
Момент создания: если в web.xml в объявлении сервлета не стоит <load-on-startup>, то экземпляры сервлета будут созданы в неопределенный момент от старта war(? что с листенерами) до обработки первого запроса. Если в web.xml в объявлении сервлета стоит <load-on-startup>, то экземпляры сервлета будут созданы при старте war(? что с листенерами) в определенном порядке.
Жизненный цикл: после вызова конструктора, но до вызова обработки первого запроса будет вызван init(). В init() можно прочитать значения из <init-param>. После обработки последнего запроса, но до потери ссылки на сервлет будет вызван destroy().
Filter / FilterChain / FilterConfig
CHAPTER SRV.6. Filtering
SRV.6.1 What is a filter? SRV.6.2 Main Concepts
Listener
HttpServletRequest
HttpServletResponse
HttpSession
RequestDispatcher
ServletContext
Cookie
Сущности детально
Servlet / HttpServlet / GenericServlet / ServletConfig / ?JSPServlet?
service() / doGet() / doPost() /
init()
public ServletConfig getServletConfig()
public String getInitParameter(String)
public Enumeration getInitParameterNames()
public ServletContext getServletContext()
public void destroy()
Взаимоотношения сущностей
ф
Request to Servlet/Filter mapping
ф
Лабораторные
servlet.core.log_filter
Написать фильтр, который пишет через Log4j в отдельный файл
- всю информацию о клиенте, которую смог получить из HttpServletRequest
- всю информацию о URL, на который пришел запрос
- время обработки запроса
- если в init-config
servlet.core.caching_filter
servlet.core.codeset_filter
HTML5
1) DOM model
11) JS places in DOM model
2) Embedded video
3) 50M storage
4) pixel art
DNS
1) ?
TCP
1) ?
UDP
1) ?
IP
1) ?
Ethernet
1) ?
Подтемы
- HTTP
- Servlet API
- JSP
- webapp-container (Tomcat)
- шаблон MVC
- шаблон Front Controller
Сущности и их жизненный цикл
Servlet / HttpServlet / SingleThreadModel
init()
public String getInitParameter(String)
public void destroy()
CHAPTER SRV.2. The Servlet Interface
SRV.2.1 Request Handling Methods SRV.2.2 Number of Instances SRV.2.3 Servlet Life Cycle
<web-app ...>
...
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>com.mycompany.myproj.HelloServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>BuyServlet</servlet-name>
<servlet-class>com.mycompany.myproj.BuyServlet</servlet-class>
<init-param>
<param-name>greeting</param-name>
<param-value>Welcome</param-value>
</init-param>
<init-param>
<param-name>person</param-name>
<param-value>WebLogic Developer</param-value>
</init-param>
<load-on-startup>10</load-on-startup>
</servlet>
</web-app>
Количество: для каждого объявленного в web.xml (а не класса) сервлета может существовать любое количество экземпляров, и в каждом из них может быть одновременно любое количество запросов.
Момент создания: если в web.xml в объявлении сервлета не стоит <load-on-startup>, то экземпляры сервлета будут созданы в неопределенный момент от старта war(? что с листенерами) до обработки первого запроса. Если в web.xml в объявлении сервлета стоит <load-on-startup>, то экземпляры сервлета будут созданы при старте war(? что с листенерами) в определенном порядке.
Жизненный цикл: после вызова конструктора, но до вызова обработки первого запроса будет вызван init(). В init() можно прочитать значения из <init-param>. После обработки последнего запроса, но до потери ссылки на сервлет будет вызван destroy().
Filter / FilterChain / FilterConfig
CHAPTER SRV.6. Filtering
SRV.6.1 What is a filter? SRV.6.2 Main Concepts
Listener
HttpServletRequest
HttpServletResponse
HttpSession
RequestDispatcher
ServletContext
Cookie
Сущности детально
Servlet / HttpServlet / GenericServlet / ServletConfig / ?JSPServlet?
service() / doGet() / doPost() /
init()
public ServletConfig getServletConfig()
public String getInitParameter(String)
public Enumeration getInitParameterNames()
public ServletContext getServletContext()
public void destroy()
Взаимоотношения сущностей
ф
Request to Servlet/Filter mapping
ф
Лабораторные
servlet.core.log_filter
Написать фильтр, который пишет через Log4j в отдельный файл
- всю информацию о клиенте, которую смог получить из HttpServletRequest
- всю информацию о URL, на который пришел запрос
- время обработки запроса
- если в init-config
servlet.core.caching_filter
servlet.core.codeset_filter
HTML5
1) DOM model
11) JS places in DOM model
2) Embedded video
3) 50M storage
4) pixel art
DNS
1) ?
TCP
1) ?
UDP
1) ?
IP
1) ?
Ethernet
1) ?