Web programming24 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. Web programming : RESTful API ๋ RESTful API๋ ๋ฌด์์ธ๊ฐ์? RESTful API๋ ๋ ์ปดํจํฐ ์์คํ ์ด ์ธํฐ๋ท์ ํตํด ์ ๋ณด๋ฅผ ์์ ํ๊ฒ ๊ตํํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์ธํฐํ์ด์ค์ ๋๋ค. ๋๋ถ๋ถ์ ๋น์ฆ๋์ค ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ํ ํ์คํฌ๋ฅผ ์ํํ๊ธฐ ์ํด ๋ค๋ฅธ ๋ด๋ถ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ์๋ ํํฐ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ํต์ ํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์๊ฐ ๊ธ์ฌ ๋ช ์ธ์๋ฅผ ์์ฑํ๋ ค๋ฉด ์ธ๋ณด์ด์ค ๋ฐํ์ ์๋ํํ๊ณ ๋ด๋ถ์ ๊ทผ๋ฌด ์๊ฐ ๊ธฐ๋ก ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ํต์ ํ๊ธฐ ์ํด ๋ด๋ถ ๊ณ์ ์์คํ ์ด ๋ฐ์ดํฐ๋ฅผ ๊ณ ๊ฐ์ ๋ฑ ํน ์์คํ ๊ณผ ๊ณต์ ํด์ผ ํฉ๋๋ค. RESTful API๋ ์์ ํ๊ณ ์ ๋ขฐํ ์ ์์ผ๋ฉฐ ํจ์จ์ ์ธ ์ํํธ์จ์ด ํต์ ํ์ค์ ๋ฐ๋ฅด๋ฏ๋ก ์ด๋ฌํ ์ ๋ณด ๊ตํ์ ์ง์ํฉ๋๋ค. ์ถ์ฒ : https://aws.amazon.com/ko/what-is/restful-api/ REST์ ๊ตฌ์ฑ์์ โญ R.. Web programming 2023. 12. 12. (23.01.27)์ดํด๋ฆฝ์ค์์ ์์ฑํ ํ๋ก์ ํธ๋ฅผ ์ด์์๋ฒ์ ๋ฐฐํฌํ๊ธฐ , ์ดํด๋ฆฝ์ค ๋ฆฌ์กํธ ์ฐ๋ํ๊ธฐ (Eclipse - React) ์ดํด๋ฆฝ์ค์์ ์์ฑํ ํ๋ก์ ํธ๋ฅผ ์ด์์๋ฒ์ ๋ฐฐํฌํ๊ธฐ Eclipse๋ ๊ฐ๋ฐ ํ๊ฒฝ, ๊ฐ๋ฐ ํ ์คํ ํ๊ฒฝ์ ๋ฐฐํฌํ๋ ์ ์ฐจ๊ฐ ์๊ตฌ๋จ ์คํ ํ๊ฒฝ: Tomcat ์๋ ๊ฒฝ์ฐ Tomcat ์๋ ๊ฒฝ์ฐ JAR ํ์ผ๋ก ํจํค์ง : Web App ์๋๊ฒฝ์ฐ ( ex. ojdbc ๋ฑ๋ฑ), Tomcat ์ด ๋ด์ฅ๋ Web App ์ธ ๊ฒฝ์ฐ java -jar myproject.jar application.properties์์ war๋ฅผ jar๋ก ๋ฐ๊ฟ์ฃผ๊ธฐ WAR ํ์ผ๋ก ํจํค์ง : Web Application Archives, Tomcat์ webapps/์์ ๋ณต์ฌ ์์๋ฅผ ๋ณด๊ธฐ ์ํ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ธฐ application.properties ์ค์ ํ ์คํธ์ฉ ์ปจํธ๋กค๋ฌ ๋ง๋ค๊ธฐ ์ปจํธ๋กค์ด ์ ์๋ํ๋์ง ํ ์คํธ clean ํด์ฃผ๊ธฐ install ํด์ฃผ๊ธฐ .. Web programming 2023. 1. 28. (22.12.12)MVC ๋ฐฉ์ ๊ฐ๋ฐ๋ฐฉ๋ฒ๋ก 2 - SQL์ฐ๋ํ์ฌ ๊ด๋ฆฌ์ ์ฌ์ดํธ ๋ง๋ค๊ธฐ โโ๊ด๋ฆฌ์ ์ฌ์ดํธ ๋ง๋ค๊ธฐโโ ์ด์ฉ์๊ฐ ๋ฌธ์ ๋ฅผ ํผ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ ์ฑ์ ์ ํ๊ณ ๋ค์ ํ์ต์ ํ ์ ์๊ฒ ํด์ค๋ค. ์ด์ฉ์์ ํ์ต ํ์คํ ๋ฆฌ๋ฅผ ๋ฐ์์ ๋ณด๊ฒ ๋๋ค. M : AdminVO.java , UserVO.java , HwStatusVO.java , AdminLmsDAO.java V : adminList.jsp , adminDetail.jsp , AdminLoginForm.jsp , userDetail.jsp C : AdminLmsServlet.java Service Class : AdminLmsService.java AdminLmsServlet.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 import java.io.IOExcep.. Web programming 2022. 12. 12. (22.12.11)Web ํ๋ก๊ทธ๋๋ฐ : ์นํ์ด์ง ํค๋ ๋ง๋ค๊ธฐ (include file ์ด์ฉํ๊ธฐ) โโ์นํ์ด์ง ํค๋ ๋ง๋ค๊ธฐโโ โโ์ ์ฒด ์ฝ๋โโ 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 1๋ถ ๋์คํ์ตํ๊ธฐ var uid=''; $(function(){ if(uid=='null'){.. Web programming 2022. 12. 11. (22.12.10)CSS: A ํ๊ทธ ์์ฑ (link, visited, hover, active), HTML ํ ์ด๋ธ ๋ง์ฐ์ค์ค๋ฒ ์ด๋ฒคํธ CSS: A ํ๊ทธ ์์ฑ (link, visited, hover, active) a:link : ๋ฐฉ๋ฌธ ์ ๋งํฌ ์ํ์ด๋ค. a:visited : ๋ฐฉ๋ฌธ ํ ๋งํฌ ์ํ์ด๋ค. a:hover : ๋ง์ฐ์ค ์ค๋ฒ ํ์ ๋ ๋งํฌ ์ํ์ด๋ค. a:active : ํด๋ฆญ ํ์ ๋ ๋งํฌ ์ํ์ด๋ค. ์์ 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 a:link{ text-decoration:none; color: black;} a:visited{ text-decoration:none; color: black;} a:hover{ text-decoration:none; color: white;} a:active{ text-decoration:non.. Web programming 2022. 12. 11. ์ด์ฉ์ ๋์์ ํ์ต ํ์ด์ง ์ด์ฉ์๊ฐ ๋์์์ ํ์ตํ๊ณ ๊ด๋ฆฌ์๊ฐ ํต๊ณผ ์ฌ๋ถ๋ฅผ ํ๋จํ์ฌ ํต๊ณผ ํ๋ฉด ๋ค์๋จ๊ณ ํ์ต์ ์์ํ ์ ์๋๋ก ํ๊ธฐ M : UserVO.java , LHVO.java , Video.java , HwStatus.java , PraticeVO.java , Questions.java , LmsDAO.java V : learn.jsp , Main.jsp , practice.jsp , user_info.jsp , userDetailForUser.jsp , editUser.jsp C : LmsServlet.java Service Class : LmsService.java UserVO.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.. Web programming 2022. 12. 8. (22.12.07)Web ํ๋ก๊ทธ๋๋ฐ: MVC๋ฐฉ์์ผ๋ก ๋์์ ํ์ต ์ฌ์ดํธ -1๋จ๊ณ ์นํ์ด์ง ์ค๊ณ ๋ฐ VOํด๋์ค ๋ง๋ค๊ธฐ ๋์์ ํ์ต ์ฌ์ดํธ - ๊ฐ์์ ๋์์์ Youtube์ ๊ฐ์ธ ๊ณ์ ์ ์ฌ๋ฆฐ๋ค - ๋ก๊ทธ์ธํ ์ด์ฉ์์๊ฒ๋ง ๋์์์ ๋ณผ ์ ์๊ฒ ํ๋ค - ํ๊ฐ์ ๋์์์ ํ์ตํ๊ณ ๋ฐ๋์ ์ค์ต๊ณผ์ ๋ฅผ ์ ์ํ๋ค - ์ค์ต๊ณผ์ ์ ๋ํ ํต๊ณผ ์ฌ๋ถ๋ ๊ด๋ฆฌ์๋ง ๊ฒฐ์ ํ ์ ์๋ค - ์ค์ต๊ณผ์ ๋ฅผ ํต๊ณผํ ํ์ต์๋ง ๋ค์ ๋์์์ ๋ณผ ์ ์๋ค - 3๊ฐ์ ๋์์(1๊ณผ๋ชฉ)์ ํต๊ณผํ๋ฉด 1๊ณผ๋ชฉ ํต๊ณผ์๊ฐ ๋๋ค. - 1๊ณผ๋ชฉ ํต๊ณผ์๋ 2๊ณผ๋ชฉ ํ์ต์ ์์ํ ์ ์๋ค VIEW ๊ตฌ์ฑ Back-end logic (JAVA & DB) ํ์ต์๊ฐ ์ฌ์ดํธ์ ์ ์ํ๋ค -> main ํ์ด์ง๋ฅผ ๋ณด์ฌ์ค๋ค [๋ก๊ทธ์ธ] ๋งํฌ๋ฅผ ๋๋ฅธ๋ค -> ๋ก๊ทธ์ธ ํ์ด์ง๋ฅผ ๋ณด์ฌ์ค๋ค ID, ์ํธ ์ ๋ ฅ ํ [๋ก๊ทธ์ธ] ๋ฒํผ์ ๋๋ฅธ๋ค -> ๋ก๊ทธ์ธ ์ฑ๊ณต/์คํจ ๋ฉ์์ง๋ฅผ ๋ณด์ฌ์ค๋ค โ ์ฑ๊ณต์ด๋ฉด ํ์ฌ ํ์ด์ง๋ฅผ ๊ทธ๋๋ก ๋ณด์ฌ์ฃผ.. Web programming 2022. 12. 7. (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. ์ด์ 1 2 ๋ค์