본문 바로가기

분류 전체보기

(135)
스프링 MVC Controller(ResponseEntity) 타입 Web을 다루다 보면 HTTP프로토콜의 헤더를 다루는 경우도 종종 있다. 스프링 MVC 의 사상은 HTTPServletRequest나 HTTServletResponse를 직접 핸들링 하지 않아도 이런 작업이 가능하도록 작성되었기 때문에 이러한 처리를 위해 ResponseEntiy를 통해서 원하는 헤더 정보나 데이터를 전달할 수 있다 ResponseEntity는 HttpHeaders 객체를 같이 전달할 수 있고, 이를 통해서 원하는 HTTP 헤더 메시지를 가공하는 것이 가능하다. ex07 의 경우 브라우저에서는 JSON 타입이라는 헤더 메시지와 200ok 라는 상태코드를 전송한다 음 여기서 ResponsEntity 를 사용하는 이유가 궁금할수도 있다. Spring에서는 HttpEntity란 클래스를 제공하..
스프링 MVC Controller(@InitBinder) 파라미터의 수집을 다른 용어로는 "binding(바인딩)" 이라고 한다. 변환이 가능한 데이터는 자동으로 변환되지만 경우에 따라서는 파라미터를 변환해서 처리해야 하는 경우도 존재한다. 예를 들어 화면에서 2018- 01- 01 과 같이 문자열로 전달된 데이터를 java.util.Date 타입으로 변환하는 작업이 그러하다. 스프링 Controller에서는 파라미터를 바인딩할 때 자동으로 호출되는 @InitBinder를 이용해서 이러한 변환을 처리할수 있다. 이클래스는 특별하게 dueDate 변수의 타입이 java.util.Date 타입이다 만일 사용자가 2018-01-01 과 같이 들어 오는 데이트를 변환하고자 할 때 문제가 발생하게된다. 이러한 문제의 간단한 해결책은 @InitBinder를 이용하면된다...
스프링 MVC Controller 스프링프레임워크를 접하고 나서 그냥 지나쳤던 어노테이션이 @Controller 이다 이전에는 무조건 쓰라고 해서 썻지만 확실하게 개념을 잡고 가고 싶어서 포스팅한다 오늘도 게시판 삭제랑 댓글 처리 작업 하면서 Controller이 Model과 View 사이의 상호 작용을 관리해주는 녀석인건 알지만 명확하게 모르는거 같아서 일단 책을 보고 정리해보고자 한다 스프링 MVC의 Controller 스프링 MVC를 이용하는 경우 작성되는 Controller는 다음과 같은 특징이 있다. HttpServletRequest,HttpServletResponse를 거의 사용할 필요 없이 필요한 기능을 구현할수 있다 프로젝트 하면서 사용하긴 했지만 Servlet을 이용할때보다 많이 사용하지는 않았다. 다양한 타입의 파라미터..
상속과 구현의 차이점 교육이 끝나고 혼자서 프로젝트를 진행하고 있는데 문득 드는 생각이 상속과 구현체의 차이점이 뭘까? 라는 의문점이 들었고 책에서 본 내용을 내가 이해한바로 요약해보면 상속은 공통된 부모를 가지는것들 끼리 묶음, 구현체는 공통된 기능을 하는것들 끼리 묶음 ,concrete 메소드는 상속되고,abstract 메소드는 구현하는거고 음 ~ 이렇게 이해를 하고 있는데 정확한건지는 모르겠다 구글링을 해봐도 대체 무슨소리인지 .. 왜이리 다들 어렵게 설명하는지.. 구글링을 통해서 찾아봤다 구글구글구글 만약 구글이 없었다면 난 코딩을못,, ㅋㅋㅋㅋ 일단 찾아 보니 is- a 를 상속관계라고 하고 caon-do가 인터페이스 상속이라고 나온다 그러면 is-a, can-do 가뭐지?... 처음본다 ㅎ ㄷ ㄷ 위키피디아에서 찾..
SpringSecurity(Authentication) 인증 부가기능 사용자가 인증을 요청을 하게되면 AuthenticationFilter 가 인증을 받아서 요청을 처리하게된다 . 이때 사용자가 기본적으로 ID와 Password를 입력 한다 하지만 현재 위엑 그림 상으로는 추가적으로 정보를 전달하고자 파라미터로 전달하는경우다. 추가적으로 전달된 이정보들을 저장해서 인증과정속에서 활용하거나 인증이후에도 이정보들을 참조해서 사용자가 서버자원에 접근 할수 있도록 한다 WebAuthenticationDetails 이 그역할을 하고 WebAuthenticationDetails를 생성하는 클래스가 AuthenticationDetailsSource이다 앞에사도 계속 언급했듯이 사용자가 이증을 요청하게 되면 Authentication(인증객체) 를 생성한다 여기에는 ID 와 Passwo..
@PathVariable(스프링 지향) RestAPI를 사용하면서 다시 공부하고 있는데 @PathVariable 이놈이 명확하게 사용하는 이유를 알고 싶었다 구글링을 해보고 책을 찾아봤지만 그냥 책에서본 내용과 다를게 없다 책에서 봤더 내용은 @PathVariable 사용해서 URL상에 경로의 일부를 파라미타러 사용하기 위해서 썻다 이전 REST방식이 아닐경우 에는 쿼리 스트링 이라는 형태로 파라미터를 이용해서 데이터들이 전달된다. 위에 {}중괄호 부분은 컨트롤러의 메서드에서 변수로 처리가 가능하다. 이정도다 그래서 질문을 남겼다!! 두근두근두근 !! 그렇다 지식을 공유 받고 싶다!!!!!! ㅋㅋㅋㅋ 역시나 여기에는 친절하게 답변 해주시는 분들이 많다 뭔가 궁금한게 해결 된듯한 느낌이였다 중요한 핵심은 변할수 있는 사용자의 정보를 reques..
Oracle(Join ) 유형 및 구분 DB 공부는 항상 해야한다고 생각한다 시간날때 마다 하고 있지만 쉽지가 않다 ㅜ 오늘은 JOIN 에 대해서 정리를 해보고자 한다 기억보다 기록을 하자 Join은 여러 테이블에서 데이터를 가져 오는 구문이다 프로젝트를 하거나 연관성 있는 데이터를 한꺼번에 출력을 해야하거나 할때 꼭 사용한다 그러니 꼭 알아두자 JOI문을 조금더 성능 향상 시키기 위해서는 몇가지의 조건이 있다 테이블 접두어를 사용하여 여러 테이블에 있는 열 이름을 한정한다 테이블 접두어를 사용하여 성능을 향상 시킨다 전체 테이블 이름 접두어 대신 테이블 alias를 사용한다 테이블 alis로 테이블에 짧은 이름을 지정한다 - 이거는 메모리를 적게 사용한다 열 alis를 사용하여 이름은 같지만 서로 다른 테이블에 상주하는 열을 구분한다 SEL..
Project_재능공유플랫폼 1. 프로젝트 개요 1) 팀 소개 KOSTA 교육 과정 중 습득한 지식을 활용하고, 확장하고자 하는 목표를 가진 인원으로 구성됬습니다. 모두 비전공자로 구성되어 있으며, 열정 있게 프로젝트를 진행했습니다. 팀원 모두가 본래 전공에 Web프로그램 개발 기술을 더하여, 기술과 경험을 겸하는 재능있는 인재들이 함께 프로젝트를 진행하게 되었습니다. ▶ 프로젝트 주제 배경 현 시대는 한 가지 직업만으로 충분한 소득을 벌 수 없는 시대입니다. 몇 가지 일을 동시에 하며 돈을 버는 ‘n잡’이 보편화되고 있습니다. 젊은 세대들이 공감하는 공통 키워드는 ‘고용 불안’입니다. 양질의 일자리는 갈수록 부족하고, 치열한 경쟁 끝에 직장에 들어가도 경제저성장 시대에 나를 평생 책임져주는 회사는 없습니다. 결국 한 가지 직업에만..