์๋ธ๋ฆฟ๊ณผ JSP
"์๋ฐ๋ฅผ ์ด์ฉํ ์๋ฒ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ , ์๋ฐ๋ฅผ ์น ํ๊ฒฝ์ ์ฌ์ฉํ๊ธฐ ์ํด ๋ฑ์ฅ"
์๋ธ๋ฆฟ์ ์๋ฐ๋ฅผ ์ด์ฉํ ์๋ฒ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ ๋ก์, ์๋ธ๋ฆฟ์ CGI๋ฅผ ๋์ฒดํ๋ ค๊ณ ๊ฐ๋ฐ๋์์ผ๋, ๋๋ฆฐ ์ฒ๋ฆฌ ์๋, ๋ง์ ๋ฉ๋ชจ๋ฆฌ ์๊ตฌ, ๋ถํธํ ํ๋ฉด ์ ์ด ๋ฑ์ ํ๊ณ๋ก ์ธํด PHP, ASP ๋ฑ์ ์ฃผ๋๊ถ์ ๋๊ฒจ์ฃผ๊ฒ ๋์๋ค.
์ฌ์์ ์๋ธ๋ฆฟ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉด์ PHP์ ์ ์ฌํ ํํ๋ก ํ๋ก๊ทธ๋๋ฐ์ด ๊ฐ๋ฅํ JSP(Java Server Page)๋ฅผ ์ ๋ณด์ด๋ฉด์ JSP๋ ๊ฐ์ฅ ๋ํ์ ์ธ ์น ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์๋ฆฌ ์ก๊ฒ ๋์๋ค.
JSP๋ ๋จ์ํ๊ณ ์ง๊ด์ ์ด๋ผ๋ ๊ฒ ์ธ์ ์๋ธ๋ฆฟ์ ๊ธฐ๋ฐ์ผ๋ก ํ๊ธฐ ๋๋ฌธ์ ์๋ฐ๊ฐ ์ง์ํ๋ ๊ธฐ๋ฅ์ 100% ์ฌ์ฉํ ์ ์๊ณ ์ค๋ผํด,IBM์๊ฒ ์ง์์ ๋ฐ๊ณ ์์ด ์ฌํ ๊ด๋ฆฌ๊ฐ ์ฌ์ฐ๋ฉฐ ๋ค์ํ ์ด์์ฒด์ , ๊ฐ๋ฐํ๊ฒฝ์ ์ด์ฉํ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
์ฒ์์๋ ์ด๋ฌํ JSP๊ฐ ์๋ธ๋ฆฟ์ ๋์ฒดํ๋ ๊ธฐ์ ๋ก ์ฃผ๋ชฉ๋ฐ๊ฒ ๋์์ง๋ง, ์ด์ ๋ ์๋ธ๋ฆฟ์ ์์ ํ ๋์ฒดํ๋ ๊ธฐ์ ์ด ์๋ ์ํธ๋ณด์์ ์ธ ๊ธฐ์ ๋ก ์ดํด๋๊ณ ์๋ค.
JSP์ ํน์ง
(1) ์๋ฐ์ ๋ชจ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ด ๋ฐ์ ๊ฐ๋ฅ์ฑ์ด ๋ฌดํํ๋ค.
(2) ์๋ธ๋ฆฟ์ผ๋ก ์ปดํ์ผ๋ ํ ๋ฉ๋ชจ๋ฆฌ์์ ์ฒ๋ฆฌ๋๊ธฐ ๋๋ฌธ์ ๋ง์ ์ฌ์ฉ์์ ์ ์๋ ์ํํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋ค.
(3) JSP ๋๋ ๋ค๋ฅธ ์๋ธ๋ฆฟ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ๊ณต์ ํ ์ ์๋ค.
(4) ๋น์ฆ๋ผ๊ณ ํ๋ ์๋ฐ ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
(5) ์ปค์คํ ํ๊ทธ๋ฅผ ๋ง๋ค์ด ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, JSTL๊ณผ ๊ฐ์ ํ๊ทธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ ์ ์๋ค.
(6) ์คํธ๋ฌ์ธ , ์คํ๋ง @MVC ๋ฑ ๋ค์ํ ํ๋ ์์ํฌ์ ๊ฒฐํฉํ์ฌ ๊ฐ๋ฐํ ์ ์๋ค.
JSP ์ ์ฒด ๋์ ๊ณผ์
1. ์น ๋ธ๋ผ์ฐ์ ์์ URL์ ์ ๋ ฅํ๋ค.
2. DNS ์๋ฒ๋ก๋ถํฐ ์ ๋ ฅํ URL์ ๋ณํํ IP ์ฃผ์๋ฅผ ๋ฐ๋๋ค.
3. ๋ฐ์ IP ์ฃผ์์ ์น ์๋ฒ 8080๋ฒ ํฌํธ์ JSP ํ์ด์ง๋ฅผ ์์ฒญํ๋ค.
4. ์น ์๋ฒ๊ฐ ์์ฒญ ๋ด์ฉ์ ๋ถ์ํ๊ณ ์๋ธ๋ฆฟ ์ปจํ ์ด๋์ ์์ฒญ์ ๋๊ฒจ ์ฒ๋ฆฌํ๋ค.
5. ํ๋ฉด์ ๋ณด์ผ ๋ด์ฉ์ HTML ๋ฌธ์ ํํ๋ก ์น ๋ธ๋ผ์ฐ์ ์ ์ ์กํ๋ค.
์๋ธ๋ฆฟ ์ปจํ ์ด๋ ๋ด๋ถ ๊ณผ์
์๋ธ๋ฆฟ์ ์๋ฐ ์์ค๋ก ์์ฑ๋ ํด๋์ค ํ์ผ ๊ตฌ์กฐ๋ก ๋์ด ์๋ค. ์๋ธ๋ฆฟ ์ปจํ ์ด๋๋ JSP ํ์ผ์ ์๋ธ๋ฆฟ ์์ค๋ก ๋ณํํด์ ์ปดํ์ผ ํ๋๋ฐ, ์ผ๋จ ์ปดํ์ผ๋ JSP๋ ๋จ์ํ ํ์ผ์ด ์๋๋ผ ์ปจํ ์ด๋์์ ์๋ธ๋ฆฟ ๊ฐ์ฒด๋ก ๊ด๋ฆฌ๋๋ค. ์ด๋ฌํ ๊ณผ์ ๋๋ฌธ์ ์ต์ด JSP ํ์ผ์ ์ ๊ทผํ ๋๋ ์ปดํ์ผํ๋ ์๊ฐ์ด ๋ง์ด ์์๋์ง๋ง ์ผ๋จ ์ปดํ์ผ๋์ด ์คํ๋ ๋ค์๋ถํฐ๋ ์๋ธ๋ฆฟ ์ปจํ ์ด๋๊ฐ ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ๋น ๋ฅด๊ฒ ์คํ๋๋ค.
JSP ์๋ธ๋ฆฟ ์ปดํ์ผ๊ณผ ์ฒ๋ฆฌ๊ณผ์
(1) ์น ์๋ฒ๋ก๋ถํฐ JSP์ ๋ํ ์ฌ์ฉ์ ์์ฒญ์ด ์ปจํ ์ด๋๋ก ์ ๋ฌ๋๋ค.
(2) ์์ฒญ JSP์ ๋ํ ์๋ธ๋ฆฟ์ด ์กด์ฌํ๋ค๋ฉด ๋ค์ ๋จ๊ณ๋ก ์งํํ๊ณ , ์กด์ฌํ์ง ์์ ๊ฒฝ์ฐ JSP๋ฅผ .javaํ์ผ๋ก ๋ณํํ ๋ค์ .class ํ์ผ๋ก ์ปดํ์ผํ๋ค.
(2-1) ์๋ธ๋ฆฟ ํด๋์ค๊ฐ ์กด์ฌํ์ง ์์ ๊ฒฝ์ฐ, JSPํ์ผ์ ์๋ฐ ์์ค ํ์ผ๋ก ๋ณํ ํ ํด๋์ค ํ์ผ๋ก ์ปดํ์ผํ๋ค.
(2-2) ํด๋์ค ํ์ผ์ ์์ค๊ฐ ๋ณ๊ฒฝ๋๊ธฐ ์ ๊น์ง๋ ๋ฉ๋ชจ๋ฆฌ์ ์์ฃผํ๋ฉฐ ์๋น์ค ๋๋ค.
(3) ์ปดํ์ผ๋ ์๋ธ๋ฆฟ ํด๋์ค๋ฅผ ์ปจํ ์ด๋์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๊ณ ์คํํ๋ค.
(3-1) ์ปดํ์ผ๋ JSP๋ ์๋ธ๋ฆฟ ์คํ ๊ณผ์ ์์ jspInit() ๋ฉ์๋๋ฅผ ํตํด Ready ์ํ๊ฐ ๋๊ณ ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋๋๋ค.
(3-2) ํด๋ผ์ด์ธํธ ์ ์์ ๋ฐ๋ผ _jspService() ๋ฉ์๋๋ง ๋ฐ๋ณตํด์ ํธ์ถ๋๋ค.
(3-3) ์ปจํ ์ด๋๊ฐ ์ข ๋ฃ๋ ๋์๋ jspDestroy() ๋ฉ์๋๋ฅผ ํตํด ๋ฉ๋ชจ๋ฆฌ์์ ์ธ๋ก๋๋๊ณ , ๋ค์ ์ปจํ ์ด๋๊ฐ ์์๋ ๊ฒฝ์ฐ ์ต ์ด ํด๋ผ์ด์ธํธ ์์ฒญ์ ๋ํ ํด๋์ค๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ฌ ์ปดํ์ผ ๊ณผ์ ์ ๊ฑฐ์น์ง ์๊ณ , ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋๋ง ํ๋ค.
(4),(5) ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฒ๋ฆฌ ํน์ ๋ณ๋์ ๊ธฐ๋ฅ์ ์ํ ํด๋์ค ํธ์ถ ๋ฑ์ด ์๋ค๋ฉด ์คํํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ์ทจํฉํด HTML ํํ๋ก ๊ตฌ ์ฑํ๋ค.
(6) HTML ํํ์ ๊ฒฐ๊ณผ๋ฅผ ์น ์๋ฒ๋ฅผ ๊ฒฝ์ ํด ์ฌ์ฉ์ ๋ธ๋ผ์ฐ์ ๋ก ์ ๋ฌํ๋ค.