ํ์ต ํ ์คํธ๋ฅผ ์ํ ์ ์ฅ์
ํ์ต ํ ์คํธ๋ฅผ ์ํ ์์ ์ฝ๋์ ๋๋ค.
- HTTP Cache, gzip ๋ฑ
- Servlet
- Thread
HomeControllerTest ํ ์คํธ ๋ฉ์๋๋ฅผ ๋ชจ๋ ํต๊ณผ์์ผ ๋ณธ๋ค.
- ๋ฏธ์ 1: Cache-Control: no-cache, private ์ค์ ์ ํด๋ณธ๋ค.
- ๋ฏธ์ 2: gzip ์ค์ ์ ํด๋ณธ๋ค.
- ๋ฏธ์ 3: ETag ์ค์ ์ ํด๋ณธ๋ค.
- ๋ฏธ์ 4: ์บ์ ๋ฌดํจํ ์ค์ ์ ํด๋ณธ๋ค.
- ๋ฏธ์ 5: Cache-Control: no-store, no-cache, must-revalidate ์ค์ ์ ํด๋ณธ๋ค.
ServletTest์FilterTest ํด๋์ค์ ๋ชจ๋ ํ ์คํธ๋ฅผ ํต๊ณผ์ํจ๋ค.
- SharedCounterServlet, LocalCounterServlet ํด๋์ค๋ฅผ ์ด์ด๋ณด๊ณ ์ด๋ค ์ฐจ์ด์ ์ด ์๋์ง ํ์ธํ๋ค.
- init, service, destroy ๋ฉ์๋๊ฐ ๊ฐ๊ฐ ์ธ์ ์คํ๋๋์ง ์ฝ์ ๋ก๊ทธ์์ ํ์ธํ๋ค.
- ์ง์ ํฐ์บฃ ์๋ฒ๋ฅผ ๋์๋ณด๊ณ ์ถ๋ค๋ฉด ServletApp ํด๋์ค์ main ๋ฉ์๋๋ฅผ ์คํํ๋ค.
- ์น ๋ธ๋ผ์ฐ์ ์์ localhost:8080/shared-counter ๊ฒฝ๋ก์ ์ ๊ทผ ๊ฐ๋ฅํ์ง ํ์ธํ๋ค.
- doFilter ๋ฉ์๋๋ ์ด๋ ์์ ์ ์คํ๋ ๊น? ์ฝ์ ๋ก๊ทธ์์ ํ์ธํ๋ค.
- ์ ์ธ์ฝ๋ฉ์ ๋ฐ๋ก ์ค์ ํด์ค์ผ ํ ๊น?
- ServletResponse
- ์ ๋งํฌ์์ character encoding์ ๋ํ ์ค๋ช ์ ์ฐธ๊ณ ํ๋ค.
ThreadTest์ ThreadPoolsTest ํด๋์ค์ ๋ชจ๋ ํ ์คํธ๋ฅผ ํต๊ณผ์ํจ๋ค.
- ๋ฏธ์ 1: ๋๊ธฐํ๋ฅผ ์ด์ฉํด์ ์ฐ๋ ๋ ๊ฐ์ญ์ ํด๊ฒฐํ๋ค.
- ๋ฏธ์ 2: synchronized ์์ฝ์ด๋ฅผ ์ฌ์ฉํ์ง ์๊ณ Thread safeํ๊ฒ ๊ตฌ์ฑํ๋ค.
- ๋ฏธ์ 3: newFixedThreadPool์ newCachedThreadPool์ ์ฐจ์ด๋ฅผ ๊ตฌ๋ถํ๊ณ ํ ์คํธ๋ฅผ ํต๊ณผ์ํจ๋ค.