Java EE์ Servlet/JSP์ ๊ด๊ณ์ WAS ๊ฐ๋ ์ ๋ฆฌ
Java EE์ Servelet/JSP
Java EE๋ Java Enterprise Edition์ ์๋ฏธํ๋ฉฐ Servlet, JSP(Java Server Page)๋ Java EE์ ํฌํจ๋ ํ์ ๊ธฐ์ ๋ค์ด๋ค. ์ด ์ธ์๋ Java EE์๋ ๊ธฐ์ ์ฉ ์ดํ๋ฆฌ์ผ์ด์ ๊ณผ ํด๋ผ์ฐ๋ ์ดํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ํ์ํ ์ฌ๋ฌ๊ฐ์ง ๋ณตํฉ์ ์ธ ๊ธฐ์ ๋ค์ด ์ ์๋๊ณ ๋ชจ์์ ธ์๋ค. www.oracle.com์์ Java EE ๋ฒ์ ๋ณ ๊ธฐ์ ์ฌ์ ๋ฒ์ ์ ํ์ธํ ์ ์๋ค.
์ ๊ทธ๋ฆผ์ Oracle์์ ํ์ธํ ์ ์๋ Java EE 7์ ๊ธฐ์ ์ฌ์ ๋ฒ์ ์ด๋ค. Java EE 7์ Servlet ๋ฒ์ ์ 3.1, JSP ๋ฒ์ ์ 2.3์ด๋ค.
Java EE๊ฐ ์ ๊ทธ๋ ์ด๋ ๋ ๋ ๋ง๋ค ํ์ ๊ธฐ์ ๋ค๋ ํจ๊ป ์ ๊ทธ๋ ์ด๋๋๋ฉฐ ๋ฒ์ ์ด ์ฌ๋ผ๊ฐ๋ค.
Java EE ๊ธฐ์ ์ค์์ ์๋ธ๋ฆฟ, JSP๋ ์น์ ๊ธฐ๋ฐ์ผ๋ก ํ ํด๋ผ์ด์ธํธ/์๋ฒ ๊ธฐ์ ์ ์ ์ํ๋ค. ์๋ฐ๋ก ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๋ค๋ ๊ฒ์ ์๋ธ๋ฆฟ, JSP ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
์ฐธ๊ณ - Java EE ๋ฒ์ ๋ณ Technologies ๋งํฌ
Java EE 8 - https://www.oracle.com/java/technologies/java-ee-glance.html
Java EE 7 - https://www.oracle.com/technetwork/java/javaee/tech/index-jsp-142185.html
Java EE 6 - https://www.oracle.com/technetwork/java/javaee/tech/javaee6technologies-1955512.html
Java EE 5 - https://www.oracle.com/technetwork/java/javaee/tech/javaee5-jsp-135162.html
Servlet
์๋ธ๋ฆฟ์ ์๋ฐ ๊ธฐ๋ฐ์ CGI ํ๋ก๊ทธ๋จ์ด๋ฉฐ CGI ๊ท์น์ ๋ฐ๋ผ ์น ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋๋ค.
๋จผ์ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ์คํ ๊ณผ์ ์ ์ดํด๋ณด์. (1) ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์น ์๋ฒ์๊ฒ ์์ฒญ์ ์ ์กํ๋ค. (2) ์น ์๋ฒ๋ ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญํ ํ๋ก๊ทธ๋จ์ ์ฐพ์์ ์คํํ๋ค. (3) ํด๋น ํ๋ก๊ทธ๋จ์ ์์ ์ ์ํํ ํ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์น ์๋ฒ์๊ฒ ๋๋ ค์ค๋ค. (4) ์น ์๋ฒ๋ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ HTTP ํ์์ ๋ง์ถฐ ์น ๋ธ๋ผ์ฐ์ ์๊ฒ ๋ณด๋ธ๋ค.
์ด๋ ์น ์๋ฒ์ ํ๋ก๊ทธ๋จ ์ฌ์ด์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ท์น์ CGI(Common Gateway Interface)๋ผ๊ณ ํ๋ค. ์น ์๋ฒ์ ์ํด ์คํ๋๋ฉฐ CGI ๊ท์น์ ๋ฐ๋ผ ์น ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋๋ก ์์ฑ๋ ํ๋ก๊ทธ๋จ์ CGI ํ๋ก๊ทธ๋จ์ด๋ผ ํ๋ค. ์๋ธ๋ฆฟ์ ์๋ฐ ๊ธฐ๋ฐ์ CGI ํ๋ก๊ทธ๋จ์ด๋ค.
์๋ฐ ์๋ธ๋ฆฟ์ด ๋ค๋ฅธ CGI ํ๋ก๊ทธ๋จ๊ณผ ๋ค๋ฅธ ์ ์ ์น ์๋ฒ์ ์ง์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ง ์์ผ๋ฉฐ ์๋ธ๋ฆฟ ์ปจํ ์ด๋์ ์ํด ๊ด๋ฆฌ๋๋ค๋ ๊ฒ์ด๋ค.
์๋ธ๋ฆฟ ์ปจํ ์ด๋
์๋ธ๋ฆฟ์ ์์ฑ, ์คํ, ์๋ฉธ์ ๊ด๋ฆฌํ๋ ํ๋ก๊ทธ๋จ์ '์๋ธ๋ฆฟ ์ปจํ ์ด๋(Servlet Container)๋ผ ํ๋ค. ์๋ธ๋ฆฟ ์ปจํ ์ด๋๊ฐ ์๋ธ๋ฆฟ ๋์ ์น ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋๋ค.
WAS์ ์๋ธ๋ฆฟ ์ปจํ ์ด๋
- WAS๋ ์น ๊ธฐ๋ฐ ์๋ฒ ์ดํ๋ฆฌ์ผ์ด์ ์ ์์ฑ, ์คํ, ์๋ฉธ์ ๊ด๋ฆฌํ๋ ํ๋ก๊ทธ๋จ์ด๋ค.
- Java EE ๊ธฐ์ ์ฌ์์ ์ค์ํด์ ๋ง๋ ์๋ฒ์ด๋ค.
- Java EE ๊ตฌํ์ฒด๋ผ๊ณ ๋ ํ๋ค.
์๋ธ๋ฆฟ ์ปจํ ์ด๋๊ฐ ์๋ธ๋ฆฟ์ ์์ฑ, ์คํ, ์๋ฉธ์ ๊ด๋ฆฌํ๋ฏ์ด, ํด๋ผ์ด์ธํธ/์๋ฒ ์์คํ ๊ตฌ์กฐ์์ ์๋ฒ ์ชฝ ์ดํ๋ฆฌ์ผ์ด์ ์ ์์ฑ, ์คํ, ์๋ฉธ์ ๊ด๋ฆฌํ๋ ํ๋ก๊ทธ๋จ์ '์ดํ๋ฆฌ์ผ์ด์ ์๋ฒ(Application Server)'๋ผ๊ณ ํ๋ค. ๊ทธ ์ค ์๋ธ๋ฆฟ ์ปจํ ์ด๋์ ๊ฐ์ด ์น ๊ธฐ์ ์ ๊ธฐ๋ฐ์ผ๋ก ๋์๋๋ ์ดํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ฅผ 'WAS(Web Application Server)'๋ผ ํ๋ค.
ํนํ Java์์๋ WAS๋ Java EE ๊ธฐ์ ์ฌ์์ ์ค์ํด์ ๋ง๋ ์๋ฒ๋ฅผ ๊ฐ๋ฆฌํจ๋ค. ๋ค๋ฅธ ๋ง๋ก 'Java EE ๊ตฌํ์ฒด(Implementation)'๋ผ๊ณ ๋ ํ๋ค.
์์ฉ WAS๋ก๋ ํฐ๋งฅ์ค์ํํธ์ ์ ์ฐ์ค(JEUS), ์ค๋ผํด์ ์น๋ก์ง(WebLogic), IBM์ ์น์คํผ์ด(WebSphere), ๋ ๋ํ์ JBoss Enterprise ๋ฑ์ด ์๋ค. ๋ฌด๋ฃ ๋๋ ์คํ์์ค๋ก๋ ๋ ๋ํ์ JBoss AS, ์ค๋ผํด์ GlassFish, ์ํ์น ์ฌ๋จ์ Geronimo ๋ฑ์ด ์๋ค.
Java EE ๊ธฐ์ ์ค ์๋ธ๋ฆฟ, JSP ๋ฑ ์น ๊ด๋ จ ๋ถ๋ถ๋ง ๊ตฌํํ ์๋ฒ๊ฐ '์๋ธ๋ฆฟ ์ปจํ ์ด๋'์ด๋ค. ์ํ์น ์ฌ๋จ์ Tomcat, ์คํ ํ๋ก์ ํธ Jetty ๋ฑ์ด ์๋ค.
Java EE | Servlet/JSP | Tomcat | JBoss | WebLogic | JEUS |
Java EE 8 | 4.0 / 2.3 | 9.0.x | |||
Java EE 6 | 3.0 / 2.2 | 7.0.x | 7.x(all) 6.x(almost) |
12.x | 7.x |
Java EE 5 | 2.5 / 2.1 | 6.0.x | 5.x | 10.x | 6.x |
ํ - Java EE, ๊ตฌํ์ฒด, Servlet/JSP ๋ฒ์
์๋ธ๋ฆฟ, JSP ํ๋ก๊ทธ๋๋ฐ์ ํ ๋๋ ์ฌ์ฉํ๋ WAS ํน์ ์๋ธ๋ฆฟ ์ปจํ ์ด๋๊ฐ ์ด๋ค ๋ฒ์ ์ Java EE ๊ตฌํ์ฒด์ธ์ง ํ์ธํ๊ณ ๊ทธ์ ๋ง๋ ์๋ธ๋ฆฟ, JSP ๋ฒ์ ์ API๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค. ์๋ฅผ ๋ค์ด Tomcat 7.0์ Java EE 6์ ๊ตฌํํ์ผ๋ฏ๋ก Servlet์ 3.0, JSP๋ 2.2 ๋ฒ์ ์ API๋ฅผ ์ฌ์ฉํด์ ๊ฐ๋ฐํ๋ค.
'Web' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Eclipse ์น ํ๋ก์ ํธ IntelliJ๋ก import ํ๋ ๋ฐฉ๋ฒ (2) | 2020.02.07 |
---|---|
์น ์ดํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ - ์ดํด๋ฆฝ์ค ์๋ ๋ฐฐํฌ์ WAR ๋ฐฐํฌ (1) | 2020.02.04 |
๊ธฐ๋ณธ ์น ํ์ด์ง - web.xml ์ฐ์ปด ํ์ผ ์ค์ ํ๊ธฐ (0) | 2020.02.04 |
[Eclipse] Dynamic Web Project ํ๋ก์ ํธ ๊ตฌ์กฐ (4) | 2020.02.04 |
HTTP GET ๋ฉ์๋์ POST ๋ฉ์๋์ ๋น๊ต (0) | 2020.02.03 |
๋๊ธ