spring

Spring/SpringMVC

[SpringMVC] rediect와 forward

1.redirect redirect는 브라우저에서 받은 요청을 다른 URL로 재요청한다. 브라우저에서 1.요청을 하면(수동, GET/POST둘다 가능) 헤더에서는 302 즉 다른 URL로 재요청하는 300 Redriect가 입력되고 다른 URL로 요청되는 위치를 Location에 쓰여진다. 2.응답을 받은 브라우저는 새로운 위치(login.jsp)로 3.요청 재요청(자동, GET만 가능)하게 된다. 요청후에 작업이 완료된 login.jsp에서 브라우저로 응답한다. redirect는 요청이 두 번 발생한다. request가 두 번 발생하는 데 두 request는 다르다. 일상생활에 비유하자면 서비스 센터에서 담당이 달라 다른 번호를 알려주고 재연결을 요청하는 것과 유사하다. 예를들어 컴퓨터 AS를 맡기기위..

Spring/SpringMVC

[SpringMVC] 요청과 응답

Web 원격 프로그램 실행 웹은 브라우저 그 자체로 작동하지 않는다. 호출 및 요청을 하는 브라우저와 함께 요청을 받은 내용을 수행하고 결과를 넘겨주는 서버/WAS가 필요하다. 브라우저와 서버는 간단히 연결 할 수 있는데 연결방법을 알아보자. 브라우저에서는 'http://111.222.333.444.8080/ch/hello'를 호출한다. 호출을 받은 서버는 브라우저에서 요구하는 프로그램을 등록하고 브라우저에서 입력한 URL과 프로그램 내의 메서드를 연결한다. 서버에서는 브라우저의 요청에 따라 프로그램을 등록하고 URL과 메서드를 연결해야하는데 @Contoller와 @RequestMapping을 이용해 등록 및 연결을 한다. 프로그램 등록과 URL연결이 끝나면 서버는 결과물을 브라우저에게 보내준다. Htt..

Spring/SpringMVC

[SpringMVC] 데이터 변환과 검증

데이터 변환과 검증 1.변환 1-1.WebDataBinder 요청메시지가 들어오면 쿼리스트링(요청메세지의 빨간줄)의 값은 Map으로 담긴다. Controller인 main객체에서 @ModelAttribute Mydate를 매개변수로 가지면 그림과 같이 MyDate 객체가 생성되고 요청 데이터들이 담기게 된다. 데이터가 넘어가는 중간에 WebDataBinder가 데이터의 타입을 변환하고 검증하는 작업을 한다. Map담긴 데이터의 타입은 String이다 하지만 MyDate에 담긴 데이터의 타입은 Int다. Map에 담긴 데이터가 MyDate에 담기기 위해선 Int 타입으로 변경 해야하는데 스프링에서는 WebDataBinder를 통해 타입 변환을 시킨다. 타입이 변환되면 에러, 결과값을 BindingResul..

Spring/SpringMVC

[Spring MVC] MVC 패턴

1.관심사의 분리 위의 코드는 요일 계산을 코드다. 코드는 크게 입력, 요일 계산, 프로그램(코드) 출력 세 부분으로 나뉜다. 객체지향 설계(OOP설계)의 첫 번째 원칙은 '하나의 메서드는 하나의 책임' 단일책임원칙(SRP)다. 스프링 MVC는 단일 책임에 따라 작성하는 방법론이다. 따라서 위 코드를 MVC 패턴에 따라 작성하면 단일책임원칙에 따라 작성하게 된다. ※객체지향 설계 5원칙 SRP (Single Responsibility Principle) : 단일 책임 원칙 OCP (Open-Closed Principle) : 개방 폐쇄 원칙 LSP (Liskov Substitution Principle) : 리스코프 치환 원칙 ISP (Interface Segragation Principle) : 인터페..

Spring/SpringMVC

[Spring MVC] 예외처리

예외처리 스프링은 try-catch문 뿐만 아니라 다양한 예외처리 방법을 제공한다. 스프링에서 제공하는 다양한 예외처리 방법에 대해 알아보겠다. 1.@ExceptionHandler와 @ControllerAdvice 1-1@ExceptionHandler main메서드와 main2메서드를 살펴보면, 각각 Exception, NullPointerException이 발생할 걸 알 수 있다. 일반적인 예외처리 방식인 try-catch문을 쓰면 각 메서드에 추가적인 코드가 생기지만 @ExceptionHandler를 사용하면 위와 같이 메서드의 예외에 해당하는 예외처리 메서드로 이동하여 코드를 좀더 간결하게 만들 수 있다. 만약 하나의 메서드에서 여러개의 예외를 처리 하고 싶다면 catcher2메서드와 같이 '{}'..

Spring/SpringMVC

[Spring MVC] 쿠키와 세션

1.쿠키(Cookie) 쿠키는 이름과 값의 쌍으로 구성된 작은 정보다. 아스키 문자로만 가능하고 서버에서 생성 후 전송된다. 저장은 브라우저에 가능하고 유효기간이 지난 후에는 자동으로 삭제된다. 서버에 요청할 때 domain, path가 일치하는 경우에만 자동전송된다. 쿠키의 작동과정 쿠키는 브라우저에서 요청하면 서버에서 만든다. 서버에서 만들어진 쿠키는 (1) 브라우저로 전송되며 저장된다. 한번 생성, 저장된 쿠키는 브라우저에 저장되어 따로 (2) 생성할 필요 없이 유효기간이 지나거나 삭제할 때 까지 사용가능하다. 쿠키의 생성,삭제와 변경, 읽어오기 쿠키의 생성 쿠키의 삭제와 변경 쿠키 읽어오기 2.세션(Session) 세션의 정의 "a collection of realated HTTP transact..

기혁씨의 삽질표류기

[스프링 웹프로젝트] java.sql.SQLException 오류

등록 입력 페이지를 만들고 등록 처리를 하기 위해 'Submit Buttom'을 눌렀다 그런데 아뿔사 오류가 떴다. 500 서버오류 내가 코딩을 잘못했다는 오류였다. 또 다시 '하아~' 한숨을 한번 쉬고 로그를 읽어봤다. ---------------------------------------------- INFO: 서버가 [4248] 밀리초 내에 시작되었습니다. INFO : org.zerock.controller.HomeController - Welcome home! The client locale is ko_KR. INFO : org.zerock.controller.BoardController - board: BoardVO(bno=null, title=test 한글, content=test í•..

각시탈코더
'spring' 태그의 글 목록 (2 Page)