Różnica między HttpServletResponse/HttpServletRequest a ResponseEntity/RequestEntity

0

Jaka jest różnica w zastosowaniu HttpServletResponse/HttpServletRequest a ResponseEntity/RequestEntity? Jeśli służą do tego samego to które rozwiązanie jest preferowane?

4

HttpServletResponse/HttpServletRequest jest z gołej Javy. ResponseEntity/RequestEntity - ze Springa.
HttpServletResponse/HttpServletRequest jest z niskopoziomowe. ResponseEntity/RequestEntity - wysokopoziomowe.

Ogólna zasada "jeśli nie musisz rozwiązywać niestandardowych problemów to lepiej używać API wysokopoziomowego"

1
  1. HttpServletResponse i HttpServletRequest to bardzo niskopoziomowe obiekty, kiedy chcesz bezpośrednio dotykać requestu http
  2. Spring wspiera troche magii na swoich ResponseEntity, np. handlowanie Optionali i Future
2

javax.servlet.http.HttpServletRequest/Response - pochodzi ze świata Java EE i zakłada istnienie kontenera aplikacji webowych, w ramach, którego to kontenera obsługiwane są tzw. servlety (małe serwerki jak nazwa wskazuje ;-) ), które w zamyśle powinny robić dobrze jedną rzecz. Takie servlety mają opisany cykl życia, w ramach którego obsługują żadanie (Request->Resopnse). Requesty
do servletów mogą w ogólności przychodzić różnymi kanałami, zaś w szczególności przez HTTP i tam masz HttpServletRequest/Response.

org.springframework.http.RequestEntity - pochodzi ze świata Springa i odnosi się do request/response po HTTP. W pewnym sensie "lżejsze" od enterprajzowych klocków.

Którego używać? Jak decydujesz się na springa, to bym szedł w springowe klocki.

1
yarel napisał(a):

org.springframework.http.RequestEntity - pochodzi ze świata Springa i odnosi się do request/response po HTTP. W pewnym sensie "lżejsze" od enterprajzowych klocków.

Slowo lżejsze, lekkie itp. powinno być już dawno zabronione w IT, bo jest bardzo zwodnicze i na ogół używane w celu nakłamania.
Ilość machinerii potrzebna do działania tego RequestEntity jest istotnie większa do HttpServletResponse, co jednak niczemu nie szkodzi.

Zgadzam się jakkolwiek z tezą, że zdecydowanie nie warto bawić się w te warstwy niższe, w ogóle najlepiej servlety omijać z daleka.

1

@Kamil Żabiński: jak nie pojdziesz w standardy to masz z automatu duza szanse na rozwiazywanie niestandardowych problemow :)

2
WhiteLightning napisał(a):

@Kamil Żabiński: jak nie pojdziesz w standardy to masz z automatu duza szanse na rozwiazywanie niestandardowych problemow :)

@WhiteLightning a jak pójdziesz w standardy to masz 100% szans na rozwiazywanie standardowych problemów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1