스터디 모음10 [Spring MVC] 기초 요약 정리 1. @PathVariable (경로 변수) 사용 HTTP API는 리소스 경로에 식별자를 넣는 스타일 선호 /mapping/userA /users/1 @RequestMapping은 URL 경로를 템플릿화 할 수 있다. @PathVariable을 사용하면 매칭 되는 부분을 편리하게 조회할 수 있다. @PathVariable의 이름과 파라미터 이름이 같으면 생략할 수 있다. /** * PathVariable 사용 * 변수명이 같으면 생략 가능 * @PathVariable("userId") String userId -> @PathVariable userId */ @GetMapping("/mapping/{userId}") public String mappingPath(@PathVariable("userId").. 스터디 모음/Spring 스터디 2022. 9. 10. [Spring JPA Basic] 스프링 JPA 기초 간단 요약 1. 권장하는 식별자 전략 SEQUENCE, IDENTITY, 랜덤(복합)키를 사용하는게 좋습니다. 권장 : Long형 + 대체키 + 키 생성 전략 사용 1-1. IDENTITY 생성 전략 특징 MySQL, PostgreSQL, SQL Server, DB2 에서 사용 생성하면 영속성 컨텍스트의 PK값으로 쓰게 된다. IDENTITY 전략은 em.persist() 시점에 즉시 INSERT SQL 실행하고 DB에서 식별자를 조회합니다. 1-2. SEQUENCE 생성 전략 특징 DB에서 값을 얻어와서 Member에 값을 넣어준 후에 commit한다. 1-3. allocationSize (성능 최적화) 미리 메모리에 올려놓는다. 시퀀스 한 번 호출에 증가하는 수 2. 연관관계의 주인 객체의 양방향 관계는 참조가.. 스터디 모음/Spring 스터디 2022. 9. 7. [Web] 서블릿 필터 - 서블릿 실행 전, 후에 특별한 작업 수행하기 (javax.servlet.Filter) 개요 필터라고 많이 들어보시지 않았나요 ? 서블릿 필터는 서블릿 실행 전후에 어떤 특별한 작업을 하고자 할 때 사용합니다. 예를 들어보겠습니다. 저희가 서블릿을 직접 구현 했을 때 한글 인코딩을 위해서 setCharacterEncoding(”UTF-8”) 을 계속해서 집어넣어 줬습니다. 이 작업을 getParameter()로 데이터를 꺼내기 전에 실행시켜 줬습니다. “데이터를 꺼내기 전" 이라는 시점에 “인코딩"이라는 특별한 작업을 해야하는 상황입니다. 저희는 이를 대신해줄 필터를 만들어서 설정하겠습니다. 요약하자면 Filter 인터페이스를 구현하고 DD파일이나 애노테이션으로 설정해두면 됩니다. Filter 인터페이스 구현체 만들기 먼저 javax.servlet.Filter 인터페이스를 구현합니다. 필터.. 스터디 모음/Web 스터디 2022. 8. 11. [Web] 서블릿 초기화 매개변수와 컨텍스트 초기화 매개변수 개요 서블릿 초기화 매개변수와 컨텍스트 초기화 매개변수가 뭔지 아시나요 ? 서블릿 초기화 매개변수는 서블릿을 생성하고 초기화할 때 [Init()를 초기화할 때] 서블릿 컨테이너가 전달하는 데이터입니다. 예를 들어보겠습니다. 데이터베이스 A, 데이터베이스 B가 있습니다. 10개가 있을 때 서블릿 모두 데이터베이스 A에서 데이터를 꺼내와야 합니다. 다른 웹에서는 데이터베이스 A와 B를 각 2개의 서블릿이 꺼내려고 합니다. 이 때 서블릿 초기화 매개변수는 특정 서블릿에서 사용할 정보로 사용하고 컨텍스트 초기화 매개변수는 여러 서블릿에서 공통으로 사용할 정보일 때 사용합니다. 그렇다면 데이터베이스 A만을 사용하는 웹에는 컨텍스트 초기화 매개변수를 이용하고 데이터베이스 A, B를 각각 2개의 서블릿에서 사용하는 .. 스터디 모음/Web 스터디 2022. 8. 11. Servlet과 JDBC 개요 전에 배운 서블릿 (Servlet)을 이용해서 클라이언트가 요청한 데이터를 다뤄보려고 합니다. 아주 기초적인 부분이고 너무 쉬운 구간입니다. 하지만 이러한 기반이 잘 잡혀 계속 생각을 하고 있어야 나중에 성장하는데 무리가 없음에 분명합니다. Servlet에 JDBC를 이용한 JSP 프로그래밍 프로젝트를 여러번 해왔지만 프로젝트를 완성 시키는게 목표가 아닌 기초적인 “웹"을 공부하는데에 목표를 두겠습니다. 서블릿이 하던 일 서블릿이 무슨 일을 했었을까요? HTTP 프로토콜을 준수하며 클라이언트-서버가 통신하기 위한 일정한 규칙을 구현하는데에 편리함을 주는 역할이었습니다. 간단하게 말하면 클라이언트가 요청한 데이터를 다루는 일을 해줍니다. 저희는 이러한 서블릿을 가지고 데이터베이스에 접근할 수 있도록 .. 스터디 모음/Web 스터디 2022. 8. 8. [자바 Java] - 이름 있는 반복문 사용하기 / 반복문 / 2중 반복문 break / for / while [Java] - 이름 있는 반복문 사용하기 / 반복문 / 2중 반복문 break / for / while 저는 2중 for문을 중간에 빠져나오기 위해서 boolean을 추가해서 break하는 경우가 많았습니다. 하지만 이런식으로 구현하게되면 코드가 길어지고 가독성조차 떨어지기 마련입니다. 근데 다른 방법이 있나 생각만하고 계속해서 사용해오다가 자바 기본서를 다시 읽던 도중에 ‘이름 있는 반복문'이라는 파트를 다시 보게 됐습니다 ! 아주 유용하게 사용할 수 있을거 같아서 벌써부터 두근두근 🫣합니다 !! 먼저 break에 대해 아시나요 ? break란 ? break문은 근접한 단 하나의 반복문만 벗어날 수 있습니다. 여러 개의 반복문이 중첩된 경우에는 break문 하나로 모든 중첩 반복문을 벗어나기는 어렵습.. 스터디 모음/Java 스터디 2022. 7. 7. 서블릿 프로그래밍 - 2 / 서블릿 인터페이스를 구현해보자 ! / Servlet / GenericServlet 서블릿 프로그래밍 - 2 / 서블릿 인터페이스를 구현해보자 ! / Servlet / GenericServlet 저는 저번 포스팅 이전에 서블릿에 대해 물어본다면 클라이언트의 요청을 처리해주는 정도로만 얘기 했겠지만 지금은 서블릿은 클라이언트의 요청을 받아 웹 서버와 데이터 전송 간의 규칙을 지켜주는 CGI 프로그램이라고 할 수 있고 실제로 서블릿 컨테이너가 서블릿의 생명주기를 관리해주어 서블릿이 직접 웹서버와 통신하지 않고 서블릿 컨테이너를 거쳐서 통신함으로 CGI 규칙을 직접 개발하지 않고 서블릿 규칙을 통해 훨씬 간편하게 개발이 가능하게 해주는 역할을 하고 있습니다. 여기서 말하는 규칙은 HTTP 프로토콜을 의미합니다. 라고 얘기할 수 있게 됐습니다 ! 이전 포스팅 서블릿 프로그래밍 - 1 :: 너 .. 스터디 모음/Spring 스터디 2022. 7. 2. [Servlet] 서블릿 프로그래밍 - 1 - 너 서블릿(Servlet) 알고 사용하니 - CGI 프로그램 (Common Gateway Interface) 과 서블릿 서블릿 프로그래밍 - 1 :: 너 서블릿(Servlet) 알고 사용하니 :: CGI 프로그램과 서블릿 우리는 웹 애플리케이션을 구현하면서 서블릿(Servlet)을 항상 사용했었습니다. 근데 서블릿이 어디 즈음에서 무슨 역할을 하고 있는지 아시나요? 자바에서는 웹 브라우저와 웹 서버를 활용하여 좀 더 쉽게 서버 애플리케이션을 개발할 수 있도록 서블릿(Servlet)을 제공하고 있습니다. 🤷♂️ : 아니 스프링부트에서 그냥 @Controller에 @GetMapping이런 어노테이션 사용하면 서블릿 사용되는거 아닌가요 그러지 말아줘.. 이번 포스팅을 HttpServlet 이전에 제일 기본적인 Servlet에 대해서 알아보겠습니다 ! (HttpServlet은 다음 포스팅에 …) 2. 먼저 CGI 라는게 뭔데 .. 스터디 모음/Spring 스터디 2022. 7. 2. [Java] 자바 기초 문법 확인해보기 -2 Scanner, print, if java 자바 기초 문법 확인해보기 -2 Scanner, print, if java 이번 시간은 두 번째 시간으로 다시 한번 Scanner, print, if를 사용해보려고 합니다 ! 솔직히 지겨울 수도 있고.. 그만 할 때 되지 않았나 앂지만 아무리 기초라도 내 손에 익고 확실하게 하고 가는 편이 훨씬 좋다고 생각합니다. 이번 시간도 후회하지 않게 열심히 코드를 작성하겠습니다 ! 👏 1) 1번 문제 문제는 다음과 같습니다. 1-1) 요구사항 철수와 영희는 용돈을 같이 사용합니다. 철수와 영희는 이미 10,000원을 가지고 있습니다. 철수와 영희는 시작과 동시에 추가 용돈을 받습니다. 추가 용돈은 콘솔로 입력해줍니다. 5가지 음식이 있습니다. 5가지 음식 각각 콘솔로 가격을 입력받습니다. 5가지 음식 순서대로 음.. 스터디 모음/Java 스터디 2022. 7. 1. [Java] 자바 기초 문법 확인해보기 - 1/ Scanner, print, if / java 처음에는 간단하게 다음과 같이 Scanner, print, if 문만을 사용해서 구현해보는 연습을 했습니다. 점차적으로 범위를 넓힐 계획이고 지금은 단순한 기능을 먼저 잘 사용하기 위해서 이런 식으로 진행하고 있습니다. 다음을 사용해서 구현하겠습니다 Scanner print if 첫 번째, 두 번째 문제의 전체적인 내용은 생략하겠습니다. 두 번째 문제에서 가독성 부분에서 얻을 수 있던 부분이 있어서 아래에 설명 하겠습니다. 1) 두 번째 문제 두 번째 문제를 구현하면서 좀 더 가독성 좋고 클린하게 코드를 짤 수 있게 배웠습니다. 처음에 내가 작성한 코드는 아래와 같습니다. Scanner sc = new Scanner(System.in); System.out.println("정답을 입력해주세요"); int.. 스터디 모음/Java 스터디 2022. 7. 1. 이전 1 다음 반응형