โถ ์ค๋ ์คํ ๊ฐ๋ฅํ ์ธ๋ถ ๋ชฉํ
=> ๊ณต๋ถ ๊ด๋ จ
1) ๊ธ์ผ ๋ฐฐ์ด ๋ด์ฉ ๋ณต์ต
2) CS ์ง์ ๊ฐ๋ฐ ์์ (๊ฐ์ฒด์งํฅ vs ์ ์ฐจ์งํฅ & Restful API์ ์ค๊ณ ๊ท์น)
3) ์๋ฐ์ ์ ์ 13์ฅ ์ค๋ ๋
4) 14์ฅ ๋๋ค์ ์คํธ๋ฆผ
4) MVC ์๋ฐ ํ๋ก๊ทธ๋จ
=> ํ์ด๋ ํ๋ก์ ํธ ๊ด๋ จ
1) ํ๋ช : ํ๋ผํผํธ(ํ๋ผํ ์ค&ํผํธ๋์ค)?
2) ํฌ์ง์ (๋๋ Back)
โถ ์์ ๊ณต๋ถ ๊ด๋ จ
MVC ๋์์ธ ํจํด
JSP
- ๋จ์ ์ฒ๋ฆฌ : redirect ์ด๋
- ์๋ต : request ์์ฑ๊ฐ์ผ๋ก ๊ฒฐ๊ณผ๋ฅผ ์ ๋ฌ html ⇒ forward ์ด๋
EL
pageContext.setAttribute(String attributeName, Object attributeValue)
- ์ค์ฝํ ๊ฐ์ฒด์ ์์ฑ๋ช (๋ฌธ์์ด)๊ณผ ์์ฑ๊ฐ(์ธ์คํด์ค)์ ์ ์ฅํ๋ ๋ฉ์๋
- pageContext ๋ด์ฅ๊ฐ์ฒด์ ์์ฑ๊ฐ์ ์ ์ฅ - Page Scope
- Page Scope : ์์ฑ๊ฐ์ ์ ์ฅํ ์นํ๋ก๊ทธ๋จ์์๋ง ์์ฑ๊ฐ์ ๋ฐํ๋ฐ์ ์ฌ์ฉ ๊ฐ๋ฅ
pageContext.getAttribute(String attribute)
- ์์ฑ๋ช ์ ์ ๋ฌ๋ฐ์ ์ค์ฝํ ๊ฐ์ฒด์ ์ ์ฅ๋ ์์ฑ๊ฐ(์ธ์คํด์ค)์ ๋ฐํํ๋ ๋ฉ์๋
- Object ํ์ ์ ์ธ์คํด์ค๋ฅผ ๋ฐํํ๋ฏ๋ก ๋ช ์์ ๊ฐ์ฒด ํ๋ณํํ์ฌ ์ฌ์ฉ
- ์์ฑ๊ฐ์ด ์๋ ๊ฒฝ์ฐ null ๋ฐํ
${์์ฑ๋ช }
- EL ํํ์์ ์์ฑ๋ช ์ผ๋ก ์ค์ฝํ ๊ฐ์ฒด์ ์ ์ฅ๋ ์์ฑ๊ฐ์ ์ ๊ณต๋ฐ์ ์ถ๋ ฅ
- ⇒ getAttribute() ๋ฉ์๋์ JSP ํํ์์ ๋์์ ๊ตฌํํ๋ ๊ฒ๊ณผ ๊ฐ์ ํจ๊ณผ ์ ๊ณต
- ์์ฑ๊ฐ์ด ์๋ ๊ฒฝ์ฐ EL ๋ฏธ์คํ - ๊ฐ ๋ฏธ์ถ๋ ฅ
- ์ค์ฝํ ๊ฐ์ฒด์ ์ํด ์ ๊ณต๋๋ ์์ฑ๊ฐ์ด ์ธ์คํด์ค์ธ ๊ฒฝ์ฐ ${์์ฑ๋ช , ํ๋๋ช } ํ์์ ํํ์์ ์ฌ์ฉํ์ฌ ์ธ์คํด์ค์ ํ๋๊ฐ์ ์ ๊ณต๋ฐ์ ์ถ๋ ฅ
- ⇒ ํ๋๋ช ์ Getter ๋ฉ์๋๋ฅผ ํธ์ถํ๊ธฐ ์ํ ์ด๋ฆ
- ⇒ EL ํํ์์์ ์ง์ ๋ ํ๋์ Getter ๋ฉ์๋๊ฐ ์๋ ๊ฒฝ์ฐ PropertyNotFountException ๋ฐ์
@SuppressWarnings
- ๊ฒฝ๊ณ ๋ฅผ ์ ๊ฑฐํ๋ ์ด๋ ธํ ์ด์
Request Scope
- ์์ฑ๊ฐ์ ์ ์ฅํ ์นํ๋ก๊ทธ๋จ๊ณผ ์ค๋ ๋๊ฐ ์ด๋๋ ์นํ๋ก๊ทธ๋จ์์๋ง ์์ฑ๊ฐ์ ๋ฐํ๋ฐ์ ์ฌ์ฉ ๊ฐ๋ฅ
ํฌ์๋ ์ด๋
- ํ์ฌ ์นํ๋ก๊ทธ๋จ์ ๋ช ๋ น์ ์คํํ๋ ์ค๋ ๋๋ฅผ ๋ค๋ฅธ ์น ํ๋ก๊ทธ๋จ์ผ๋ก ์ด๋ํ์ฌ ๋ช ๋ น์ ์คํํ๋๋ก ์ ๊ณตํ๋ ๊ธฐ๋ฅ
- ⇒ ์ค๋ ๋๊ฐ ์ด๋๋๋ ์นํ๋ก๊ทธ๋จ์๊ฒ ํ์ฌ ์นํ๋ก๊ทธ๋จ์ด ์ฌ์ฉํ๋ request, response ์ธ์คํด์ค๋ฅผ ์ฌ์ฉ ๊ฐ๋ฅ
๋๊ดํธ ์ฐ์ฐ์
EL - Array
- ์ค์ฝํ ๊ฐ์ฒด์ ์์ฑ๊ฐ์ด ๋ฐฐ์ด์ธ ๊ฒฝ์ฐ EL ํํ์์์ . ์ฐ์ฐ์๋ก ์ฒจ์๋ฅผ ํํํ์ฌ ๋ฐฐ์ด ์์๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ELException ๋ฐ์
- ELException : EL ํํ์์ด ์๋ชป๋ ๊ฒฝ์ฐ ๋ฐ์๋๋ ์์ธ
- ์ค์ฝํ ๊ฐ์ฒด์ ์์ฑ๊ฐ์ด ๋ฐฐ์ด์ธ ๊ฒฝ์ฐ ํํ์์์ [ ] ์์ ์ฒจ์๋ฅผ ํํํ์ฌ ๋ฐฐ์ด ์์ ๊ฐ์ ์ถ๋ ฅ ๊ฐ๋ฅ
- EL ํํ์์์ ๋ค๋ฅธ ์ค์ฝํ ๊ฐ์ฒด์ ์์ฑ๊ฐ์ ์ ๊ณต๋ฐ์ ๋งตํค๋ก ์ฌ์ฉํ ๊ฒฝ์ฐ [ ] ์ฐ์ฐ์ ์์ ํํํ์ฌ ๋งต๊ฐ ์ถ๋ ฅ ๊ฐ๋ฅ
EL Implicit Object
- 11๊ฐ์ง ๋ด์ฅ ๊ฐ์ฒด
- 1๊ฐ์ง์ pageContext ๊ฐ์ฒด ์ธ์ ๋ชจ๋ ๊ฐ์ฒด๊ฐ Map์ด๋ค.
- ์์ฑ๊ฐ์ ์ ์ฅํ ๊ฐ์ฒด์ ๋ฐ๋ผ ์์ฑ๊ฐ์ ์ฌ์ฉ ๋ฒ์ ๊ตฌ๋ถ
scope attribute์ ๋งต ๊ฐ์ฒด
- ⇒ ์์ฑ๊ฐ ์ฌ์ฉ ๋ฒ์(Scope) : Page Scope, Request Scope, Session Scope, Application Scope
- ์์ฑ๊ฐ์ ์ ์ฅํ๋ ๊ฐ์ฒด๊ฐ ๋ค๋ฅธ ๊ฒฝ์ฐ ๊ฐ์ ์์ฑ๋ช ์ ์ฌ์ฉํ์ฌ ์์ฑ๊ฐ ์ ์ฅ ๊ฐ๋ฅ
- ⇒ ๋์ผํ ๊ฐ์ฒด์ ๊ฐ์ ์ด๋ฆ์ ์์ฑ๋ช ์ ์ฌ์ฉํ์ฌ ์์ฑ๊ฐ์ ์ ์ฅํ ๊ฒฝ์ฐ ๊ธฐ์กด ์์ฑ๊ฐ ๋์ ์๋ก์ด ์์ฑ๊ฐ ์ ์ฅ
EL ํํ์์ ์์ฑ๋ช ์ผ๋ก ์์ฑ๊ฐ์ ๊ฒ์ํ๋ ์์
- ⇒ page Scope → request Scope → session Scope → application Scope
- ⇒ ์ค์ฝํ ๊ฐ์ฒด์ ์์ฑ๋ช ์ ๋ค๋ฅด๊ฒ ์ ์ธํ๋ ๊ฒ์ ๊ถ์ฅ
- session : ๊ถํ ๊ด๋ จ ์ ๋ณด
- request : ์์ฒญ์ ๋ํ ๊ฐ
Request Parameter
- EL ํํ์์์ param ๋ด์ฅ๊ฐ์ฒด ๋๋ paramValue ๋ด์ฅ๊ฐ์ฒด๋ฅผ ์ด์ฉํ์ฌ ์ ๋ฌ๊ฐ์ ์ ๊ณต๋ฐ์ ์ถ๋ ฅ ๊ฐ๋ฅ - ์ ๋ฌ๊ฐ์ ์ด๋ฆ์ ์ด์ฉํ์ฌ ์ ๋ฌ๊ฐ ๊ตฌ๋ถ
Request Header
Cookie
- ์ฟ ํค๊ฐ์ ๋ฌธ์์ด๋ง ์ ์ฅ ๊ฐ๋ฅํ๋ฉฐ ํ๊ธ ์ ์ฅ ๋ถ๊ฐ๋ฅ
Context Init Parameter
- context-param : ๋ชจ๋ ์นํ๋ก๊ทธ๋จ์๊ฒ ๊ฐ์ ์ ๊ณตํ๊ธฐ ์ํ ์๋ฆฌ๋จผํธ
PageContext
- WAS๊ฐ ๋ง๋ค์ด์ค
- ์นํ๋ก๊ทธ๋จ์ ํ์ํ ๊ฐ์ฒด๋ค์ด ์ ์ฅ๋์ด ์์.
- ServletRequset๋ HttpServletRequest์ ๋ถ๋ชจ
- requset ๋ง๊ณ EL์ ์ด์ฉํ์ฌ pageContext,request.contextPath๋ฅผ ์ฐ์
โถ ๊ฐ์ธ ๊ณต๋ถ ๊ด๋ จ 1
โถ ๊ฐ์ธ ๊ณต๋ถ ๊ด๋ จ 2
์ด๋ ธํ ์ด์ (Annotation)
- @Overrode : ์ด๋ ธํ ์ด์ ์ด๋ฉฐ ํ์ ์ Override.
- ๋ฏธ๋ฆฌ ์ ์ ๋ ํ๊ทธ๋ค์ ์ด์ฉํด์ ์ฃผ์ ์์ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ javadoc.exe๋ผ๋ ํ๋ก๊ทธ๋จ์ด ์ด ์ ๋ณด๋ฅผ ์ฝ์ด์ ๋ฌธ์๋ฅผ ์์ฑํ๋๋ฐ ์ฌ์ฉํจ.
- ⇒ ์ด ๊ธฐ๋ฅ์ ์ด์ฉํ์ฌ ์์ค์ฝ๋ ์์ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ ์ํ ์ ๋ณด๋ฅผ ๋ฏธ๋ฆฌ ์ฝ์๋ ํ์์ผ๋ก ํฌํจ์ํจ ๊ฒ.
์ค๋ ๋(Thread)
- ํ๋ก์ธ์ค (Process) : ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ
- ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด OS๋ก๋ถํฐ ์คํ์ ํ์ํ ์์(๋ฉ๋ชจ๋ฆฌ)๋ฅผ ํ ๋น๋ฐ์ ํ๋ก์ธ์ค๊ฐ ๋๋ค.
- ํ๋ก์ธ์ค = ๋ฐ์ดํฐ + ๋ฉ๋ชจ๋ฆฌ๋ฑ์ ์์ + ํ๋ ์ด์์ ์ฐ๋ ๋
์ค๋ ๋๋ฅผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ
- Thread ํด๋์ค๋ฅผ ์์๋ฐ๋ ๋ฐฉ๋ฒ
- Runnable ์ธํฐํ์ด์ค๋ฅด ๊ตฌํํ๋ ๋ฐฉ๋ฒ : ์ฌ์ฌ์ฉ์ฑ์ด ๋๊ณ ์ฝ๋์ ์ผ๊ด์ฑ์ ์ ์งํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ณด๋ค ๊ฐ์ฒด์งํฅ์ ์ธ ๋ฐฉ๋ฒ
โถ ํ์ด๋ ํ๋ก์ ํธ ๊ด๋ จ
> ํ ์์ผ 2์ ๊ฐ๋จ ํ์ ์ด์ง์คํฐ๋
1. ๊ธฐํ์
2. ํ๋ฉด ์ค๊ณ์
3. ์ฅ์ ์ ํ๊ธฐ
๋ฐ์ํ
'๋ ๊ฑฐ์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
2022.02.20์ ๊ธฐ๋ก (0) | 2022.02.20 |
---|---|
2022.02.19์ ๊ธฐ๋ก (0) | 2022.02.19 |
2022.02.17์ ๊ธฐ๋ก (0) | 2022.02.17 |
2022.02.16์ ๊ธฐ๋ก (0) | 2022.02.16 |
2022.02.15์ ๊ธฐ๋ก (0) | 2022.02.15 |