본문 바로가기

자바16

스파르타 코딩클럽 [ 웹 개발의 봄, Spring ] - 5주차 배운 것 MySQL을 AWS RDS에 설치 후, 컴퓨터에 연결해보기 ( 데이터를 클라우드에 저장 ) AWS에서 EC2(컴퓨터)를 사고, 프로젝트 배포해보기 도메인을 붙여보기 내용 정리 MySQL을 AWS RDS에 설치 후, 컴퓨터에 연결해보기 AWS RDS에서 MySQL로 서비스를 생성했다. 그리고 누구나 접근할 수 있도록 포트를 열어줬고 ( 기본 생성 시 포트가 막혀있음, 실무에선 접근할 수 있는 IP를 특정함 ) 인텔리제이와 연결! application.properties에서 다음과 같이 설정 spring.datasource.url=jdbc:mysql://나의엔드포인트:3306/myselectshop spring.datasource.username=나의USERNAME spring.datasource... 2022. 1. 22.
스파르타 코딩클럽 [ 웹개발의 봄, Spring ] - 2주차 배운 것 JPA 스프링의 구조 (Controller, Service, Repository) CRUD REST API 내용 정리 JPA - 자바 코드를 SQL로 번역하기 위해 사용 데이터베이스에서 "테이블"은 자바에서 "Domain"으로 표현되고 데이터베이스에서 "SQL"은 자바에서 "Repository"로 표현된다. 테이블을 자바에서 Domain으로 만들기 위해선 어떻게 해야할까? @Entity public class Person { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @Column(nullable = false) private String name; ... } @Entity라는 애노테이션을 붙여 '테이블'임을 나타낸.. 2022. 1. 2.
스프링의 정석 (세션) 배운 것 세션 개념 내용 정리 세션 - 서로 관련된 요청/응답들을 하나로 묶은 것 (원래 요청은 독립적) - 요청을 하나로 묶기위해 쿠키를 이용 - 브라우저마다 개별저장소(session)가 만들어짐 - 쿠키는 브라우저에, 세션객체(저장소)는 서버에 저장 브라우저가 요청을 보내면 서버가 세션아이디를 쿠키에 저장해서 브라우저에 전송 브라우저의 다음 요청부터 쿠키가 같이 전송되어지므로 2번째 요청부터 같은 세션 같은 세션아이디라는 공통점이 생김(그룹화) 같은 세션에 포함되어 있는 동안 세션저장소(객체)이용 가능 세션이 끝나면 새로운 세션아이디 발급 (새로운 세션저장소 이용) 세션객체의 생성 - 브라우저가 요청하면 서버가 무조건 세션객체(저장소)를 만듦 - 세션객체마다 세션아이디를 가지고 있음 - 저장소를 쓸 .. 2021. 12. 28.
스프링의 정석 (쿠키) 배운 것 쿠키 개념 쿠키 사용법 내용 정리 쿠키 - 이름, 값 쌍으로 구성된 정보 / 아스키 문자로만 구성되어야 함 - Domain, path, 유효기간이 포함되어 있음 - 클라이언트 식별 기술 (클라이언트를 구별하기 위함) - 서버에서 생성 후 전송, 브라우저에 저장. 유효기간 이후 자동 삭제됨 - 서버에 요청 시, domain, path가 일치하는 경우에만 요청헤더에 포함되어서 서버로 전송됨 서버에서 생성하고 브라우저에 전송 쿠키를 저장하는 곳은 브라우저 쿠키의 작동 과정 1. 클라이언트가 서버에 요청 2. 서버가 쿠키를 만드는 코드를 실행해서 쿠키를 생성 3. 그 쿠키를 응답에 담아서 브라우저에 전송 4. 서버가 보내준 쿠키가 브라우저에 저장 5. 클라이언트가 서버에 요청했을 때, path가 같으면.. 2021. 12. 28.
스프링의 정석 ( redirect / forward ) 배운 것 redirect forward 내용 정리 Redirect - 요청을 받은 페이지가 Redirect한다. (상태코드 300번대를 반환하고 재요청할 Location을 반환한다) - 응답을 받은 브라우저는 자동으로 Location을 읽어서 재요청한다 - Redirect로 인한 요청은 자동으로 수행된다. - Redirect에 의해서 요청되는 것은 GET요청 - 요청을 2번 @PostMapping("/register/save") public String save(User user, Model m) throws Exception { // 1. 유효성 검사 if(!isValid(user)) { String msg = URLEncoder.encode("id를 잘못 입력하셨습니다.", "utf-8"); // R.. 2021. 12. 28.
스프링의 정석 ( @GetMapping, @RequestMapping, URL인코딩 ) 배운 것 @GetMapping @PostMapping URL인코딩 내용 정리 @RequestMapping을 간단하게 쓸 수 있게 해주는 것이 @GetMapping, @PostMapping @RequestMapping(value="/register/add")// 신규회원 가입 화면 public String register() { return "registerForm"; } @RequestMapping("/register/save") public String save(User user, Model m) throws Exception { // 1. 유효성 검사 if(!isValid(user)) { String msg = URLEncoder.encode("id를 잘못 입력하셨습니다.", "utf-8"); m.a.. 2021. 12. 27.