Spring MVC: próba przeanalizowania cyklu żądania i odpowiedzi HTTP

Mapka poniżej przedstawia pewną strukturę, która w uproszczeniu oddaje to co się dzieje pod maską aplikacji opartej o Spring MVC gdy zostaje do niej nadesłany request HTTP. Jeżeli korzystasz z Intellij IDEA, to niektóre z elementów mapki możesz odszukać w swoim projekcie używając skrótu ctrl+n – miłego studiowania 😉 . DispatcherServlet – pełni rolę Front…

CZYTAJ DALEJ Spring MVC: próba przeanalizowania cyklu żądania i odpowiedzi HTTP

Spring MVC: ogólny zarys

Jak sama nazwa wskazuje, Spring MVC opiera swoje działanie o wzorzec architektoniczny Model View Controller. Zakłada on oddzielenie widoku od danych, które są do niego przekazywane, oraz z niego pobierane. Zadaniem natomiast kontrolera jest poprawne sparowanie obu. Przepływ danych jest dwukierunkowy, tj. z widoku wysyłane są żądania http na back-end, coś się zmienia, następnie po odświeżeniu przeglądarki, wraca na…

CZYTAJ DALEJ Spring MVC: ogólny zarys

Podstawy HTTP (Hypertext Transfer Protocol)

Zabierając się za programowanie webowe, w obojętnie jakiej technologi, tak też i w Java, nie sposób uniknąć tematu tego protokołu. Kwestia jest taka, że umożliwia on komunikację, wymianę danych, oraz w ogóle korzystanie z aplikacji uruchomionych na serwerach w Internecie. Aplikacje te wystawiają swoje API (ang. application programming interfaces), które przystosowane są do komunikacji z klientami (zwykle…

CZYTAJ DALEJ Podstawy HTTP (Hypertext Transfer Protocol)

O wzorcu MVC, wzorcach projektowych i S jak SOLID

Praca zgodnie z wzorcem Model View Controller zakłada oddzielenie widoku od danych, które są do niego przekazywane oraz z niego pobierane. Zadaniem natomiast kontrolera jest poprawne sparowanie obu. Przepływ danych ma miejsce w obu kierunkach, tj. z widoku do modelu i z powrotem. View – miejsce prezentacji danych oraz ich pobierania – interfejs użytkownika. Może to być konsola,…

CZYTAJ DALEJ O wzorcu MVC, wzorcach projektowych i S jak SOLID

Polimorfizm część 2 – but why?

Jest taki Brytyjczyk Simon Sinek, który propaguje odszukanie swojego “why?“, gdzie kluczowa jest właśnie zawsze odpowiedź na to pytanie. No bo każdy wie co robi, no i wie lepiej lub gorzej jak to robić – skoro robi, jednak sens całości zawsze nadaje odpowiedź na pytanie, dlaczego właściwie to robi? – wyczuwam głębię 😉 . Nawiązując do jego koncepcji,…

CZYTAJ DALEJ Polimorfizm część 2 – but why?

Polimorfizm część 1 – upcasting, downcasting, binding

Polimorfizm, czyli wielopostaciowość, oznacza występowanie czegoś pod wieloma postaciami. Nie ma chyba co do tego wątpliwości, że określenie nie wywodzi się z informatyki, a pierwotnie  odnosiło się raczej do zjawisk obserwowanych w przyrodzie. Używając więc super trafnego porównania, tak jak w przyrodzie woda występuje pod postacią pary, czy lodu, tak i obiekt jakiegoś typu, może wystąpić…

CZYTAJ DALEJ Polimorfizm część 1 – upcasting, downcasting, binding

Statyczność w Java

Modyfikator static przed składowymi klasy (pola, metody) oznacza, że możliwy jest bezpośredni dostęp do nich, bez konieczności tworzenia obiektu. Podając ścieżkę dostępu przez operator kropki można dotrzeć do statycznego pola lub metody z innej klasy. Mówi się, że takie pola, czy metody są przypisane do klasy i żyją niezależnie od obiektów, mają też wspólną wartość dla…

CZYTAJ DALEJ Statyczność w Java

Think object!

Określenie “jest obiektowy” usłyszałem pewnie z kilkanaście, albo i dzieścia lat temu, w odniesieniu do C++. Pamiętam skojarzenie, które miałem, że to łatwiejszy sposób na tworzenie programów, bo się je pewnie składa z gotowych części – obiektów. No a gdy jakiś czas temu już bardziej serio chciałem się zaznajomić z koncepcją OOP czytając na Oracle…

CZYTAJ DALEJ Think object!

Ile pamięci zajmuje obiekt w Javie?

Zacznę może od tego, że aktualnie poczytuję “Java. Praktyczny kurs” Marcina Lisa i przyznam, że całkiem mi się spodobała, więc polecam 😉 . Czytałem akurat rozdział o obiektowości, a dokładniej tam gdzie autor pisał o dziedziczeniu i przesłanianiu składowych klas – tutaj może cytat: “W klasie A zostało zdefiniowane pole o nazwie liczba i typie…

CZYTAJ DALEJ Ile pamięci zajmuje obiekt w Javie?

Maven – podstawy

Do rozpoczęcia pracy z Maven potrzeba mvn w konsoli, odpowiedniej struktury katalogów, najlepiej wraz z jakąś przykładową aplikacją, oraz pliku konfiguracyjnego pom.xml. Poniżej znajduje się standardowa struktura katalogów projektu mavenovego (poleceniem tree).  Dodam, że można te katalogi potworzyć ręcznie, łącznie z pom.xml. Przeglądając “Wstęp do Gradle” na blogu Marcina Pietraszka (tutaj – swoją drogą polecam dla każdego dev-wannabe) można zauważyć, że…

CZYTAJ DALEJ Maven – podstawy