"์ฌ๊ธฐ ์์ต๋๋ค. ์์ฒญ์ ๋ฐ๋ผ ์ด์ ์ฒซ ๋ฒ์งธ ์น ์๋ฒ๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ์๋ ค ๋๋ฆฌ๊ฒ ์ต๋๋ค."
"์น ์๋ฒ๋ ์ด์ ์ฒด์ ์ ๊ฐ์ต๋๋ค. ๊ทธ ์์ฒด๋ก๋ ๊ฐ์น๊ฐ ์์ต๋๋ค. ํน๋ณํ ์น ํ๋ก๊ทธ๋จ(์๋ธ๋ฆฟ)์ ์คํํ ์ ์๊ธฐ ๋๋ฌธ์ ๊ฐ์น๊ฐ ์์ต๋๋ค. "
"์ด ์๋ธ๋ฆฟ์ ์ฌ์ฉ์๋ก๋ถํฐ ์ค๋ ์์ฒญ์ ์ฒ๋ฆฌํฉ๋๋ค."
"์์ฒญ์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํฉ๋๊น? ์น ์๋ฒ ๋ด์์ ํ๋ก๊ทธ๋จ์ ์ด๋ป๊ฒ ์คํํฉ๋๊น?"
"์์ ์ ์๋ธ๋ฆฟ์ ์์ฑํ๋ ค๋ฉด ํด๋์ค๊ฐ HttpServlet ํด๋์ค๋ฅผ ์์ํด์ผ ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ doGet() ๋ฐ doPost() ๋ฉ์๋๋ฅผ ๊ตฌํํฉ๋๋ค. ์ฌ์ฉ์๋ก๋ถํฐ ์์ฒญ์ด ์ค๋ฉด ์น ์๋ฒ๋ ์๋ธ๋ฆฟ ๊ฐ์ฒด ์ค ํ๋๋ฅผ ์์ฑํ๊ณ doGet()์ ํธ์ถํฉ๋๋ค. ๋๋ ๋ธ๋ผ์ฐ์ ์์ ์ค๋ ์์ฒญ ์ ํ์ ๋ฐ๋ผ doPost() ๋ฉ์๋๋ฅผ ํธ์ถํฉ๋๋ค."
"ํ์ง๋ง ๋ด ํ๋ก๊ทธ๋จ์ด ์ด๋ป๊ฒ ์น ์๋ฒ์ ๋ค์ด๊ฐ๋์?"
"๊ฐ๋จํฉ๋๋ค. ํ๋ก๊ทธ๋จ์ ์์ฑํ๊ณ ์ปดํ์ผํ ๋ค์ Tomcat์ ์ค์นํ ๋๋ ํ ๋ฆฌ์ ํน์ ํด๋์ ๋ฃ์ต๋๋ค."
"์๋ธ๋ฆฟ์ ํฌ๊ณ ํฅ๋ฏธ๋กญ์ง๋ง ๋ณ๊ฐ์ ์ฃผ์ ์ ๋๋ค. ๊ทธ๋์ ์ค๋์ ์ด์ ๋ํด ์ค๋ช ํ์ง ์๊ฒ ์ต๋๋ค. ๋ค๋ฅธ ๊ฒ์ ๋ํด ์กฐ๊ธ ๋ง์๋๋ฆฌ๊ฒ ์ต๋๋ค."
"JSP๋ ๋งค์ฐ ํฅ๋ฏธ๋ก์ด ์๋ธ๋ฆฟ ์ ํ์ ๋๋ค. PHP์ ๋น์ทํฉ๋๋ค."
"JSP๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ฅํ ๊ฐ์ฅ ๊ฐ๋จํ ์น ํ๋ก๊ทธ๋จ์ ์์ฑํ๊ณ ์คํํด ๋ด ์๋ค."
"ํ์! ์ค๋น๋์ด."
"๊ทธ๋ผ ์์ํ๊ฒ ์ต๋๋ค."
1๋จ๊ณ: ์ ์น ํ๋ก์ ํธ ๋ง๋ค๊ธฐ

"์๋ฃ."
2๋จ๊ณ: ๋ชจ๋ ์ ํ์ Java ๋ชจ๋๋ก ์ค์ ํฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ์ค์ ํ๊ณ JDK๋ฅผ ์ง์ ํฉ๋๋ค.

"์๋ฃ."
3๋จ๊ณ: ํ๋ก์ ํธ ์ด๋ฆ ์ง์

"์๋ฃ."
"๋น ์ ํ๋ก์ ํธ๊ฐ ํ์๋์ด์ผ ํฉ๋๋ค."
"๊ฑฐ์ ๋น์ด ์์ต๋๋ค. index.jsp๋ผ๋ ํ์ผ์ด ํ๋ ํฌํจ๋ฉ๋๋ค. ์ฐพ์ผ์ญ์์ค."
4๋จ๊ณ: JSP ํ์ผ ์ฐพ๊ธฐ

"๊ทธ๊ฒ์ ๋ฐ๊ฒฌ."
"์ข์ต๋๋ค. ์ฌ๊ธฐ์์ ์๋ธ๋ฆฟ์ ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ต๋๋ค."
"ํ์ง๋ง ๋จผ์ IntelliJ IDEA๋ฅผ ์กฐ๊ธ ๊ตฌ์ฑํด ๋ด ์๋ค."
"IntelliJ IDEA์์ Tomcat์ ์๋ธ๋ฆฟ์ ์ง์ ์คํํ ์ ์์ต๋๋ค. ํ์ํ ๊ฒฝ์ฐ ๋๋ฒ๊น ํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋งค์ฐ ํธ๋ฆฌํ๊ณ ํ๋ฅญํฉ๋๋ค. ๋๊ฐ ๋๋ฉด ๊ฐ์ฌํ๊ฒ ๋ ๊ฒ์ ๋๋ค."
"๋๋ ๋น์ ์ ๋ฏฟ์ต๋๋ค. ๊ทธ๋์ ๋ค์์ ๋ฌด์์ ๋๊น?"
"์ฐ๋ฆฌ๋ Tomcat์์ ์น ๋ชจ๋(์ ํ๋ฆฌ์ผ์ด์ )์ ์คํํ๋ ๋ฐฉ๋ฒ์ IntelliJ IDEA์ '๊ฐ๋ฅด์น ' ๊ฒ์ ๋๋ค."
5๋จ๊ณ: ๋ฉ๋ด์์ '๊ตฌ์ฑ ํธ์ง'์ ์ ํํฉ๋๋ค.

"์๋ฃ."
6๋จ๊ณ: ๋ํ๊ธฐ ๊ธฐํธ๋ฅผ ํด๋ฆญํ์ฌ ์ ๊ตฌ์ฑ ๋ง๋ค๊ธฐ

"์๋ฃ."
7๋จ๊ณ: ์คํํ ํญ๋ชฉ ํ์(Tomcat ์๋ฒ, ๋ก์ปฌ)

"๋นจ๊ฐ์์ผ๋ก ํ์๋ ์ด๋ฆ ํ๋์ ๊ตฌ์ฑ ์ด๋ฆ์ ์ง์ ํ์ญ์์ค."
"Tomcat์ด ์๋ธ๋ฆฟ์ ์์ํ ํฌํธ๋ ๋ น์์ผ๋ก ํ์๋ฉ๋๋ค."
"๋ํ IntelliJ IDEA์ Tomcat์ด ์๋ ์์น๋ฅผ ์๋ ค์ผ ํฉ๋๋ค. Configure ๋ฒํผ์ ํด๋ฆญํ์ธ์..."
8๋จ๊ณ: ์คํ ๊ตฌ์ฑ ๋ง๋ค๊ธฐ

"์ด์ Tomcat์ด ์๋ ํด๋๋ฅผ ์ ํํด์ผ ํฉ๋๋ค."
9๋จ๊ณ: Tomcat์ ์์น ์ง์



"์๋ฃ."
"๋น์ ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒ์ ์ป์ด์ผ ํฉ๋๋ค:"
10๋จ๊ณ: ๊ฒฐ๊ณผ ๊ตฌ์ฑ

"์ด์ ํ๋ก์ ํธ๋ฅผ Tomcat์ ์ฐ๊ฒฐํด์ผ ํฉ๋๋ค."
ํด์ผ ํ ์ผ์ด ๋๋ฌด ๋ง์ต๋๋ค. ์ด๋ ๊ฒ ์์ธํ ์ง์นจ์ด ์์ด์ ๋คํ์ ๋๋ค."
"๋น์ฐํ์ง! ๋๋ ๋ด ์น๊ตฌ๋ฅผ ์ํด ๋ ธ๋ ฅํ๋ค."
"์ด์ ์์ ๋ฒํผ์ ๋๋ฅด๋ฉด IDEA๊ฐ ์์ฒด์ ์ผ๋ก ๋ชจ๋ ์์ ์ ์ํํฉ๋๋ค."
11๋จ๊ณ: IDEA๋ ํ๋ก์ ํธ์ Tomcat์ ์ฐ๊ฒฐํฉ๋๋ค.

"์๋ฃ."
"์ข์ต๋๋ค. ๋๊ธ ํ๋ ๋. ํฌํธ 8080์ ์ด๋ฏธ ์ฌ์ฉ ์ค์ผ ๊ฒ์ ๋๋ค. ๊ฒฐ๊ตญ Tomcat์ ์ค์น ์งํ ์คํ๋๊ธฐ ์์ํ์ต๋๋ค."
"IntelliJ IDEA๋ ์คํ ์ค์ธ ํ๋ก์ ํธ์ ์๋ธ๋ฆฟ์ ์ถ๊ฐํ ์ ์์ง๋ง ๋จ์์ฑ์ ์ํด ์ง๊ธ์ ๋งค๋ฒ ์ Tomcat ์๋ฒ๋ฅผ ์์ํฉ๋๋ค."
"๊ทธ๋์ ์ฌ๋ฌ Tomcat์ ์คํํ๊ฒ ๋ฉ๋๊น?"
"๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ๊ฐ์ ํฌํธ๊ฐ ํ์ํฉ๋๋ค. ๋ฐ๋ผ์ ํ๋ก์ ํธ ์ค์ ์์ ํฌํธ 8080์ ํฌํธ 8888๋ก ๋ณ๊ฒฝํ๊ฒ ์ต๋๋ค."
"48. ์ข์."
12๋จ๊ณ: ํฌํธ๋ฅผ 8888๋ก ๋ณ๊ฒฝ

"์๋ฃ."
"์ข์ต๋๋ค. ์ค์ ์ ๋๋ฌ์ต๋๋ค."
"๊ทธ๋์, ๋ค์์ ๋ฌด์์ ๋๊น?"
"์ด์ index.jsp ํ์ผ์ ์ฝ๊ฐ ๋ณ๊ฒฝํ๊ฒ ์ต๋๋ค."
"์๋ฅผ ๋ค์ด "๊ฐ๊ฐ๋ฅ์๊ฒ ํ์!"
13๋จ๊ณ: index.jsp ๋ณ๊ฒฝ

"์๋, ์ฐจ๋ผ๋ฆฌ ยซ๋ก๋ด์๊ฒ ํ์!ยป์ด๋ผ๊ณ ์ฐ๊ฒ ์ด!"
"์ข์. ์ด์ ํ ์ผ์ด ์กฐ๊ธ ๋จ์์ด."
14๋จ๊ณ: ์๋ธ๋ฆฟ ๋ฐ Tomcat ์คํ

"Tomcat ๋ก๊ทธ ๋ฐ ์คํ ์ถ์ ์ด ํ์๋์ด์ผ ํฉ๋๋ค. ๋ก๊ทธ์ ์ค๋ฅ๊ฐ ์์ด์ผ ํฉ๋๋ค."
"์ด ๊ฐ์:"
15๋จ๊ณ - Tomcat ๋ก๊ทธ

"๋์์ IDEA๋ ์๋ธ๋ฆฟ์ ๋ํ URL์ด ์๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ด์ด์ผ ํฉ๋๋ค."
"๋น์ ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒ์ ์ป์ด์ผ ํฉ๋๋ค:"
16๋จ๊ณ: index.jsp ๋ณ๊ฒฝ

"๊ทธ๋. ๊ทธ๊ฒ ๋ด๊ฐ ๊ฐ์ง๊ฑฐ์ผ. ๋ฉ์ง๋ค!"
"๊ทธ๋ฆฌ๊ณ ์ด์ ๋ธ๋ผ์ฐ์ ์ ๋ค์ URL์ ์ ๋ ฅํ์ญ์์ค."
http://localhost:8888/index.jsp |
"์๋ฌด๊ฒ๋ ๋ฐ๋์ง ์์๋ค."
"๊ทธ๋ฐ ๋ง ํ์ง๋ง."
17๋จ๊ณ: index.jsp ๋ณ๊ฒฝ

"์ด์ ๋ธ๋ผ์ฐ์ ์ IntelliJ IDEA์์ ๋ณธ index.jsp ํ์ผ์ด ํ์๋ฉ๋๋ค."
"๋ด๊ฐ ๋ฐ๊พผ ๊ฑฐ?"
"์."
"๊ทธ๋ฌ๋ ๋ธ๋ผ์ฐ์ ์ ์์ฒญ์ ๋๋ฉ์ธ๋ง ์ง์ ๋๊ณ ๋๋จธ์ง ์์ฒญ์๋ ์ง์ ๋์ง ์์ผ๋ฉด ๊ธฐ๋ณธ ํธ๋ค๋ฌ๊ฐ ํธ์ถ๋ฉ๋๋ค. ์ฐ๋ฆฌ์ ๊ฒฝ์ฐ ์ด๊ฒ์ index.jsp์ ๋๋ค."
" index.jsp , apple.jsp , google.jsp ์ ์ธ ๊ฐ์ง ํ์ผ์ด ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค . ์๋ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค."
์๊ตฌ | ์๋ต |
---|---|
http://๋ก์ปฌ ํธ์คํธ:8888 | index.jsp |
http://๋ก์ปฌํธ์คํธ:8888/ | index.jsp |
http://localhost:8888/index.jsp | index.jsp |
http://localhost:8888/apple.jsp | apple.jsp |
http://localhost:8888/ samsung.jsp | ์ค๋ฅ ๋ฉ์์ง: ์๋ธ๋ฆฟ์ ์ฐพ์ ์ ์์ |
http://localhost:8888/google.jsp | google.jsp |
http://localhost:8888/ ์ธ๋ฑ์ค | ์ค๋ฅ ๋ฉ์์ง: ์๋ธ๋ฆฟ์ ์ฐพ์ ์ ์์ |
"๋๋ ์ดํด."
"Bilaabo, ๋น์ ์ ์ค๋ซ๋์ JSP๊ฐ ํ๋ฅญํ๋ค๊ณ ๋งํด์์ต๋๋ค. ๊ทธ๋ฌ๋ JSP๋ ์ผ๋ฐ HTML ํ์ด์ง์ ๋งค์ฐ ์ ์ฌํฉ๋๋ค. ๋ชจ๋ ๊ฒ์ด ์ ํํ ๋์ผํฉ๋๋ค."
"์, ์ ๋ถ๋ ์๋๋๋ค. JSP์ ๋ค์ ํ ์คํธ๋ฅผ ์ถ๊ฐํด ๋ณด์ญ์์ค."
<%@ page contentType="text/html; charset=UTF-8" language="java" %>
<html> <head> <title>Amigo says hi</title> </head> <body>
<%--This is still HTML--%>
<% // But I can write Java code here String s = "Power to robots!"; for(int i=0; i<10; i++) { out.println(s); out.println("<br>"); } %>
<%--and this is HTML again--%>
</body> </html>
"JSP ํ์ด์ง์ Java ์ฝ๋๋ฅผ ์ฝ์ ํ๋ฉด ์คํ๋ฉ๋๋ค!
"JSP ํ์ด์ง์ Java ์ฝ๋๋ ์คํฌ๋ฆฝํ๋ฆฟ์ด๋ผ๊ณ ํ๋ฉฐ <% ๋ฐ %> ํ๊ทธ๋ก ๋๋ฌ์ธ์ฌ ์์ต๋๋ค."
"์."
"์ข์. ๋ด ์์ ์ JSP ํ์ด์ง ๋ช ๊ฐ๋ฅผ ์์ฑํ ๊ฒ."
"๊ณ ๋ง์์, ๋น๋ผ๋ณด."
"๊ทธ๋ฆฌ๊ณ ๊ณ ๋ง์์, ์น๊ตฌ!"
GO TO FULL VERSION