CRUD

[TIL] 3주차 주특기 입문ㅣCRUD API 만들기 1편
Spring 입문 주차 개인 과제 이번 주차는 처음으로 개인 과제를 받았다. 스프링 부트를 이용하여 CRUD API를 만드는 것인데 자세한 요구사항은 다음과 같다. 🚩 Goal: "스프링 부트로 로그인 기능이 없는 나만의 항해 블로그 백엔드 서버 만들기" 처음 과제를 마주했을 때는 '이게 되나..?' 싶은 마음이 컸는데 어느새 강의를 다 듣고.. 유스케이스를 그리고.. 프로젝트를 만들고 있는 나를 발견😂 하나하나 알려주는 방식이 아니다 보니 오늘의 궁금했던 부분과 찾아낸 해답들을 정리해보려 한다. 오늘의 궁금증 1. @RequestBody vs @ModelAttribute 둘 다 클라이언트 측에서 보낸 데이터를 객체로 바꿔주는 건 맞는데.. 둘이 어떻게 다르지? RequestBody @RequestBod..
[TIL] JSP 웹페이지 만들기(MyBatis, Member)
✍ Today I Learned 지금까지 JSP의 기능에 대해 공부했다면, 이번엔 제대로 웹페이지를 만들어보자. 기본 게시판 기능, 로그인/로그아웃 기능, 파일 업로드 기능, 댓글 기능 등이 포함될 예정이다. MyBatis 프레임워크를 사용할 것이다. [환경 설정] New → Dynamic Web Project로 새로운 프로젝트를 생성한다. (Generate web.xml deplyment descriptor 체크 필수) 기본으로 생성되던 주석을 삭제한다. Window → Prefernces → Java → Code Style → Code Templates에서 Code에 있는 주석 부분을 전부 지워준다. [web.xml 설정] WEB-INF 폴더에 web.xml 파일을 만들고 다음과 같이 작성한다. 이번..
[TIL] JSP로 CRUD 구현2
✍ Today I Learned [Detail(SelectOne)] List에서 ename을 클릭하면 Detail을 볼 수 있도록 a 태그를 이용해 "detail.em"으로 쿼리 스트링에 empno를 실어 요청한다. 이때 EL태그를 이용하면 훨씬 효율적이다. ${evo.ename} 클릭한 데이터의 empno 정보를 가지고 다음과 같은 순서로 요청한다. Controller → Action(여기까진 request객체) → Service → DAO → 데이터베이스에서 empno로 Select 후 EmpVO 객체를 다시 detail.jsp까지 전달한다. list와 마찬가지로 JSTL을 이용하여 datail.jsp를 작성한다. Action에서 setAttribute를 evo로 설정했기 때문에 jsp에서도 evo로..
[TIL] JS fetch 비동기 통신을 이용한 CRUD
✍ Today I Learned [Read] 서버와 통신하여 가져오는 데이터의 개수를 알 수 없기 때문에 html의 item card를 미리 만들어 놓는 것이 아니라 1개의 card를 데이터 개수만큼 찍어내야 한다. 대략적인 흐름 [클라이언트가 서버에 데이터 요청 -> 서버가 데이터베이스에서 요청된 데이터를 받아옴 -> 그걸 string으로 클라이언트에게 보냄 -> 프론트에서 데이터의 개수만큼 html을 생성 -> 화면단에 출력] button 타입이 submit 일 경우 자동으로 페이지 이동이 되기 때문에 preventDefault() 메서드를 이용해 기본 속성을 막아주어야 한다. [Read - Detail] 비표준 속성(Non-Standard Attribute)이란? html 태그의 속성이 제한적이므로..