일기장
세션(Session)
웹개발 2023. 5. 24. 15:39

안녕하세요, 여러분. 이전 포스트에서는 쿠키에 대해 자세히 알아봤습니다. 오늘은 그와 밀접하게 연관된 또 다른 개념, 세션(Session)에 대해 알아보려고 합니다. 세션도 웹 개발에서 중요한 역할을 하는 컴포넌트로, 사용자마다 개별적으로 상태 정보를 유지하기 위한 도구입니다. 1. 세션(Session)이란 무엇인가? 세션은 서버에서 사용자의 정보를 저장하는 기술입니다. HTTP 프로토콜은 본질적으로 상태를 유지하지 않는(stateless) 프로토콜이기 때문에, 사용자가 페이지를 이동하거나 재방문할 때마다 기존의 상태 정보가 유지되지 않습니다. 세션은 이런 상태 유지 문제를 해결하기 위해 도입된 기술입니다. 기본적으로 세션은 서버에서 제공하는 저장소입니다. 쿠키는 브라우저에 저장되어있고, 세션은 서버에 ..

쿠키(Cookie)
웹개발 2023. 5. 24. 11:32

안녕하세요, 여러분. 오늘은 웹 개발에서 굉장히 중요한 역할을 하는 쿠키(Cookie)에 대해 이야기하려고 합니다. 쿠키는 웹사이트의 기능을 실행하거나 개선하는 데 꼭 필요한 요소입니다. 이 포스트에서는 쿠키가 무엇인지, 어떻게 작동하는지, 그리고 자바 스프링에서 쿠키를 어떻게 다루는지에 대해 알아보겠습니다. 1. 쿠키(Cookie)란 무엇인가? 쿠키는 웹사이트가 사용자의 컴퓨터에 저장하는 작은 텍스트 파일입니다. 쿠키 데이터는 id와 value가 한쌍이 되어 구성하고 있습니다. 웹 사이트를 방문할 때마다 웹사이트는 사용자의 웹 브라우저에 쿠키를 보냅니다. 이 쿠키는 웹사이트가 사용자를 기억하고 식별하게 하여 사용자의 경험을 개선하는 데 도움을 줍니다. 예를 들어 여러분들이 로그인을 할 때 아이디 저장기..

GetMapping, PostMapping
웹개발 2023. 5. 20. 23:02

1. GetMapping @GetMapping은 스프링 프레임워크에서 사용되는 어노테이션 중 하나이다. 이 어노테이션은 HTTP GET 요청을 처리하기 위해 컨트롤러 메서드에 적용된다. @GetMapping은 해당 요청 경로에 대한 처리를 담당하는 메서드를 정의하는 데 사용된다. 예를 들어, 아래와 같은 코드를 통해 @GetMapping을 사용할 수 있다. @GetMapping("/users") public List getAllUsers() { // 사용자 목록을 조회하는 로직 return userService.getAllUsers(); } 위의 예제에서는 "/users" 경로로 들어오는 HTTP GET 요청을 처리하는 getAllUsers() 메서드가 GetMapping 어노테이션으로 표시되어 있다. ..

@RequestsParam, @ModelAttribute
웹개발 2023. 5. 20. 01:47

1. @RequestParam @RequestParam 어노테이션은 요청 파라미터의 값을 받아오는 데 사용됩니다. 요청 URL의 쿼리 문자열이나 POST 요청의 form 데이터에서 값을 추출할 수 있습니다. @RequestParam 어노테이션은 다양한 매개변수를 지원하며, 기본적으로 필수 여부, 기본값, 파라미터 이름 등을 설정할 수 있습니다. @GetMapping("/user") public String getUser(@RequestParam("id") int userId) { //생략가능, 보통 데이터가 기본형일 때 사용 // userId를 활용한 로직 return "user-profile"; } 2. @ModelAttribute @ModelAttribute 어노테이션은 요청 데이터를 해당 모델 객체..

서블릿과 JSP
웹개발 2023. 5. 19. 19:53

1. 싱글톤이란? 싱글톤은 객체를 한 번만 만들어서 여러 곳에서 공유하는 방식입니다. 이렇게 하면 메모리를 절약할 수 있고, 객체의 일관성을 유지할 수 있습니다. 2. JSP와 서블릿의 관계 JSP는 웹 페이지를 만들기 위한 기술입니다. JSP는 HTML 코드 안에 자바 코드를 넣어서 동적인 웹 페이지를 만들 수 있습니다. JSP는 내부적으로 서블릿으로 바뀌어서 실행됩니다. 서블릿은 웹 애플리케이션 서버에서 동작하는 자바 클래스입니다. 서블릿은 클라이언트의 요청을 받고, 처리한 뒤에 응답을 보내는 역할을 합니다. 3. 서블릿과 Spring의 차이점 서블릿은 웹 애플리케이션 개발을 위한 표준 기술입니다. Spring은 서블릿을 기반으로 발전시킨 프레임워크입니다. Spring은 개발자가 웹 애플리케이션을 편..

MVC패턴 예제
웹개발 2023. 5. 17. 12:21

HttpRequest를 입력받고 HttpResponse를 출력하는 프로그램과 쿼리스트링을 GET 방식으로 얻어서 처리하여 view를 반환하는 프로그램은 서로 다른 양상을 띠고 있습니다. HttpRequest와 HttpResponse를 이용한 MVC패턴 프로그래밍 import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.Pr..

HTTP에서 바이너리 파일 다루기
웹개발 2023. 5. 15. 12:52

1. 텍스트 파일과 바이너리 파일 텍스트 파일은 문자열 데이터로 이루어져 있으며, 일반적으로 사람이 읽을 수 있는 형식으로 저장된다. 바이너리 파일은 이진 데이터로 이루어져 있으며, 텍스트 파일보다는 더 복잡하고 다양한 형식의 데이터를 포함할 수 있다. 예를 들어, 이미지, 음악 파일, 동영상 파일 등은 바이너리 파일에 해당한다. 2. MIME MIME(Multipurpose Internet Mail Extensions)은 이메일이나 웹에서 다양한 형식의 데이터를 표현하고 전송하기 위한 메커니즘을 제공한다. HTTP에서도 MIME 타입을 사용하여 데이터의 형식을 정의한다. MIME 타입은 주로 파일의 확장자를 기반으로 결정되며, 각각의 타입은 고유한 식별자를 가지고 있다. 예를 들어, "text/plai..

HTTP에 대한 이해
웹개발 2023. 5. 15. 12:24

1. 프로토콜이란? 프로토콜은 컴퓨터 네트워크에서 통신을 위해 사용되는 규약이다. 이는 컴퓨터 간에 데이터를 주고받는 방식과 규칙을 정의하여 효율적이고 정확한 데이터 교환을 가능하게 한다. 2. HTTP란? HTTP(HyperText Transfer Protocol)는 프로토콜의 한 종류로, 인터넷에서 데이터를 주고받기 위해 사용되는 통신 규약이다. 주로 웹 브라우저와 웹 서버 간의 통신에 이용되며, 클라이언트가 요청을 보내고 서버가 응답을 반환하는 방식으로 동작한다. HTTP는 기본적으로 텍스트 기반의 프로토콜이기 때문에 가독성이 높고, 단순한 구조를 갖는다. 3. HTTP 응답 메시지 HTTP 응답 메시지는 서버가 클라이언트의 요청에 대해 보내는 데이터이다. 주요한 구성 요소로는 상태 코드, 상태 메..