분류 전체보기
-
1004. BS4 Carousel로 홈페이지에 이미지 삽입하기카테고리 없음 2023. 10. 4. 17:32
tavel_img_random.sql 파일 -- mysql 의 이미지 랜덤 섞기 select * from travel order by rand() limit 5; 쿼리 실행할 때마다 다르게 섞인다. 랜덤 이미지 뽑기 domain의 travelVO에 해당 코드 입력 0~4 범위이므로 +1하기. %03d : 001 번, 002번,, 등을 말함 no : 1이면 %03d로 볼 때 001로 취급 i : 앞의 %d에 해당 TravelVO package org.galapagos.domain; import java.util.ArrayList; import java.util.List; import java.util.Random; import javax.validation.constraints.NotBlank; impor..
-
0926. 답글 처리(서버 + 클라이언트)Spring 2023. 9. 27. 17:42
보호발행인데 왜 보이지.. 🌱 서버 - REST API 컨트롤러 만들어서 @RestController 사용 - RequestBody : 모델객체 만들 때 application/json 파일 복원 클라이언트 - Ajax : $.ajax() promise 객체 / fetch() async/await 📍서버 측 설계 비버 열어서 comment에 대한 foreign key 를 cno로 등록하기 필수요소 : cno, content, writer tbl_reply 답글 테이블 생성 tbl_reply.sql drop table if exists tbl_reply; create table tbl_reply ( no integer auto_increment primary key, cno integer not null, ..
-
0925. 댓글 화면 출력(댓글 작성, 수정-확인 및 취소, 삭제)Spring 2023. 9. 25. 18:55
🌱댓글 화면 출력 댓글이 화면상에 보이게 할 것이다. [구현할 기능] 댓글 목록보기 새 댓글 작성(작성자 아닌 회원만) 댓글 수정(수정 확인 + 수정 취소) 댓글 삭제 * JSON JS Object 를 JSON 문자열로 바꾸는 것 : 직렬화 JSON 문자열을 JS Object 로 바꾸는 것 : 역직렬화 parse( ) - 문자열을 해석해서 처리하는 역할 📍rest.js 작업 댓글 등록 ⭐method, headers, body를 잘 봐야 한다. rest.js 에 추가 //fetch의 메서드 옵션을 post로 지정 async function rest_create(url, data) { try { let res = await fetch(url, { method: "POST", headers: { "Conten..
-
0922. 게시글 버튼 수정(권한에 따라 숨기기)카테고리 없음 2023. 9. 23. 11:07
상세보기에서 로그인을 안 해도 수정이나 삭제 버튼이 보이는 문제를 수정해야 한다. get.jsp => menu.jsp 에서 principal을 username으로 저장해 놓았기 때문에 get.jsp에서 if로 쓸 수 있는 것이다. modify에서 수정기능도 고치기 modify.jsp 글 수정 제목 내용 확인 취소 돌아가기 +) post 전송했는데 한글 안 깨지는 이유 package org.galapagos.config; import javax.sql.DataSource; import org.galapagos.security.CustomUserDetailsService; import org.springframework.beans.factory.annotation.Autowired; import org.sp..
-
0922. 댓글처리 Ajax, REST APISpring 2023. 9. 22. 17:51
🌱서론 자바스크립트는 멀티스레드를 지원하지 않기 때문에 비동기로만 할 수 있다. 지금까지는 데이터를 form 태그를 사용한 1, 2번 방식으로 보냈다. 1. 이름 = 값&이름=값& ... => default 인코딩 : 제일 많이 씀 2. header 띄우고 body ...=> multipart 인코딩 : 바이너리파일 이제 나오는 건 자바스크립트로 표현할 때 쓰는 Ajax 형식이다. { "키" : 값, "키" : 값 ... } => application/json 인코딩 : Ajax 📍Ajax Asynchronous Javascript and XML (비동기 자바스크립트와 XML) 페이지의 이동(깜빡임) 없이 자바스크립트로 서버와 통신하는 기법이다. 최근 데이터 표현 : xml < Json *전송과 응답 시..
-
0921. 회원가입정보 저장하기카테고리 없음 2023. 9. 21. 18:35
Ajax Asynchronous 비동기 *모든 I/O 자바스크립트는 비동기 (통신) JSON 서버로부터 데이터를 받으려면 요청을 보내야 서버가 응답을 할 때 응답 속에 데이터가 들어있다. 1. 브라우저 창에 주소 입력 2. 주소 지정 3. form = action에 주소 지정 => 요청하면 브라우저가 페이지를 바꿔서 다시 렌더링을 해야하는 번거로움이 있다. 전체 페이지는 유지하면서 페이지변경은 안 하고(브라우저가 현재 페이지 유지) 그럼 브라우저 자체가 요청을 보낼 수는 없고(그럼 바뀜) 자바스크립트가 서버와 개별통신을 하면 (요청 & 응답) 수신한 데이터를 가공해서 동적으로 화면에서 동조작을 통해 업데이트 하는 것이다. ex) 지도, 메일, 댓글처리 => 거의 대부분 Ajax 기술을 내포 SignUp(..
-
0920. UserDetail카테고리 없음 2023. 9. 21. 18:35
UserDetail 사용자 정보를 데이터베이스에서 처리하기 위해 UserDetail 사용하기 하나의 유저가 여러 권한을 가지고 있다는 뜻 primary key(username, auth), jsp에서 로그인한 사용자 정보 보여주기 principal 본인(주체) 로그인한 당사자를 나타내는 단어 principal 파트가 (로그인 안 해서) null이면 에러가 뜬다. 로그인 url 에서 직접 로그인해서 들어가야 한다. 디비버 DB 추가 drop table if exists tbl_member; create table tbl_member( username varchar(50) primary key, password varchar(128) not null, email varchar(50) not null, reg..
-
0918. Spring Form Tag 라이브러리Spring 2023. 9. 20. 09:04
Spring Framework JSP Form Tag Library ○ 모델 객체를 Form에 자동으로 바인딩해줌 ○ taglib 디렉티브 select, checkbox, radio button 등을 사용할 때 편하다. form 태그 라이브러리를 사용하면 유효성 검사로 에러메시지 출력을 쉽게 할 수 있다. v Spring Framework JSP Form Tag Library 새 패키지 ex03 starter에서 복사 후 pom.xml에서 ex03으로 수정 views에 layout폴더 복사(헤더 등 jsp) domain 폴더 생성 후 MemberVO (난 @Data도 추가) Contoller 폴더에 TestController 생성 - join 사용 - get처리에도 모델객체 제시 - post에 error..