์นํ๋ก๊ทธ๋๋ฐ13 Web programming : RESTful URL ์ค๊ณ ๊ท์น URI(Uniform Resource Identifier)์ URL(Uniform Resource Locator) URI๋ ๋คํธ์ํฌ ์์ ์๋ ํน์ ๋ฆฌ์์ค๋ฅผ ์๋ณํ๋ ํตํฉ ์์ ์๋ณ์(Uniform Resource Identifier)๋ฅผ ์๋ฏธํ๋ค. URL์ ์ธํฐ๋ท์ ์๋ ๋ฆฌ์์ค๋ฅผ ๋ํ๋ด๋ ํตํฉ ๋ฆฌ์์ค ์๋ณ์๋ฅผ ์๋ฏธํ๋ฉฐ, ์ฐ๋ฆฌ๊ฐ ํํ๋ค ์ด์ผ๊ธฐํ๋ ์น ์์ ์ฃผ์๋ฅผ ์๋ฏธํ๋ค. URI๋ URL์ ์์ ๊ฐ๋ ์ผ๋ก ๋ณผ ์ ์๋ค. URI๋ ๋ฆฌ์์ค๋ฅผ ์๋ณํ๋ ์๋ณ์ ์ญํ ์ ํ๊ณ , URL์ ์๋ณ์ ์ญํ ์ค์์๋ ๋ฆฌ์์ค์ ์์น๋ฅผ ๊ฐ๋ฆฌํจ๋ค. ์) http://www.restapi.example.com/member/1 ๋ ๋ฆฌ์์ค์ ์์น๋ฅผ ๊ฐ๋ฆฌํค๋ URL์ด๋ผ๊ณ ํ ์ ์๋ค. ์) URI ์ ์์๋ก๋ ๋์๋ฅผ ์๋ณํ๋ ๊ตญ์ ํ์ค๋์๋ฒํธ.. Web programming 2023. 12. 13. (22.12.01)Database : ์ฌ์์ ๋ณด ์ญ์ ํ๊ธฐ, ์ถ๊ฐํ๊ธฐ, DB์์ ํ ์ด๋ธ ์์ฑ, ๋ ์ง ๊ฐ์ ธ์ค๊ธฐ, ์ํ์ค โโ์ฌ์์ ๋ณด ์ญ์ ํ๊ธฐโโ ํ์์ ๋ณด๋ฅผ ์ญ์ ํ๋ฉด DB์์๋ ํ ์ด๋ธ์์ ๊ฐ์ฒด ์ ๋ณด๋ฅผ ์ญ์ ํ๊ธฐ empDAO.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 1.. Database 2022. 12. 1. (22.11.29)Database : DB์์ ๋ฐ์ดํฐ๋ฅผ ๊บผ๋ด MVC๋ฐฉ์์ ํตํ์ฌ ์น๋ธ๋ผ์ฐ์ ์ ๋ฐ์ดํฐ ๋ํ๋ด๊ธฐ โโ์น์์ MVC ๋ฐฉ์์ ๋ง์ถฐ Database์์ ์ ๋ณด๋ฅผ ๋ฝ์ ์น์์ ๋ํ๋ด๊ธฐโโ โModel : ๋ฐ์ดํฐ์ ๊ด๋ จ๋ ์์ ๋ค - -DB ์ ์ถ๋ ฅ์ ๋ด๋นํ๋ ํด๋์ค(DAO, Data Access Object) -๋ฐ์ดํฐ ๊ทธ ์์ฒด๋ฅผ ๋ํ๋ด๋ VO ํด๋์ค(DTO, Data Transfor Object) โView : ์ค์ ๋ธ๋ผ์ฐ์ ์ ๋ํ๋๋ ์์๋ค - html๋ฅผ ์ฌ์ฉํ์ฌ jsp ํ์ผ๋ก ์์ฑํ๋ค. โController : ๋ชจ๋ธ๊ณผ ๋ทฐ ๊ฐ์ ํ๋ฆ์ ์ ์ด ํ๋ ์์ โโ์ ๊ฐ์ ๊ธฐ์กด ๋ฐฉ์์์ ์๋ธ๋ฆฟ์ ๊ธฐ๋ฅ์ ์ต์ํ ์ํค๊ณ DB ์ ์ถ๋ ฅ ํ๋ ๋ฉ์๋ ๋ค์ ์๋ก์ด ํด๋์ค๋ฅผ ๋ง๋ค์ด์ ์๋ํ๊ฒ ๋ง๋ค๊ธฐโโ EmpVO.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 2.. Database 2022. 11. 29. (22.11.25)Web ํ๋ก๊ทธ๋๋ฐ: JSP ๊ฐ๋ฐ๋ฐฉ๋ฒ๋ก Model1์ผ๋ก ๋ง๋ ๊ฒ์ํ์ JSP ๊ฐ๋ฐ๋ฐฉ๋ฒ๋ก Model2๋ก ๋ณํํ๊ธฐ JSP ๊ฐ๋ฐ๋ฐฉ๋ฒ๋ก Model1์ผ๋ก ๋ง๋ ๊ฒ์ํ์ JSP ๊ฐ๋ฐ๋ฐฉ๋ฒ๋ก Model2๋ก ๋ณํํ๊ธฐ ๊ฐ๋ฐ๋ฐฉ๋ฒ๋ก Model2๋ Model1๊ณผ ๋ค๋ฅด๊ฒ ์๋ธ๋ฆฟ์ ๊ฐ์ง๊ณ ์๋ค. ๊ทผ๋ฐ ์ด๋ ์ด ์๋ธ๋ฆฟ์์ ๋ก์ง์ ์ฒ๋ฆฌํด์ฃผ๋ ๊ฒ ์๋๋ผ ์์ฒญ์ ๋ธ๋ผ์ฐ์ ์์ ์ฒ์ ๋ฐ์ ๊ทธ ์์ฒญ์ ์๋ฐ ์๋น์ค ํน์ ์ปจํธ๋กค๋ฌ ๋ ์ด์ด๋ก ๋ณด๋ด์ค๋ค. ๊ทธ๋ฆฌ๊ณ JSP๋ ๋ทฐ๋ง ์ญํ ์ ํด์ฃผ๋ JSP๋ง์ ์ฐ๊ฒ ๋๊ณ ๋ก์ง์ด ์๋ JSP๋ ๋ชจ๋ ์๋น์ค ํด๋์ค์ ๋ก์ง์ผ๋ก ๋ฃ๋๋ค. ( JSP ๊ฐ๋ฐ๋ฐฉ๋ฒ๋ก Model1์ผ๋ก ๋ง๋ ๊ฒ์ํ์ (22.11.23)๊ฒ์๊ธ ์ฐธ๊ณ ) M : Board.java V : boardAddForm.jsp, boardList.jsp, boardEdit.jsp, boardRead.jsp C : BoardServlet.java BoardService.j.. Web programming 2022. 11. 25. (22.11.24)Web ํ๋ก๊ทธ๋๋ฐ: JSTL,EL / JSP๊ฐ๋ฐ๋ชจ๋ธ1์์ ๊ฐ๋ฐ๋ชจ๋ธ2๋ก ๋ณํํ๊ธฐ โโEL(Expression Language)โโ EL(Expression Language)์ ์๋ฐ ๋น์ ํ๋กํผํฐ, ๊ฐ์ JSP์ ํํ์ ์ด๋ ์ก์ ํ๊ทธ ๋ฅผ ์ฌ์ฉํ๋๊ฒ ๋ณด๋ค ์ฝ๊ณ ๊ฐ๊ฒฐํ๊ฒ ๊บผ๋ผ์ ์๊ฒ ํ๋ ๊ธฐ์ ์ด๋ค. ๋ํ static ๋ฉ์๋๋ฅผ ํธ์ถํ ์๋ ์๋๋ฐ JSP์์๋ ์ฃผ๋ก ์๋ธ๋ฆฟ ๋ณด๊ด์(JspContext, ServletRequest, HttpSession, ServletContext)์์ ๊ฐ์ ๊บผ๋ผ ๋ ์ฌ์ฉํ๋ค. jsp์์๋ง ์ธ์ ์๋ ์ถ๋ ฅ์ธ์ด(ํ์ฅ์๊ฐ jsp๋ก ๋์ด ์๋ ๊ณณ์์๋ง ๊ฐ๋ฅ) -๋ฉ๋ชจ๋ฆฌ์ ์๋ ๊ฒ์ ๊ฒ์ผ๋ก ํํํ๊ธฐ ์ํ ์ธ์ด(์ฆ ๋ณ์์ ๊ฐ์ ์ถ๋ ฅํ๋ค.) scope ๊ฐ์ฒด ์์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ํ๋ฉด์ ํ์ํ๊ธฐ์ ์ ์ฉํ๋ค. ex) session.setAttribute("data","hell.. Web programming 2022. 11. 24. (22.11.23)Web ํ๋ก๊ทธ๋๋ฐ: JSP ๊ฐ๋ฐ๋ชจ๋ธ1(MVC๋ฐฉ์)-๊ฒ์ํ ๋ก๊ทธ์์๊ธฐ๋ฅ, ์์ฑ์๋ง ์์ /์ญ์ ๊ธฐ๋ฅ๋ง๋ค๊ธฐ (22.11.22)์ ์์ฑํ ํ๋ก๊ทธ๋จ์ ์ถ๊ฐ๋ก ๋ก๊ทธ์์ ๊ธฐ๋ฅ ์์ฑ ๊ทธ๋ฆฌ๊ณ ํด๋น uid์ ์์ฑ์๋ง ์์ ์ ๊ธ์ ์ญ์ , ์์ ๊ฐ๋ฅํ๊ฒ ํ๊ธฐ ๋ค๋ฅธ ์ฌ๋์ผ๋ก ๋ก๊ทธ์ธํ๋ฉด ๊ธ ์ฝ๊ธฐ๋ ๊ฐ๋ฅํ๋๋ผ๋ ์ญ์ ์์ ์ ๋ถ๊ฐ๋ฅ ํ๊ฒ ๋ง๋ค๊ธฐ โโlogout Partโโ loginController.jsp 1 2 3 4 5 6 7 8 9 10 11 12 13 Colored by Color Scripter cs ๋ก๊ทธ์ธ ์ปจํธ๋กค๋ก cmd์ ๊ฐ์ ๋ฐ๋ผ ํด๋น jsp๋ก forwardํด์ค๋ค. UserService.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 import java.util.*; .. Web programming 2022. 11. 23. (22.11.22)Web ํ๋ก๊ทธ๋๋ฐ: JSP ๊ฐ๋ฐ๋ชจ๋ธ1 MVC๋ฐฉ์(๋ก๊ทธ์ธํ์ฌ ๊ฒ์ํ ์์ฑํ๊ธฐ) ๋ก๊ทธ์ธ์ ํ์ฌ ๋ก๊ทธ์ธ ์์ด๋๋ฅผ ์์ฑ์๋ก ์ฐ๊ณ ๊ฒ์ํ CRUD ์ค์ต ๋ก๊ทธ์ธํ์ง ์๊ณ ๊ฒ์ํ์ ๋ค์ด๊ฐ๋ ค ํด๋ ๋ก๊ทธ์ธ ๋จผ์ ํ๊ฒ ๋ง๋ค๊ธฐ Controller ์ญํ ์ ํ๋ JSP๋ฅผ ๋ง๋ค์ด์ ํ๊ฒ ํด์ฃผ๊ธฐ โโ๋ก๊ทธ์ธ Partโโ User.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 public class User { private String uid; private String pwd; public User() {} public String getUid() { return uid; } public void setUid(String uid) { this.uid = uid; } public String getPwd() { return pwd; } public .. Web programming 2022. 11. 22. (22.11.21)Web ํ๋ก๊ทธ๋๋ฐ: JSP ๊ฐ๋ฐ๋ฐฉ๋ฒ๋ก Model1-jsp๋ก Controller ์ญํ ํ๊ฒ ํ๊ธฐ JSP ๊ฐ๋ฐ๋ฐฉ๋ฒ๋ก Model1 ๋ชจ๋ธ 1์ ์๋ฐ ์๋ธ๋ฆฟ์ ์ฐ์ง์๊ณ ๊ฐ๋ฐํ๋ ๋ฐฉ์์ด๋ค. ์ฌํ๊น์ง jsp์ ์๋ฐ ํด๋์ค๋ก ๊ฐ๋ฐ์ ํ๋๋ฐ, ์๋ธ๋ฆฟ์ ์ฐ์ง ์๋๋ผ๋ jsp์์ ์ปจํธ๋กค๋ฌ ์ญํ ์ ํ ์ ์๊ฒ ํ ์ ์๋ค. jsp์์ฒด๊ฐ ์๋ธ๋ฆฟ๊ฐ์ ๊ธฐ๋ฅ์ ํนํ์ํจ ์คํฌ๋ฆฝํธ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ๊ธฐ์กด์ ํ๋ ๊ฒ์ํ์ ์ปจํธ๋กค๋ฌ jsp๋ฅผ ์จ์ ๋ง๋ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ํ ์ ์๋ค. boardController.jsp 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Colored by Color Scripter cs ๋ฐ์ดํฐ๋ฅผ ๋๊ฒจ์ค ๋ request.setAttribute("name", "value"); ๋๊ฐ์ง ๋ฐฉ์์ผ๋ก ๋๊ฒจ ์ค ์ ์๋ค. ์ ์๋ ๋ค์ request.getAttribute๋ก ๋ฐ์์ผํ๊ณ ํ์.. Web programming 2022. 11. 21. (22.11.18)Web ํ๋ก๊ทธ๋๋ฐ: ๊ฒ์ํ CRUD(JSP ๊ฐ๋ฐ๋ฐฉ๋ฒ๋ก Model1) ํ์์ ๋ณด ์ญ์ ํ๊ธฐ ํ์์ ์์ธ๋ณด๊ธฐ ์์ ์ญ์ ๋ฒํผ์ ๋๋ฅด๋ฉด ์ ๋ง๋ก ์ญ์ ํ ๊ฒ์ธ์ง ๋ฌผ์ด๋ณด๊ณ ํ์ธ์ ๋๋ฅด๋ฉด ์๋ฒ์์๋ ์ญ์ ๊ฐ ๋๊ณ ๋ฆฌ์คํธ๋ฅผ ๋ณด์ฌ์ฃผ๊ฒ ํ๋ผ memDetail.jsp 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 ํ์์ ๋ณด ์์ธ๋ณด๊ธฐ function deleteMember(num) { if(!confirm("์ ๋ง๋ก ํ์ฌ ํ์ ์ ๋ณด๋ฅผ ์ญ์ ํ๊ฒ ์ต๋๊น?")) return; $.ajax(.. Web programming 2022. 11. 18. (22.11.17)Web ํ๋ก๊ทธ๋๋ฐ: ํ์์ ๋ณด ๋ฆฌ์คํธ ๋ณด๊ธฐ,์์ธ ๋ณด๊ธฐ, ์์ ํ๊ธฐ(jsp, jsp:Bean ์ก์ ํ๊ทธ) ์ ์ฅ๋ ๋ฆฌ์คํธ๋ฅผ ํ์ธํ ์ ์๋ ํ์ ์ ๋ณด ๋ฆฌ์คํธ ๋ง๋ค๊ธฐ (๋ชจ๋ธ ํด๋์ค์ ์์ธํ ๋ด์ฉ์ ์ด์ ๋ด์ฉ์ ์ฐธ๊ณ ) memJoin.jsp 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 ํ์๊ฐ์ main { width:fit-content; border:1px solid black; padding:1em; mar.. Web programming 2022. 11. 17. (22.11.16)Web ํ๋ก๊ทธ๋๋ฐ: ํ์ ๊ฐ์ ๋ฑ๋ก(JSP, jsp:Bean ์ก์ ํ๊ทธ) JSP ๊ฐ๋ฐ ๋ฐฉ๋ฒ๋ก Model1 ํ์ ๊ฐ์ ๋ฑ๋ก ํผ ๋ฐ ์ฒ๋ฆฌ (memJoin.jsp, joinProc.jsp, Member, MemService.java) ์ก์ ์ฌ์ฉ ์ด๋ฆ, ์ฑ๋ณ, ์์ผ, ์ด๋ฉ์ผ, ๊ฒฝ๋ ฅ์ฐ์, ๊ด์ฌ ๊ณผ๋ชฉ(5๊ฐ ์ด์ ์ ์), ๊ฐ์ธ ์๊ฐ, ํ์์ ๋ฒํธ๋ ์ ๋ ฅ ์(๊ฐ์ ์)์ผ๋ก ์ง์ ์๋ฒ์ธก์์๋ List๋ฅผ ์ฌ์ฉํ์ฌ ์ง๋ ฌํํ์ฌ ํ์ผ์ ์ ์ฅ(member.ser) ์ ์ฅ๊ฒฐ๊ณผ๋ฅผ ์ด์ฉ์์๊ฒ ์๋ฐ ์คํฌ๋ฆฝํธ alert()๋ก ํ์ ์ ์ฅ ๊ฒฐ๊ณผ ๋ฉ์์ง๋ฅผ ํ์ํ ํ์๋ ํ๋ฉด์ ๋ณ๊ฒฝ์ ์๋๋ก ํจ ํผ๋ฐ์ดํฐ ์ ํจ์ฑ ๊ฒ์ฌ ํ์ memJoin.jsp 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 .. Web programming 2022. 11. 17. (22.11.10)Web ํ๋ก๊ทธ๋๋ฐ: AJAX ๋ฐฉ์์ ์ด์ฉํ ์น ๊ตฌ์ถํ๋ก๊ทธ๋๋ฐ(JSON, MVC) userList.jsp ํ๋จ์ [๋ช ๋จ ๋ณด๊ธฐ] ๋ฒํผ์ ์์ฑํ๊ณ ๊ทธ ๋ฒํผ์ ํด๋ฆญํ๋ฉด alert ์ ๋ชจ๋ ์ด์ฉ์์ ์ด๋ฆ์ด ํ์๋๋๋ก ํ๋ผ ์๋ฒ์ธก์์ ๋ชจ๋ ์ด๋ฆ์ ๊ตฌํ์ฌ JSON๋ฐฐ์ด ํ์์ ๋ฌธ์์ด๋ก ์๋ตํ๋ฉด ์๋ฐ์คํฌ๋ฆฝํธ์์๋ ๊ทธ ๋ฌธ์์ด์ ์์ ํ์ฌ JSON.parse(str)๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฐ์คํฌ๋ฆฝํธ๋ฐฐ์ด์ ์ฌ์ฉํ ์ ์๋ค. java๋ฅผ ์ฌ์ฉํ json๋ฐฐ์ด ํ์์ ๋ฌธ์์ด ์์ฑ๋ฒ String strArr = "[\"Smith\", \"Mary\"]" (๋ฐธ๋ฅ์ ์ฐ์) out.println(strArr) json simple ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ jsonarray ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ฉด ์ฝ๊ฒ json๋ฐฐ์ด์ ํ์์ ๋ฌธ์์ด ์์ฑ ๊ฐ๋ฅ ๋ฌธ์์ด >1 json ์ค๋ธ์ ํธ >2 json ๋ฐฐ์ด ์๋ฒ์์ ํ ์คํธ๋ฅผ ๋ณด๋ด์ ๋ธ๋ผ์ฐ์ ์์ ๊ฐ์ฒด๋ก์ ๋ถ๋ฆด ์ ์.. Web programming 2022. 11. 10. ์ด์ 1 2 ๋ค์