분류 전체보기

    인터셉터(Interceptor)란?

    인터셉터(Interceptor)란?

    1. 인터셉터란? Interceptor는 DispatcherSerlvet에서 Handler(Controller)로 요청을 보낼 때, Handler에서 DispatcherServlet으로 응답을 보낼 때 동작한다. 2. 인터셉터 작성법 org.springframework.web.servlet.handler.HandlerInterceptorAdapter 클래스를 상속받거나, org.springframework.web.servlet.HandlerInterceptor 인터페이스를 구현한다. Java Config를 사용한다면, WebMvcConfigurerAdapter를 가지고 있는 addInterceptors 메소드를 오버라이딩 하고 등록하는 과정을 거친다. xml 설정을 사용한다면, 요소에 인터셉터를 등록한다..

    Spring MVC에서 Session 사용하기

    1. @SessionAttributes & @ModelAttribute @SessionAttributes 파라미터로 지정된 이름과 같은 이름이 @ModelAttribute에 지정되어 있을 경우 메소드가 반환하는 값은 세션에 저장된다. 아래의 예제는 세션에 값을 초기화 하는 목적으로 사용되었다. (User 객체가 "user"라는 이름으로 세션에 저장됨) @SessionAttributes("user") public class LoginController{ @ModelAttribute("user") public User setUpUserForm(){ return new User(); } } @SessionAttributes의 파라미터와 같은 이름이 @ModelAttribute에 있을 경우 세션에 있는 객체를 ..

    Session이란?

    Session이란?

    1. Session이란? 클라이언트 별로 서버에 저장되는 정보 이용방법 웹 클라이언트가 서버측에 요청을 보내면, 서버는 클라이언트를 식별하는 session id를 생성. 서버는 session id를 이용해서 key와 value를 이용한 저장소인 HttpSession을 생성. 서버는 session id를 저장하고 있는 쿠키를 생성하여 클라이언트에 전송. 클라이언트는 서버측에 요청을 보낼 때, session id를 가지고 있는 쿠키를 전송. 서버는 쿠키에 있는 session id를 이용해서 그 전 요청에서 생성한 HttpSession을 찾고 사용. 2. 세션 생성 및 얻기 HttpSession session = request.getSession(); (= request.getSession(true);) re..

    쿠키란?

    쿠키란?

    1. 쿠키란? 클라이언트 단에 저장되는 작은 정보의 단위 클라이언트에서 생성하고 저장될 수 있고, 서버단에서 전송한 쿠키가 클라이언트에 저장될 수 있다. 2. 이용방법 서버에서 클라이언트의 브라우저로 전송되어 사용자의 컴퓨터에 저장. 저장된 쿠키는 다시 해당하는 웹 페이지에 접속할 때, 브라우저에서 서버로 쿠키를 전송 쿠키는 이름(name)과 값(value)로 구성된 자료를 저장. 이름- 값 쌍 외에도 주석(Comment), 경로(Path), 유효기간(Max-Age, Expires), 버전(version), 도메인(domain), 보안(Secure), HttpOnly 속성을 저장할 수 있다. 3. 쿠키 정의 쿠키는 그 수와 크키에 제한이 있다. (브라우저 별로 다르다. http://browsercooki..

    상태정보란?

    상태정보란?

    1. 웹에서의 상태 유지 기술 HTTP 프로토콜은 상태 유지가 없는 프로토콜이다. 이전에 무엇을 했고, 지금 무엇을 했는지에 대한 정보를 갖고 있지 않다. 웹 브라우저(클라이언트)의 요청에 대한 응답을 하고 나면 해당 클라이언트와의 연결을 지속하지 않는다. 상태 유지를 위해 Cookie와 Session 기술이 등장했다. 2. 쿠키 사용자 컴퓨터에 저장. 저장된 정보를 다른 사람 또는 시스템이 볼 수 있는 단점 유효기간이 지나면 사라짐 3. 세션 서버에 저장 서버가 종료되거나 유효기간이 지나면 사라짐 4. 쿠키 동작 5. 세션 동작 참조 URL https://www.edwith.org/boostcourse-web-be/lecture/58991/

    DispatcherServlet, MVC 설정

    1. DispatcherServlet을 FrontController로 설정하기 web.xml 파일에 설정 org.springframework.web.WebApplicationInitializer 인터페이스를 구현해서 사용. 단점 : 처음 웹 어플리케이션이 구동 되는 시간이 오래 걸릴 수 있다. Spring MVC는 ServletContainerInitializer를 구현하고 있는 SpringServletContainerInitializer를 제공한다. SpringServletContainerInitializer는 WebApplicationInitializer 구현체를 찾아 인스턴스를 만들고, 해당 인스턴스의 onStartUp 메서드를 호출하여 초기화한다. javax.servlet.ServletContai..

    Spring JDBC

    Spring JDBC

    1. Spring JDBC란? JDBC를 이용해서 프로그래밍을 하게 되면 반복적인 코드가 많이 발생한다. 이러한 반복적인 코드는 개발자의 생산성을 떨어뜨리는 주된 원인이 된다. 이러한 문제를 해결하기 위해 등장한 것이 Spring JDBC이다. 2. JDBC 패키지 org.springframework.jdbc.core : JdbcTemplate 및 관련 Helper 객체 제공 org.springframework.jdbc.datasource : DataSource를 쉽게 접근하기 위한 유틸 클래스, 트랜잭션매니저 및 다양한 DataSource 구현을 제공 org.springframework.jdbc.object : RDBMS 조회, 갱신, 저장 등을 안전하고 재사용 가능한 객체 제공 org.springfr..

    Spring IoC/DI 컨테이너

    Spring IoC/DI 컨테이너

    1. 컨테이너란? 컨테이너는 인스턴스의 생명주기를 관리한다. 생성된 인스턴스들에게 추가적인 기능을 제공한다. 예를 들어 Servlet을 실행해주는 WAS는 Servlet 컨테이너를 가지고 있다고 말한다. 개발자가 서블릿 클래스를 작성했지만, 실제로 메모리에 올리고 실행하는 것은 WAS가 가지고 있는 Servlet 컨테이너이다. Servlet 커테이너는 동일한 서블릿에 해당하는 요청을 받으면, 또 메모리에 올리지 않고 기존의 메모리에 올리간 서블릿을 실행하여 그 결과를 웹 브라우저에게 전달한다. 2. IoC(Inversion of Control) 컨테이너가 코드 대신 오브젝트의 제어권을 갖고 있어, IoC(제어의 역전)이라고 한다. 예를 들어, 서블릿 클래스는 개발자가 만들지만, 그 서블릿의 메소드를 알맞..