목록코드 정리/Spring Framework (11)
느림보 개발

구현할 기능 : 게시글 수정 및 삭제 전체 흐름 : 게시글 상세 페이지에서 수정, 삭제 기능을 사용할 수 있도록 버튼 생성 후 수정, 삭제에 맞는 로직 작성 수정 같은 경우 → 수정 페이지를 따로 생성하여 원래의 글을 출력하고 그 공간에서 수정할 수 있도록 함 jsp ▶ 글 상세페이지 - 글수정, 글 삭제 버튼 - 파라미터로 dno를 넘겨준다. → 컨트롤러는 dno값을 통해 수정할 글을 불러오게 한다. 수정 삭제 ▶ 글수정 페이지 - 매핑한 주소로 POST 요청 - POST요청이므로 CSRF 토큰을 hidden으로 같이 전송 - 게시글 상세 조회시 dno를 따로 출력하지 않았기 때문에 hidden 으로 심는다. .. 생략 .. .. 생략 .. ▶글 삭제 - 게시글 상세페이지에서 바로 처리되도록 하였다. ..

구현할 기능 : 게시글 목록 조회 및 상세페이지 전체 흐름 : 게시글 목록 구현 후 → 게시글 상세 페이지 구현 Controller ▶ 게시글 목록 조회 - 게시글 목록페이지를 매핑한다. - 스프링 시큐리티가 제공하는 Principal 객체를 사용해서 접속한 사용자의 아이디를 String에 저장한다. - 저장한 아이디를 가지고 boardList를 보여줄 서비스 로직을 시행한다. - 데이터베이스에서 가져온 결과를 Model 객체에 담아 JSP 페이지로 보낸다. ▶ 게시글 상세 - 게시글 상세페이지를 매핑한다. - url 을 통해 게시글 번호(dno)를 파라미터로 넘겨 받는다. - 넘겨 받은 dno를 통해 게시글 상세페이지를 보여줄 서비스 로직을 실행한다. - 데이터베이스에서 가져온 결과를 Model 객체에..

구현할 기능 : 게시글 작성 jsp - 글을 작성할 수 있는 form 을 만든다. - 스프링시큐리티가 적용되어 POST 요청시에는 csrf 토큰을 함께 전송해준다. .. 생략 .. .. 생략 .. Controller - 컨트롤러에서 url 매핑을 한다. - get방식의 url 요청이 들어왔다면 mydiarywrite.jsp 뷰 페이지를 보여준다. - post 방식의 url 요청이 들어왔다면 service 비지니스 로직을 실행한다. - post 요청 수행 후 게시글 목록 페이지로 이동 @RequestMapping("/board/*") @Controller public class BoardController { @Autowired private BoardService service; // 글 작성 GET @..

구현할 기능 : 버튼을 눌렀을 경우, 자신의 현재 위치를 데이터 베이스에 저장한다. 사용한 API : geolocation, 카카오 지도 API 전체적인 흐름 : gelocation을 통해 사용자가 위치하고 있는 위,경도 좌표를 얻은 후 → 카카오 지도 API를 통해 한글주소로 변환 후 → Ajax통신을 통해 데이터베이스에 반영하도록 한다. ▼ geolocation 시 참고사항 크롬 50버전 이후에서는 보안적 이슈로 인해 geolocation은 https 환경 또는 로컬환경에서만 작동됩니다. 웹 브라우저 크롬, 사파리 등이 사용자의 위치 정보를 수집하는 것도 개인정보를 수집하는 것으로 분류하기 때문에 https 환경에서만 작동 가능하게 하였습니다. JSP - 나의 정보 저장하기 버튼을 눌렸을 때 실행되는..

Controller - 찜목록에 대한 요청을 처리하기 위한 컨트롤러를 매핑한다. - session에 있는 사용자 아이디를 String user_id로 저장하여, 사용자의 찜목록의 개수를 세는 로직을 실행하여 likeListCnt에 저장한다. - PageMakerVO 객체 생성하여 setVo에 PageVO에 기본 값을 세팅하고, setTotalCnt에 DB에서 얻어온 값을 세팅한다. - 참조변수 pm을 model객체에 담아 view로 보낸다. - pm와 user_id를 가지고 likeList 찜목록들을 얻어오는 로직을 실행하여 model 객체에 담아 view로 보낸다. @RequestMapping(value="/likeListAll", method=RequestMethod.GET) public void l..

jsp - form 태그 안에 아이디를 입력 받을 수 있도록 한다. . .생략 .. ID or NickName . .생략 .. 🤍 Ajax 통신전 - Ajax통신을 위해 document ready를 해준다. - 간단하게 조회만 하고 돌아올 것이기 때문에 POST방식이 아닌 GET 방식으로 요청을 보냈다. - keyup 이벤트를 통해 키보드로 입력후 Ajax가 실행하도록 설정했다. - form에서 입력 받은 값을 변수로 지정하여 key-value 형태로 /member/idcheck 경로로 보낸다. 🤍 Ajax 통신후 - 통신에서 받아온 정수형의 result 값이 1일 경우에는 DB에서 사용자가 입력한 값이 존재한다는 뜻으로 "이미 사용중인 아이디입니다. " 라는 메세지와 함께 설정한 hidden값을 N으로..

- 전체 흐름 1. 제품 상세 페이지에 접속시, 데이터베이스에서 사용자가 해당 상품에 찜하기 누렀는지의 여부를 가져와서 화면에 결과를 뿌려준다. 2. 찜하기를 누르면 Ajax 통신을 통해 데이터베이스에서 찜 여부를 체크하고 찜반영/취소를 데이터베이스에 반영 한뒤, 정수형으로 결과를 리턴하여 로직에 맞는 기능 수행 Controller - 제품 상세페이지 호출시 찜 여부를 확인해 출력해야한다. 해당 페이지의 제품번호와 사용자 아이디를 likeVO에 저장해준 뒤, 객체의 변수를 가지고 brinkLike(lvo) 메서드 실행 → DB에서 일치하는 데이터가 있는지 확인 한 뒤 리턴 타입 LikeVO에 담아 반환한다. - DB에서 일치하는 결과가 있다면 객체안에 내용이 있을 것이고, DB에서 일치하는 결과가 없다면..

구현하려는 기능 : 홈페이지 접속시 geolocation을 통해 사용자 위치에 대한 권한 요청후 확인 누를 경우, 위치 정보를 카카오 지도 API에 넘겨 주변에 있는 시설을 출력한다. 사용자 위치 정보 수집 - html5가 제공하는 geolocation을 통해 위치 권한 요청 후 사용자의 위도, 경도를 받아온다. - API를 통해 받아온 위,경도를 변수 lat, lng 에 저장 - latVal, lngVal 에 각각의 값을 저장 → hidden 값으로 페이지에 저장 - lat, lng 값을 가지고 getAddr() 호출 → 도로명 주소로 변환 function getCurrentPlace(){ window.navigator.geolocation.getCurrentPosition(function(positi..

JSP 페이지 우리동네(Town) * 주소검색 더보기 참고 카카오 우편서비스 https://postcode.map.daum.net/guide

회원가입 페이지에서 Ajax 호출하여 처리 - 아이디 체크하면 Ajax가 실행되도록 설정 - url, type, dataType, data 를 설정 - Ajax를 통해 가져온 데이터가 1일 경우 사용 불가능, 가져온 데이터가 0일 경우 사용 가능으로 기능에 맞게 처리 - 가져온 결과가 1일 경우, id=user_id2에 1세팅 → form submit시 1일 경우 submit 못하게 제어! - 가져온 결과가 0일 경우 id-user_id2에 0세팅 $(document).ready(function() { //아이디 중복체크 $('.idCheck').click(function() { //alert($("#user_id").val()); $.ajax({ url : "/member/idCheck", type :..