java весна 2014 лекция 2

26
Углубленное программирование на Java Лекция 1-2 «Frontend» Виталий Чибриков

Upload: technopark

Post on 22-May-2015

337 views

Category:

Education


4 download

TRANSCRIPT

Page 1: Java весна 2014 лекция 2

Углубленное программирование

на JavaЛекция 1-2«Frontend»

Виталий Чибриков

Page 2: Java весна 2014 лекция 2

План лекции

2

1. Jetty

2. Сервлеты

4. Шаблонизатор

5. Iterable, Collections

3. HttpSession

Page 3: Java весна 2014 лекция 2

Jetty

3

java based http server

создание динамических страниц

пересылка статических файлов (html страницы, картинки…)

Page 4: Java весна 2014 лекция 2

Jetty

connector принимает http запросы (request)

handler(s) возвращают response

ThreadPool pool потоков для обработки запроса

4

Page 5: Java весна 2014 лекция 2

Jetty

5

Page 6: Java весна 2014 лекция 2

Jetty

6

Page 7: Java весна 2014 лекция 2

План лекции

7

1. Jetty

2. Сервлеты

4. Шаблонизатор

5. Iterable, Collections

3. HttpSession

Page 8: Java весна 2014 лекция 2

Java Servlet

Servlet класс расширяющий возможности сервера

как applet, только на web сервере

java решение для создания динамических страниц

объект, который обрабатывает http запрос(request) и возвращает ответ (response) –html станицу

ServletContainer часть web сервера, содержащая сервлеты

связывает URL с сервлетом

8

Page 9: Java весна 2014 лекция 2

Java Servlet

<dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-webapp</artifactId><version>9.1.0.M0</version>

</dependency>

9

Page 10: Java весна 2014 лекция 2

Java Servlet

10

Page 11: Java весна 2014 лекция 2

Java Servlet

11

Page 12: Java весна 2014 лекция 2

План лекции

12

1. Jetty

2. Сервлеты

4. Шаблонизатор

5. Iterable, Collections

3. HttpSession

Page 13: Java весна 2014 лекция 2

HttpSession

13

Page 14: Java весна 2014 лекция 2

План лекции

14

1. Jetty

2. Сервлеты

4. Шаблонизатор

5. Iterable, Collections

3. HttpSession

Page 15: Java весна 2014 лекция 2

<freemarker>

Шаблонизатор создает страницы для response

15

Page 16: Java весна 2014 лекция 2

<freemarker>

16

Page 17: Java весна 2014 лекция 2

<freemarker>

17

Page 18: Java весна 2014 лекция 2

План лекции

18

1. Jetty

2. Сервлеты

4. Шаблонизатор

5. Iterable, Collections

3. HttpSession

Page 19: Java весна 2014 лекция 2

interface Iterable<T>

interface Iterator<T>

Iterator & Iterable

19

Iterator<T> iterator()

boolean hasNext()

void remove()

T next()

Page 20: Java весна 2014 лекция 2

Иерархия контейнеров

20

Page 21: Java весна 2014 лекция 2

Методы

Collection

21

extends Iterable<T>

add(T object)

addAll(Collection<T> coll)

clear()

contains(Object o)

remove(Object o)

removeAll(Collection<T> coll)

size()

isEmpty()

Page 22: Java весна 2014 лекция 2

List, Set, Queue

22

List

Список с очередностью

LinkedList ― быстрое удаление и добавление элементов

ArrayList ― быстрый доступ по индексу

Set

Без очередности

Без индекса

Быстрый поиск элемента

Queue

FIFO

Page 23: Java весна 2014 лекция 2

Map<key, value>

Map

23

Быстрый поиск по ключу – get(key)

Объект в качестве value. Например другой контейнер (Map<Integer, List<T>>)

Set<keyType> keySet()

Collection<valueType> values()

Page 24: Java весна 2014 лекция 2

interface Comparable<T>

Comparable

24

int compareTo(T o)

Возвращаемое значение типа int может быть >, =, < нуля

Integer a = 1;

Integer b = 2;

a.compareTo( b ) == -1; // true

a.compareTo( a ) == 0; // true

b.compareTo( a ) == 1; // true

Page 25: Java весна 2014 лекция 2

Основные методы

class Collections

― набор статических методов для работы с контейнерами

Collections

25

Page 26: Java весна 2014 лекция 2

Спасибо за внимание

Виталий Чибриков[email protected]