[IntelliJ] ํ์๊ฐ์ ์์ (MVC) - (4) ๋ทฐ(JSP) ๋ถ๋ฆฌํ๊ธฐ ๊ด๋ จ ๊ธ - [IntelliJ] ํ์๊ฐ์ ์์ (JAVA + MySQL) - (1) ํ์ ๋ชฉ๋ก ์กฐํ - [IntelliJ] ํ์๊ฐ์ ์์ (JAVA + MySQL) - (2) ํ์ ๊ฐ์ - [IntelliJ] ํ์๊ฐ์ ์์ (JAVA + MySQL) - (3) ํ์ ์ ๋ณด ์์ - [IntelliJ] ํ์๊ฐ์ ์์ (MVC) - (4) ๋ทฐ(JSP) ๋ถ๋ฆฌํ๊ธฐ [IntelliJ] JAVA ์๋ธ๋ฆฟ + MySQL + MVC ํ์๊ฐ์ ์์ - (1) ๋ทฐ(JSP) ๋ถ๋ฆฌํ๊ธฐ ์ด์ ํฌ์คํ ์์ ์์ฑํ๋ ํ์ ๋ชฉ๋ก ์๋ธ๋ฆฟ(StudentListServlet)์ ์ปจํธ๋กค๋ฌ, ๋ชจ๋ธ, ๋ทฐ ์ญํ ์ ๋ชจ๋ ํ๋์์ ๋ด๋นํ๋ค. ์ด๋ฅผ ๊ฐ์ ํ์ฌ StudentListServlet์ผ๋ก๋ถํฐ ์ถ๋ ฅ ๋ถ๋ถ์ ๋ถ๋ฆฌํ์ฌ JSP๋ฅผ ๋ง๋ค ๊ฒ์ด๋ค. ์ถ๋ ฅ์ JSP์์ ๋งก.. 2020. 2. 12. Servlet Filter ์ฌ์ฉํ๊ธฐ Servlet Filter ์ฌ์ฉํ๊ธฐ Filter์ ๊ฐ๋ ๊ณผ ์ฌ์ฉํ๋ ์ด์ ํํฐ๋ ์๋ธ๋ฆฟ ์คํ ์ , ํ์ ์ด๋ค ์์ ์ ํ๊ณ ์ ํ ๋ ์ฌ์ฉํ๋ค. ์๋ฅผ ๋ค์ด ํด๋ผ์ด์ธํธ๊ฐ ๋ณด๋ธ ๋ฐ์ดํฐ์ ์ํธ๋ฅผ ํด์ ํ๋ค๊ฑฐ๋, ์๋ธ๋ฆฟ์ด ์คํ๋๊ธฐ ์ ์ ํ์ํ ์์์ ๋ฏธ๋ฆฌ ์ค๋นํ๊ฑฐ๋, ์๋ธ๋ฆฟ์ด ์คํ๋ ๋๋ง๋ค ๋ก๊ทธ๋ฅผ ๋จ๊ธด๋ค๊ฑฐ๋ ํ๋ ์์ ์ ํํฐ๋ฅผ ํตํด ์ฒ๋ฆฌํ ์ ์๋ค. ๋ง์ฝ ๊ทธ๋ฐ ์์ ๋ค์ ์๋ธ๋ฆฟ์ ๋ด๋๋ค๋ฉด ํ์ํ ์๋ธ๋ฆฟ๋ง๋ค ํด๋น ์ฝ๋๋ฅผ ์ฝ์ ํด์ผํ๊ณ ํ์๊ฐ ์์ด์ง๋ฉด ๊ทธ ์ฝ๋๋ฅผ ์ฝ์ ํ ์๋ธ๋ฆฟ์ ๋ชจ๋ ์ฐพ์์ ์ญ์ ํด์ผ ํ๋ฏ๋ก ๊ด๋ฆฌํ๊ธฐ๊ฐ ๋งค์ฐ ๋ฒ๊ฑฐ๋ก์์ง๋ค. ํํฐ๋ก POST Request Parameter ๋ฌธ์ ์งํฉ ์ค์ ํ๊ธฐ POST ์์ฒญ์ ๊ฒฝ์ฐ ์๋ฒ๋ก ๋ณด๋ด๋ ๋ฐ์ดํฐ๊ฐ message body์ ์๊ณ ์๋ธ๋ฆฟ์์ ์ด ๋ฐ์ดํฐ๋ฅผ ๊บผ๋ด๋ ค๋ฉด getParamet.. 2020. 2. 11. Context Parameter(์ปจํ ์คํธ ๋งค๊ฐ๋ณ์)๋ก web.xml์ DB ์ฐ๊ฒฐ ์ ๋ณด ๊ด๋ฆฌํ๊ธฐ ๊ด๋ จ ๊ธ - Servlet Init Parameter(์๋ธ๋ฆฟ ์ด๊ธฐํ ๋งค๊ฐ๋ณ์)๋ก web.xml์ DB ์ฐ๊ฒฐ ์ ๋ณด ๊ด๋ฆฌํ๊ธฐ - Tomcat ์๋ฒ DataSource ์ค์ ๋ฐฉ๋ฒ (+JNDI) Context Parameter(์ปจํ ์คํธ ๋งค๊ฐ๋ณ์)๋ก web.xml์ DB ์ฐ๊ฒฐ ์ ๋ณด ๊ด๋ฆฌํ๊ธฐ Servlet init parameter๋ ๊ทธ ๋งค๊ฐ๋ณ์๊ฐ ์ ์ธ๋ ์๋ธ๋ฆฟ์์๋ง ์ฌ์ฉํ ์ ์๊ณ ๋ค๋ฅธ ์๋ธ๋ฆฟ์ ์ฐธ์กฐํ ์ ์๋ค. ์ฌ๋ฌ ์๋ธ๋ฆฟ์ด ๊ณตํต์ ํ๊ฒฝ ์ ๋ณด๋ฅผ ์ฌ์ฉํ๋ค๋ฉด context parameter๋ฅผ ์ฌ์ฉํ๋๊ฒ ์ข๋ค. Context parameter๋ ๊ฐ์ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ์๋ธ๋ฆฟ๋ค์ด ๊ฐ์ด ๊ณต์ ํ ์ ์๋ ๋งค๊ฐ๋ณ์์ด๋ค. ๋ค์์ MySQL DB ์ฐ๊ฒฐ ์ ๋ณด๋ฅผ context parameter๋ก ์ ์ธํด์ DB ์ฐ๊ฒฐ์ด ํ์ํ ์๋ธ๋ฆฟ.. 2020. 2. 11. Servlet Init Parameter(์๋ธ๋ฆฟ ์ด๊ธฐํ ๋งค๊ฐ๋ณ์)๋ก web.xml์ DB ์ฐ๊ฒฐ ์ ๋ณด ๊ด๋ฆฌํ๊ธฐ ๊ด๋ จ ๊ธ - Context Parameter(์ปจํ ์คํธ ๋งค๊ฐ๋ณ์)๋ก web.xml์ DB ์ฐ๊ฒฐ ์ ๋ณด ๊ด๋ฆฌํ๊ธฐ Servlet Init Parameter(์๋ธ๋ฆฟ ์ด๊ธฐํ ๋งค๊ฐ๋ณ์)๋ก web.xml์ DB ์ฐ๊ฒฐ ์ ๋ณด ๊ด๋ฆฌํ๊ธฐ Servlet Init Parameter(์๋ธ๋ฆฟ ์ด๊ธฐํ ๋งค๊ฐ๋ณ์) ์๋ธ๋ฆฟ์ ์์ฑํ๊ณ ์ด๊ธฐํํ ๋, ์ฆ init()์ ํธ์ถํ ๋ ์๋ธ๋ฆฟ ์ปจํ ์ด๋๊ฐ ์๋ธ๋ฆฟ์ ์ ๋ฌํ๋ ๋ฐ์ดํฐ์ด๋ค. ๋ณดํต DB ์ฐ๊ฒฐ ์ ๋ณด์ ๊ฐ์ ์ ์ ์ธ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ๋ ์ฌ์ฉํ๋ค. ๋ค์์ ๋ฐฉ๋ฒ์ผ๋ก ์ค์ ํ ์ ์๋ค. DDํ์ผ(web.xml)์ ์๋ธ๋ฆฟ ๋ฐฐ์น ์ ๋ณด์ ์ค์ ์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํด์ ์๋ธ๋ฆฟ ์์ค ์ฝ๋์ ์ค์ ๊ฐ๋ฅํ 1๋ฒ์ ๋ฐฉ๋ฒ์ผ๋ก ์ค์ ํ๋๊ฒ ์ข๋ค. ์์ค ์ฝ๋์์ ๋ถ๋ฆฌํด์ ์ธ๋ถ ํ์ผ์ ๋๋๊ฒ ๋ ๊ด๋ฆฌํ๊ธฐ ์ฝ๊ธฐ ๋๋ฌธ์ด๋ค. ์๋์ ๊ฐ์ด.. 2020. 2. 11. [IntelliJ] ํ์๊ฐ์ ์์ (JAVA + MySQL) - (3) ํ์ ์ ๋ณด ์์ ๊ด๋ จ ๊ธ - [IntelliJ] ํ์๊ฐ์ ์์ (JAVA + MySQL) - (1) ํ์ ๋ชฉ๋ก ์กฐํ - [IntelliJ] ํ์๊ฐ์ ์์ (JAVA + MySQL) - (2) ํ์ ๊ฐ์ - [IntelliJ] ํ์๊ฐ์ ์์ (JAVA + MySQL) - (3) ํ์ ์ ๋ณด ์์ - [IntelliJ] ํ์๊ฐ์ ์์ (MVC) - (4) ๋ทฐ(JSP) ๋ถ๋ฆฌํ๊ธฐ [IntelliJ] JAVA ์๋ธ๋ฆฟ + MySQL ํ์๊ฐ์ ์์ - (3) ํ์ ์ ๋ณด ์์ ํ์ ์์ธ ์ ๋ณด ๋งํฌ ์ถ๊ฐ ํ์ ๋ชฉ๋ก ํ์ด์ง์ ํ์์ ์์ธ ์ ๋ณด๋ฅผ ์์ฒญํ๋ ๋งํฌ๋ฅผ ์ถ๊ฐํ๋ค. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 out.println("ํ์ ๋ชฉ๋ก"); out.println("์ ๊ท ํ์"); while (rs.next()) {.. 2020. 2. 10. [IntelliJ] ํ์๊ฐ์ ์์ (JAVA + MySQL) - (2) ํ์ ๊ฐ์ ๊ด๋ จ ๊ธ - [IntelliJ] ํ์๊ฐ์ ์์ (JAVA + MySQL) - (1) ํ์ ๋ชฉ๋ก ์กฐํ - [IntelliJ] ํ์๊ฐ์ ์์ (JAVA + MySQL) - (2) ํ์ ๊ฐ์ - [IntelliJ] ํ์๊ฐ์ ์์ (JAVA + MySQL) - (3) ํ์ ์ ๋ณด ์์ - [IntelliJ] ํ์๊ฐ์ ์์ (MVC) - (4) ๋ทฐ(JSP) ๋ถ๋ฆฌํ๊ธฐ [IntelliJ] JAVA ์๋ธ๋ฆฟ + MySQL ํ์๊ฐ์ ์์ - (2) ํ์ ๊ฐ์ StudentListServlet.java์ ์ ๊ท ํ์ ๋งํฌ๋ฅผ ์ถ๊ฐํ๋ค. out.println("์ ๊ท ํ์"); ์ ๊ฐ์ด ํ๊ทธ์ ๋งํฌ URL์ ์๋ ๊ฒฝ๋ก๋ก ์ง์ ํ๋ค. ์ ๋ ๊ฒฝ๋ก๋ ์น ์๋ฒ ๋ฃจํธ๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๊ณ ์๋ ๊ฒฝ๋ก๋ ํ์ฌ ๊ฒฝ๋ก๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๋ค. ์๋ ํ๋ฅผ ๋ณด๋ฉด ์ดํดํ๊ธฐ .. 2020. 2. 9. [IntelliJ] ํ์๊ฐ์ ์์ (JAVA + MySQL) - (1) ํ์ ๋ชฉ๋ก ์กฐํ ๊ด๋ จ ๊ธ - [IntelliJ] ํ์๊ฐ์ ์์ (JAVA + MySQL) - (1) ํ์ ๋ชฉ๋ก ์กฐํ - [IntelliJ] ํ์๊ฐ์ ์์ (JAVA + MySQL) - (2) ํ์ ๊ฐ์ - [IntelliJ] ํ์๊ฐ์ ์์ (JAVA + MySQL) - (3) ํ์ ์ ๋ณด ์์ - [IntelliJ] ํ์๊ฐ์ ์์ (MVC) - (4) ๋ทฐ(JSP) ๋ถ๋ฆฌํ๊ธฐ [IntelliJ] JAVA ์๋ธ๋ฆฟ + MySQL ํ์๊ฐ์ ์์ - (1) ํ์ ๋ชฉ๋ก ์กฐํ ํ๊ฒฝ ์ ๋ณด IntelliJ IDEA 2019.3 Ultimate, Apache Tomcat 9, MySQL 8 ์์ ๊ฐ์ ํ์ ํ ์ด๋ธ์ ์ด์ฉํด ํ์ ๋ชฉ๋ก ์ถ๋ ฅ, ์ ๊ท ํ์ ๋ฑ๋ก, ๊ธฐ์กด ํ์ ์ ๋ณด ์์ ์ ํ๋ ์๋ธ๋ฆฟ์ ๊ตฌํํ๋ค. 1. ํ๋ก์ ํธ ์์ฑ ๋ฐ ์ธํ ์ฐ์ ์น ํ๋ก์ .. 2020. 2. 9. ์น ์ดํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ - ์ดํด๋ฆฝ์ค ์๋ ๋ฐฐํฌ์ WAR ๋ฐฐํฌ Java EE์ฉ ์ดํด๋ฆฝ์ค๋ WTP(Web Tools Platform) ํ๋ฌ๊ทธ์ธ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํฌํจํด์ ์ดํด๋ฆฝ์ค์ ๋ฑ๋ก๋ ์์ ์๋ฒ์ ์๋์ผ๋ก ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐ์นํ๊ณ ํฐ์บฃ ์๋ฒ๋ฅผ ์ ์ดํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. ์ด๋ฐ ๊ธฐ๋ฅ์ด ์๋ค๋ฉด ํ ์คํธํ ๋๋ง๋ค ๋งค๋ฒ ํฐ์บฃ webapps ํด๋์ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ณต์ฌํ๊ณ ํฐ์บฃ ์๋ฒ๋ฅผ ์ง์ ์ฌ์์ํด์ผํ ๊ฒ์ด๋ค. ํฐ์บฃ ์คํ ํ๊ฒฝ์ ์น ๋ชจ๋์ ๋ฑ๋กํ๊ณ ํฐ์บฃ์ ๊ตฌ๋์ํค๋ฉด ์ดํด๋ฆฝ์ค๋ ๋ฑ๋ก๋ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ํฐ์บฃ ํด๋๊ฐ ์๋ ์์ ํด๋์ ์๋์ผ๋ก ๋ฐฐ์นํ๋ค. ํฐ์บฃ ์คํ ํ๊ฒฝ์ ์์ ๋ฐฐ์น ํด๋ ์ดํด๋ฆฝ์ค์ ์ํด ์๋์ผ๋ก ๋ฐฐํฌ๋๋ ์์ ๋ฐฐ์น ์์น๋ ๋ค์๊ณผ ๊ฐ๋ค. ์์ ํ๋ workspace์์ .metadata/.plugins/org.eclipse.wst.server.core/๋ก ์ด๋ํ๋ค.. 2020. 2. 4. ๊ธฐ๋ณธ ์น ํ์ด์ง - web.xml ์ฐ์ปด ํ์ผ ์ค์ ํ๊ธฐ ๊ธฐ๋ณธ ์น ํ์ด์ง - web.xml ์ฐ์ปด ํ์ผ ์ค์ ํ๊ธฐ Welcome Files ์ฐ์ปด ํ์ผ์ด๋ ๋๋ ํ ๋ฆฌ์ ๊ธฐ๋ณธ ์น ํ์ด์ง์ด๋ค. ํด๋ผ์ด์ธํธ๊ฐ ์๋ธ๋ฆฟ ์ด๋ฆ์ ์๋ตํ๊ณ ๋๋ ํ ๋ฆฌ๊น์ง๋ง ์ง์ ํด์ ์์ฒญํ๋ค๋ฉด ์น ์๋ฒ๋ ํด๋น ๋๋ ํ ๋ฆฌ์์ ์ฐ์ปด ํ์ผ์ ์ฐพ์์ ์๋ตํ๋ค. web.xml ์ฐ์ปด ํ์ผ์ web.xml์ ์ ์ ์ํ๋ค. index.html index.htm index.jsp default.html default.htm default.jsp ์ฌ๋ฌ ๊ฐ์ ์ฐ์ปด ํ์ผ์ด ์์ผ๋ฉด ์์์๋ถํฐ ์๋๋ก ์์ฐจ์ ์ผ๋ก ์กฐํํ๊ณ ๋จผ์ ์ฐพ์ ๊ฒ์ ํด๋ผ์ด์ธํธ์๊ฒ ๋ณด๋ธ๋ค. ์น ํ๋ก์ ํธ์ context directory๊ฐ ์์ ๊ฐ์ผ๋ฉด ์ฃผ์์ฐฝ์ context root๊น์ง๋ง ์ ๋ ฅํ์ ๋ root ๋๋ ํ ๋ฆฌ์ index.html ํ์ผ์ด ์์ผ๋ฏ๋ก ํด๋น .. 2020. 2. 4. [Eclipse] Dynamic Web Project ํ๋ก์ ํธ ๊ตฌ์กฐ [Eclipse] Dynamic Web Project ํ๋ก์ ํธ ๊ตฌ์กฐ ์ดํด๋ฆฝ์ค์์ ์๋ธ๋ฆฟ/JSP ๊ธฐ๋ฐ ์น ์ดํ๋ฆฌ์ผ์ด์ ํ๋ก์ ํธ๋ Dynamic Web Project์ด๋ค. 1. ํ๋ก์ ํธ ์์ฑ Project name : ํ๋ก์ ํธ ์ด๋ฆ Target runtime : ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ์คํํ ์๋ฒ Dynamic web module version : ์๋ธ๋ฆฟ ๋ฒ์ . ์ดํด๋ฆฝ์ค๋ ์ฌ๊ธฐ์ ์ง์ ๋ ๋ฒ์ ์ผ๋ก ์์ค ์ฝ๋์ ๋ฌธ๋ฒ์ ๊ฒ์ฌํ๋ค. Source folders on build path : Java ์์ค ํด๋ Default output folder : ์ปดํ์ผ ๊ฒฐ๊ณผ ์ถ๋ ฅ ํด๋ Context root : ์น ์ดํ๋ฆฌ์ผ์ด์ ์ด๋ฆ. ๊ธฐ๋ณธ๊ฐ์ ํ๋ก์ ํธ ์ด๋ฆ์ด๋ค. ์๋ฒ์ ์๋ ๋ฐฐ์นํ ๋ ์ด ์ด๋ฆ์ผ๋ก ํด๋๋ฅผ ๋ง๋ค์ด ๋ฐฐ์นํ๋ค. ์น ๋ธ๋ผ์ฐ์ .. 2020. 2. 4. HTTP GET ๋ฉ์๋์ POST ๋ฉ์๋์ ๋น๊ต HTTP ์์ฒญ ๋ฉ์๋๋ ์์ฒญ ์์์ ๋ํด ์น ์๋ฒ์๊ฒ ๋ด๋ฆฌ๋ ๋ช ๋ น์ด๋ค. ๋ฉ์๋์๋ GET, POST, HEAD, PUT, DELETE, TRACE, CONNECT, OPTIONS ๋ฑ์ด ์๋ค. 1. GET ๋ฉ์๋ GET ์์ฒญ์ ํน์ง URL์ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ์ฌ ๋ฐ์ดํฐ ์กฐํ์ ์ ํฉํ๋ค. ๋ฐ์ด๋๋ฆฌ ๋ฐ ๋์ฉ๋ ๋ฐ์ดํฐ ์ ์ก์ด ๋ถ๊ฐํ๋ค. ์์ฒญ ๋ผ์ธ๊ณผ ์์ฒญ ํค๋์ ์ต๋ ํฌ๊ธฐ ์ ํ์ด ์๋ค. ๋์ฉ๋ URL๋ก ์ธํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ธฐ๋๋ฌธ์ ์น ์๋ฒ์ ๋ฐ๋ผ ์ต๋ ํฌ๊ธฐ๋ฅผ ์ ํํ๋ค. GET ์์ฒญ์ ์ข ๋ฅ ์น ๋ธ๋ผ์ฐ์ ์ฃผ์์ฐฝ์ URL์ ์ ๋ ฅํ๋ ๊ฒฝ์ฐ ๋งํฌ๋ฅผ ํด๋ฆญํ๋ ๊ฒฝ์ฐ ์ ๋ ฅ ํผ์ method ์์ฑ๊ฐ์ด get์ธ ๊ฒฝ์ฐ GET ์์ฒญ ๋งค๊ฐ๋ณ์ ์ธ์ฝ๋ฉ ์๋ธ๋ฆฟ ์ปจํ ์ด๋์ URI ์ธ์ฝ๋ฉ ์ค์ GET ์์ฒญ 1 - ์น ๋ธ๋ผ์ฐ์ ์ฃผ์์ฐฝ์ URL์ ์ ๋ ฅ.. 2020. 2. 3. ์ด์ 1 ๋ค์