JSP ๊ธฐ๋ณธ ์ฉ์ด
๐จ JSP๋ (Java Server Pages)
: ๋์ ์ธ ์น ํ์ด์ง๋ฅผ ๊ฐ๋ฐํ๊ธฐ ์ํ ์น ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ . ์๋ฐ ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฒ ์ธก์์ ์น ํ์ด์ง๋ค์ ์์ฑํด ์น ๋ธ๋ผ์ฐ์ ๋ก ์ ์กํด์ค๋ค.
๐จ ์ฅ์
- ์งง์ ์ฝ๋๋ก ๋์ ์ธ ์น ํ์ด์ง๋ฅผ ์์ฑํ ์ ์๋ค.
- ๊ธฐ๋ณธ์ ์ธ ์์ธ๋ ์๋์ผ๋ก ์ฒ๋ฆฌ๋๋ค.
- ๋ง์ ํ์ฅ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
- ์ค๋ ๋ ๊ธฐ๋ฐ์ผ๋ก ์คํ๋์ด ์์คํ ์์์ ์ ์ฝํด์ค๋ค.
๐ ๊ธฐ๋ณธ ์ฉ์ด
1) ์๋ฒ(Server)
: ์น์์ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์ปดํจํฐ ์์คํ . ์ฃผ๋ก ์ ๋ณด๋ฅผ ๊ฒ์ํ๊ธฐ ์ํด ํฌํธ ์ฌ์ดํธ๋ฅผ ์ด์ฉํ๊ณ , ํ์ํ ๋ฌผํ์ ๊ตฌ๋งคํ๊ธฐ ์ํด ์ผํ๋ชฐ์ ์ด์ฉํ๊ฒ ๋๋๋ฐ, ์ด๋ฐ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ฒ ์ปดํจํฐ์ ํ์ผ์ ํํ๋ก ์ ์ฅ๋์ด ์๋ค.
2) ์น ์๋ฒ (Web Server)
: ์ฌ์ฉ์๋ก๋ถํฐ HTTP๋ฅผ ํตํด ์์ฒญ์ ๋ฐ๊ฑฐ๋, ์น ์ปจํ ์ด๋๊ฐ ์ ๋ฌํด์ค ๊ฒฐ๊ณผ๋ฌผ์ ์ ์ ์ธ ํ์ด์ง๋ก ์์ฑํ์ฌ ์ฌ์ฉ์์๊ฒ ์๋ตํด์ฃผ๋ ์ํํธ์จ์ด๋ฅผ ๋งํ๋ค. ์น ํ์ด์ง๋ ์ฃผ๋ก HTML, CSS, ์๋ฐ์คํฌ๋ฆฝํธ ๋ฑ์ผ๋ก ๊ตฌ์ฑ๋๋ค.
3) ์น ์ปจํ ์ด๋ (Web Container)
: ์น ์๋ฒ๊ฐ ์ ์กํด์ค ์์ฒญ์ ๊ธฐ์ด๋ก ๋์ ์ธ ํ์ด์ง๋ฅผ ์์ฑํ์ฌ ์น ์๋ฒ๋ก ๋๋ ค์ค๋ค. (๋์ ์ธ ํ์ด์ง>> ์ฌ์ฉ์๋ง๋ค ๋ค๋ฅธ ๊ฒฐ๊ณผ๋ก ์๋ตํ ์ ์๋ค.) ๊ฐ๋จํ ์๋ก ๋ก๊ทธ์ธ์ด ์๋ค. (๋ก๊ทธ์ธํ ์์ด๋๋ฅผ ๋ณด๊ณ ๊ฐ์์ ๋ง๋ ํ์ด์ง๋ฅผ ๊ตฌ์ฑํด ๋ณด๋ด์ฃผ๋ ๊ฒ)
4) WAS (Web Application Server)
: ์น ์ ํ๋ฆฌ์ผ์ด์ ์ด ์คํ๋ ์ ์๋ ํ๊ฒฝ์ ์ ๊ณตํ๋ ์ํํธ์จ์ด๋ก, ์ปดํจํฐ์์ ์ด์์ฒด์ (์๋์ฐ, ๋ฆฌ๋ ์ค ๋ฑ)์ ๋น์ทํ ์ญํ ์ ํ๋ ์ํํธ์จ์ด๋ผ ํ ์ ์๋ค. (์น ์๋ฒ์ ์น ์ปจํ ์ด๋๋ฅผ ํฌํจํ ๊ฐ๋ ) (ex. ํฐ์บฃ, ์น๋ก์ง, ์น์คํผ์ด ๋ฑ)
5) HTTP(HyperText Transfer Protocol)/ HTTPS (HTTP Secure)
: ๋ณดํต www๋ผ๊ณ ์ค์ฌ ์ฐ๋ ์๋์์ด๋์น์์ ์น ์๋ฒ์ ์ฌ์ฉ์ ์ฌ์ด์ ํต์ ์ ์ํด ์ฌ์ฉํ๋ ํต์ ํ๋กํ ์ฝ. ์ฌ์ฉ์๊ฐ ์์ฒญํ๋ฉด ์น ์๋ฒ๊ฐ ์๋ตํ๋ ๋จ์ํ ๊ตฌ์กฐ์ ํ๋กํ ์ฝ์ด๋ค. (HTTPS๋ ์ํธํ๋ HTTP)
- Client : ์๊ฒฉ์ง์ ์๋ ์๋ฒ์ ๋คํธ์ํฌ๋ฅผ ํตํด ์ด๋ค ์๋น์ค๋ฅผ ์์ฒญํ๋ ์ญํ (request)
- Server : ํด๋ผ์ด์ธํธ์์ ์์ฒญํ ์๋น์ค๋ฅผ ๊ทธ์ ๋ํ ์๋ต์ ํด๋ผ์ด์ธํธ์๊ฒ ์ ์กํ๋ ์ญํ (response)
- Stateless ์ํ: ์ฐ๊ฒฐ ์ํ๋ฅผ ์ ์งํ๊ณ ์์ง ์์.
6) ํ๋กํ ์ฝ (Protocol)
: ๋คํธ์ํฌ๋ฅผ ํตํด ์ปดํจํฐ๋ค์ด ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ์ ์ฐจ ํน์ ํต์ ๊ท์ฝ. ์๋ก ๋ค๋ฅธ ์ปดํจํฐ๋ค์ด ๋ํํ๋ ๋ฐ ํ์ํ ๊ณตํต ์ธ์ด ์ญํ . (ex. HTTP, FTF(File Transfer Protocol), SMTP(Simple Mail Transfer Protocol) ๋ฑ)
7) ํฌํธ (Port)
: ์ปดํจํฐ ์ฌ์ด์์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ ํต๋ก.
์ธํฐ๋ท์์๋ IP ์ฃผ์๋ฅผ ํตํด ์๋ฒ ์ปดํจํฐ์ ์์น๋ฅผ ํ์ ํ๋ค. >> ๊ทธ๋ฐ ๋ค์ ๊ทธ ์ปดํจํฐ๊ฐ ์ ๊ณตํ๋ ํน์ ์๋น์ค๋ ํฌํธ ๋ฒํธ๋ฅผ ํตํด ์ ์ ์๋ค. ์ธํฐ๋ท์์ ๋ชจ๋ ์๋น์ค๋ IP ์ฃผ์์ ํจ๊ป ํฌํธ ๋ฒํธ๊น์ง ์ง์ ํด์ผ ์ ๋๋ก ์์ฒญ์ ์ ๋ฌํ ์ ์๋ค.
(HTTP๋ 80๋ฒ ํฌํธ, HTTPS๋ 443๋ฒ ํฌํธ๋ฅผ ์ฌ์ฉ)
8) ์น ๋ธ๋ผ์ฐ์ (Web Browser)
: ์น ๊ธฐ๋ฐ์ ์๋น์ค๋ฅผ ๋ฐ์ ์ ์๋๋ก ๊ฐ๋ฅํ๊ฒ ํด์ฃผ๋ ํ๋ก๊ทธ๋จ (์ต์คํ๋ก๋ฌ๋ ๋ท์ค์ผ์ดํ)
๐๐ปโ๏ธ ์ ์ ์น ํ์ด์ง์ ๋์ ์น ํ์ด์ง
1) ์ ์ ์น ํ์ด์ง : ์น ์๋ฒ์ '์ ์ฅ๋์ด ์๋ ํ์ผ์ ๊ทธ๋๋ก' ์น ๋ธ๋ผ์ฐ์ ์ ์ ์กํด ์ถ๋ ฅํ๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์น ํ์ด์ง. ํด๋ผ์ด์ธํธ๊ฐ ์ด๋ค ํํ๋ก ์์ฒญํ๋๋ผ๋ ๊ฐ์ ํ์ด์ง๋ ํญ์ ๋์ผํ ๋ชจ์ต์ ๋ณด์ฌ์ค๋ค.
2) ๋์ ์น ํ์ด์ง : ๋์ผํ ํ์ด์ง๋ผ ํ ์ง๋ผ๋ ๊ทธ๋๊ทธ๋ ๋ด์ฉ์ด ๋ฌ๋ผ์ง ์ ์๋ ์น ํ์ด์ง. ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ํด์ํ์ฌ ๊ฐ์ฅ ์ ์ ํ ์น ํ์ด์ง๋ฅผ ๊ทธ๋๊ทธ๋ ์์ฑํด ๋ณด๋ด์ฃผ๋ ๊ธฐ์ . ํด๋ผ์ด์ธํธ๋ ์์ฒญํ ๊ณ์ , ์๊ฐ, ์ง์ญ, ์ธ์ด, ๊ธฐํ ์ ๋ ฅ๊ฐ์ ๋ฐ๋ผ ๋ค๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๋๋ค. >> ์ ์ฒ๋ฆฌ ๊ณผ์ ์ ๊ฑฐ์ณ ์๋ต ํ์ด์ง๋ฅผ ๋์ ์ผ๋ก ์์ฑํ๋ค. (๊ธฐ์ : JSP, ์๋ธ๋ฆฟ, ASP, PHP ๋ฑ)
** ์๋ฐ ์ ํ๋ฆฟ (Java Applet) : ์น์์ ์คํ๋๋๋ก ์ค๊ณ๋ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ํต์งธ๋ก ์น ๋ธ๋ผ์ฐ์ ๋ก ์ ์กํ ํ, ์๋ฐ ๊ฐ์ ๋จธ์ ์ ํ์ฌํ ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์ด๋ฅผ ์คํํ๋ ๋ฐฉ์์ผ๋ก ๊ตฌ๋๋๋ค.
>> ์๋ธ๋ฆฟ ๋ฑ์ฅ ~~~~!
** ๐ท ์๋ธ๋ฆฟ (Servlet)
: ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ฐ์ผ๋ฉด ์๋ฒ์์ ์ฒ๋ฆฌํ ํ, ์๋ต์ผ๋ก๋ ๊ฒฐ๊ด๊ฐ๋ง ๋ณด๋ด์ฃผ๋ ๊ตฌ์กฐ. ์๋ฐ ํ์ผ(.java)์ ์ปดํ์ผํ ํด๋์ค ํ์ผ(.class) ํํ.
(์๋ธ๋ฆฟ ์ปจํ ์ด๋ : ์ด๋ฅผ ์คํํ๊ณ ๊ด๋ฆฌํด์ฃผ๋ ๋ฐํ์. ex. ์ํ์น ํฐ์บฃ)
์น ๋ธ๋ผ์ฐ์ (ํด๋ผ์ด์ธํธ) |
WAS | |
1) ์์ฒญ >>>>>>>>>>>>>>>>>>>>>>>> | ์น ์๋ฒ โฌ โฌ 2) |
|
<<<<<<<<<<<<<<<<<<<<<<<<<3) ์๋ต | ||
์น ์ปจํ ์ด๋ (์๋ธ๋ฆฟ +JSP ์์ง) | ||
.jsp ๋ณํ | ||
.java ์ปดํ์ผ | ||
.class (์๋ธ๋ฆฟ) | ||
** JSP ํ์ผ์ ์๋ธ๋ฆฟ์ผ๋ก ๋ณํํ์ฌ ์๋ธ๋ฆฟ์ ์คํํ๋ ๋ฐฉ์! ํ ๋ฒ ์๋ธ๋ฆฟ์ผ๋ก ์ปดํ์ผ๋ JSP ํ์ผ์ ์บ์๋๋ฏ๋ก ์ค์ง์ ์ธ ์ฑ๋ฅ ์ ํ ์์ด ๊ฐ๋ฐ ์์ฐ์ฑ๊ณผ ์ ์ง๋ณด์ ํธ์์ฑ์ ๋ชจ๋ ์ป๋๋ค. |
์๋ธ๋ฆฟ | JSP |
UI ์์๊ฐ ์๋ ์ ์ด๋ ๊ธฐํ ์ฒ๋ฆฌ ์ฉ๋๋ก ์ฐ์ธ๋ค. | ํด๋ผ์ด์ธํธ์ ๋ณด์ฌ์ง๋ ๊ฒฐ๊ณผ ํ์ด์ง๋ฅผ ์์ฑํ ๋ ์ฃผ๋ก ์ฐ์ธ๋ค. |
์๋ฐ ์ฝ๋ ์์์ ์ ์ฒด HTML ํ์ด์ง๋ฅผ ์์ฑํ๋ค. | HTML ์ฝ๋ ์์์ ํ์ํ ๋ถ๋ถ๋ง ์๋ฐ ์ฝ๋๋ฅผ ์คํฌ๋ฆฝํธ ํํ๋ก ์ถ๊ฐํ๋ค. |
๋ณ์ ์ ์ธ ๋ฐ ์ด๊ธฐํ๊ฐ ๋ฐ๋์ ์ ํ๋์ด์ผ ํ๋ค. | ์์ฃผ ์ฐ์ด๋ ๊ธฐ๋ฅ์ ๋ด์ฅ ๊ฐ์ฒด๋ก ์ ๊ณตํ์ฌ ์ฆ์ ์ฌ์ฉํ ์ ์๋ค. |
์ปจํธ๋กค๋ฌ๋ฅผ ๋ง๋ค ๋ ์ฌ์ฉํ๋ค. | ์ฒ๋ฆฌ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ฃผ๋ ๋ทฐ๋ฅผ ๋ง๋ค ๋ ์ฌ์ฉํ๋ค. |