카카오테크캠퍼스

· DEV/Java
Spring 예외 처리 Spring 프레임워크에서는 @ExceptionHandler, @ControllerAdvice, @ResponseStatus 등의 애노테이션을 사용하여 예외 처리를 합니다. @ExceptionHandler @ExceptionHandler는 @Controller 클래스 내에서 발생하는 예외를 처리하는 데 사용되는 애노테이션입니다. 이는 예외를 처리하는 메서드 내부에서 사용되어야 합니다. @Controller public class ExceptionController { @ExceptionHandler({NullPointerException.class, FileNotFoundException.class}) public String handleException(Exception ex, ..
· DEV/Backend
Session 개요 with Spring 세션은 사용자의 상태와 데이터를 여러 관련 HTTP 트랜잭션(거래)에 걸쳐 유지하기 위한 메커니즘입니다 세션은 Cookie처럼 여러 HTTP 트랜잭션을 아우를 수 있어, 동일한 브라우저에서의 일련의 요청과 응답을 그룹화 할 수 있습니다 이를 통해 서버는 사용자의 상호작용을 기억하고 웹 애플리케이션을 탐색하는 동안 상태를 유지하게 됩니다 Spring에서는 standard manager가 세션 객체를 만들고 삭제 등의 관리를 합니다 하지만, 세션 저장소의 편리함의 이면에는 서버 부담이 존재하기 때문에 유의해서 사용해야 합니다. 핵심 원리 세션을 인식하는 방법은 간단합니다. 오고가는 HTTP 트랜잭션에 세션 ID를 붙이면 되죠 세션 ID를 붙임으로써 원래 요청과 응답은..
· DEV/Backend
Cookie 쿠키는 ASCII 문자로만 된 이름과 값의 쌍으로 구성된 작은 정보입니다. 보통 쿠키는 클라이언트 식별 기술로 사용됩니다. 서버에서는 저장된 쿠키를 읽어 사용자를 식별합니다 서버에서 생성 되어 사용자의 브라우저로 전송되어 저장됩니다. 이 때 쿠키에는 유효기간, 도메인, 경로도 같이 포함 되어 전송됩니다 유효기간 쿠키에 저장된 유효기간에 도달하면, 쿠키는 자동으로 삭제 됩니다. 또한, 쿠키에는 상대시간과 절대 시간이 모두 기록되어서, 쿠키가 만료 시기를 결정하는데 도움을 줍니다 경로 사용자가 서버에 요청을 보낼 때마다, 브라우저는 요청의 도메인과 경로가 쿠키의 경로와 일치하는 경우에만 요청과 함께 쿠키를 자동으로 보냅니다 Cookie 왜 쓰는가? 쿠키는 HTTP의 Stateless에 기인한 문..
· DEV/Java
Spring MVC의 Redirect와 Forward 웹 애플리케이션 개발에서는 한 웹 페이지에서 다른 웹 페이지로 네비게이션해야 하는 상황이 발생합니다. Spring MVC에서는 이를 리다이렉트와 포워딩을 통해 구현할 수 있습니다. Redirect 리다이렉트는 두 번의 요청과 두 번의 응답을 포함합니다. 리다이렉트가 발생하면 다음과 같은 과정을 거칩니다 클라이언트가 서버에 요청을 보냅니다. 서버는 클라이언트에게 응답을 보내 다른 URL로 새로운 요청을 보내도록 알립니다. 클라이언트는 지정된 URL로 새로운 요청을 보냅니다. 서버는 새 URL로부터 클라이언트에게 응답을 보냅니다. 리다이렉트는 클라이언트에서 서버로의 두 번의 왕복을 포함하기 때문에 포워드보다 느립니다. Forward 리다이렉트와 달리 포워..
· DEV/Java
Spring MVC에서 @ModelAttribute 이해하기 Spring MVC의 @ModelAttribute 주석은 메소드 인수 또는 메소드 반환 값을 명명된 모델 속성에 바인딩하여 웹 뷰에 노출하는 데 사용됩니다. @ModelAttribute 주석은 다음 두 가지 주요 시나리오에서 사용할 수 있습니다: 1. 메소드 인자 이 시나리오는 주로 양식 처리와 관련이 있으며, 여기서 객체가 요청 매개 변수로 채워진 후 메소드로 전달됩니다. 채워진 객체는 자동으로 모델에 추가됩니다. 예를 들어 사용자가 개인 정보를 제출할 수 있는 양식 페이지를 만들고 있는 상황입니다 우리는 다음과 같은 User 클래스를 가지고 있습니다 public class User { private String name; private St..
· DEV/Java
Servlet Filter Servlet 필터는 Java Servlet 기술의 핵심 기능 중 하나로 웹 애플리케이션에서 요청과 응답을 가로채고 처리할 수 있습니다. 필터는 요청과 응답에 대해 전처리와 후처리 작업을 수행하며, 필요한 경우 수정할 수도 있습니다. 필터는 중복 코드 없이 여러 서블릿에 공통 기능을 적용할 수 있는 방법을 제공함으로써 웹 애플리케이션 작업의 효율성과 효과성을 크게 향상시킵니다. 다음은 Servlet 필터에 대한 주요 포인트를 간결하게 정리한 내용입니다: 주요 특징 구현: 필터는 javax.servlet.Filter 인터페이스를 구현하는 Java 클래스입니다. 다중 필터: 웹 애플리케이션에 여러 필터를 사용할 수 있으며, 필터 매핑 구성에 따라 정의된 순서대로 실행됩니다. 등록 ..
· DEV/Java
Expression Language EL은 JSP에서 Java 코드에 대한 보다 간단한 대안을 제공하는 Java 표현 언어의 약자입니다. EL을 사용하면 JavaBeans 구성 요소에 저장된 애플리케이션 데이터에 더 쉽게 액세스할 수 있습니다. 예제로 알아보자 아래 User 클래스를 생성하고, 서블릿에 요청 속성으로 추가해봅시다 public class User { private String name; private String email; // constructor, getters, setters... } User user = new User(); user.setName("John Doe"); user.setEmail("john@example.com"); request.setAttribute("user"..
· DEV/Java
Servlet의 상태 정보 저장 Servlet의 상태 정보는 크게 4가지가 있다. 어플리케이션, 페이지 컨텍스트, request, 세션 저장소인데, 공부하면서 브라우저에서 쓰이는 것도 동일하지 않나 싶었다 1. 페이지 컨텍스트(Page Context) 현재 페이지의 지속 시간 동안 사용 가능한 저장 영역입니다. 페이지 내에서 여러 번 액세스되는 데이터를 저장하는 데 사용되지만 페이지를 넘어 지속될 필요는 없습니다. 페이지 컨텍스트에 저장된 데이터는 다른 페이지나 구성 요소에서 사용할 수 없습니다. 이는 저장소들 중 가장 좁은 범위이며 저장된 데이터는 현재 페이지 처리가 완료되면 지워집니다. 요청 저장소(Request) 이 저장소 영역은 현재 HTTP 요청 기간 동안 사용할 수 있습니다. 서블릿에서 JSP..
· DEV/Java
Servlet 서블릿은 요청-응답 프로그래밍 모델을 통해 액세스되는 애플리케이션을 호스트하는 서버의 기능을 확장하는 데 사용되는 Java의 클래스입니다. 일반적으로 웹 서버에서 호스팅하는 응용 프로그램을 확장하는 데 사용됩니다. Servlet Lifecycle 서블릿의 수명 주기는 서블릿 컨테이너에 의해 제어되며 다음 단계로 구성됩니다. 아래 과정은 컨테이너가 자동으로 호출을 해주기 때문에 개발자들은 필요한 것들을 채워주기만 하면 됩니다 로드 및 인스턴스화 서블릿 컨테이너는 시작하는 동안 또는 첫 번째 요청이 있을 때 서블릿 클래스를 로드합니다. 서블릿 인스턴스는 Class 클래스의 newInstance() 메서드를 사용하여 생성됩니다. 초기화 서블릿 컨테이너는 init() 메서드를 호출하고 Servle..
berom
'카카오테크캠퍼스' 태그의 글 목록 (4 Page)