목록Spring (49)
seong
브라우저는 기본적으로 저장된 쿠키를 가지고 간다. Request Header에 필요한 정보를 담아서 필요한 데이터를 View에 뿌려줘보자 쿠키 함수 cookie.getValue() // 쿠키에 설정된 값 cookie.getName() // 쿠키의 키(이름) cookie.setMaxAge() // 쿠키의 유효기간 설정 Controller에서 Form으로 이동할 때 가져가는 코드 작성. "로그인 폼으로 이동할게요" 라는 요청이기 때문에 HTTP의 Request 받는다. 그리고 쿠키는 타입이 배열이다. 배열에 쿠키를 담고, for문으로 필요 부분을 model에 담아준다. 지금은 username만 필요하기 때문에 username을 담아서 간다. @GetMapping("/loginForm") public Stri..
쿠키 브라우저에 Response헤더에 쿠키가 있으면 브라우저의 쿠키에 저장 해주는 HTTP 프로토콜이 있다. 그럼 로그아웃을 하면 session을 하면 session 값은 날라가지만 브라우저를 종료 하지 않았으므로 쿠키에 정보가 남아있게된다. 쿠키 요청 및 응답 브라우저는 쿠키를 저장할 때 직접적으로 바로 접근이 불가능 하기 때문에 서버에 요청을 해야한다. 그럼 서버에서 Response의 Header에 전달 해주면 브라우저에서 쿠키에 저장 하게 된다. 그럼 브라우저에서 쿠키 요청을 따로 해야하는가? 그건 아니다. 브라우저는 항상 요청을 할 때 쿠키의 Jsession을 항상 가지고 간다 -> Default 값이다. Jsession에 쿠키를 담아서 가는 것은 브라우저만 작동한다, 앱은 동작 하지 않기 때문에..
코드 리팩토링 resource에 static 폴더를 만들어준다 앞으로 여기에 css,js,assets등등 필요한 것 들을 넣어 둔다 1. JS 파일 내부에 JS파일 생성 (User를 다루기 때문에 user 생성) 2. 이제 JSP 내부 JS 코드 -> JS 파일로 모두 옮겨주기 script 내부 코드들 모두 Ctrl + x 에 경로 넣어주기 src = "/js/users.js" users.js에 붙여넣기 서버 실행해 개발자 모드로 확인 하기 나머지도 JSP 파일들도 모두 똑같은 방식으로 쭉 실행 JS 코드 내부 실행 함수 메서드화 시켜주기 이 부분을 메서드화 시켜준다. -> Ctrl + x 잘라서 내부엔 메서드만실행 메서드 만들어주기 가장 아래로 이동해 function 메서드명(){} {} 내부에 아까 ..
로그인 만들기 1. Jsp 파일 Form태그 수정 및 Ajax 작성 로그인 2. Controller수정 @PostMapping("/login") public @ResponseBody CMRespDto login(@RequestBody LoginDto loginDto) { Users principal = usersService.로그인(loginDto); if(principal == null) { return new CMRespDto(-1, "로그인 실패", null); } session.setAttribute("principal", principal); return new CMRespDto(1, "로그인 성공", null); } 결과 업데이트 만들기 id 바인딩 시켜서 가져오기(hidden 타입 때문에 클..
Ajax Ajax는 JavaScript로 비동기 통신을 하며, Json데이터를 주고 받을 수 있다. HTML의 부분적인 Reload가 가능하고, 비동기적 통신이 가능 하다. 지금 까지는 Form 태그를 사용해 임시로 데이터들을 통신을 했었다. PUT은 값을 전송을 하지 않고 클라이언트의 요청을 그대로 받기 때문에 Form을 사용할 수 없다. DELETE는 URI에 해당하는 리소스를 제거 하는 요청이기에 Form을 사용 할 필요가 없다. 메서드 FORM태그 전송 AJAX (JS) GET 가능 주소창,하이퍼링크로도 가능 가능 POST 가능 가능 PUT 불가능 가능 DELETE 불가능 가능 가끔 찾다 보면 POST에 Form을 쓰는 사람, Ajax를 쓰는사람이 있는데 모두 사용이 가능하다 Ajax를 통해 Us..
만드는 순서 1. 엔티티 만들기 2. Dao 만들기 3. Mapper(쿼리문) 작성 4. Service 만들기 - 만들면서 필요한 Dto 생성 5. ApiController로 테스트 1. 엔티티 만들기 package site.metacoding.red.domain.boards; import java.sql.Timestamp; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @Getter @Setter public class Boards { private Integer id; private String title; private String content; private Integer usersId; private T..
JS 작성(StringBuilder를 이용) history.back() - 뒤로 가기 역할 location.href - 해당 url로 이동 alert - 경고창 출력 package site.metacoding.red.util; public class Script { public static String back(String msg) { StringBuilder sb = new StringBuilder(); sb.append(""); return sb.toString(); } public static String href(String url) { StringBuilder sb = new StringBuilder(); sb.append(""); return sb.toString(); } public stat..
설계 하기 1. 화면 설계서 (UI) 2. DB 설계 3. 기능 정의 - 모든 기능 다 적기(회원가입, 로그인 , 회원탈퇴 등등) 4. 화면과 기능 매칭 5. 프로그램 만들기 - 수정 보완 ( 애자일 기법으로 추천!) 1. Entity만들기 package site.metacoding.red.domain.boards; import java.sql.Time; import java.sql.Timestamp; import lombok.Getter; import lombok.Setter; @Getter @Setter public class Boards { private Integer id; private String title; private String content; private Integer usersId..