IT, 프로그래밍/Spring
-
Spring - Google Login API 연동 (No Library)IT, 프로그래밍/Spring 2020. 9. 14. 22:43
2년전 제가 쓴 글인 스프링 Google Login 연동 포스팅이 그동안 많은 관심을 받았습니다. 검색해보니 구글 검색에 상단에도 노출이 되더군요. 댓글로도 많은 의견을 주셨는데, 그 중 라이브러리가 제대로 동작하지 않는다는 의견이 많았습니다. 그래서 이번에는 라이브러리 없이 오직 구글에서 제공하는 OAuth API를 통해 구글 로그인, 사용자 정보를 가져오는 기능을 구현해 보겠습니다. 만약 OAuth의 개념이 아직 익숙하지 않으신 분들은 제가 작성한 OAuth 포스팅을 먼저 보시면 많은 도움이 되실겁니다. OAuth 프로토콜의 이해와 활용 1 - 필요성과 역사 WWW(World Wide Web)가 세상에 나온 지도 거의 30년이 되었고, 그동안 세상은 눈부시게 발전했습니다. 전화선을 꽂아 쓰던 PC통신..
-
Junit 으로 세션 테스트시 발생하는 오류 해결IT, 프로그래밍/Spring 2019. 2. 12. 16:45
java.lang.NoClassDefFoundError: javax/servlet/SessionCookieConfig Junit으로 테스트 케이스를 만들어 세션에 어떤 작업을 할 때, MockHttpSession 객체를 생성하게 되는데, 서블릿 버전 3.1 이하에서는 SessionCookieConfig 클래스를 찾지 못하는 오류가 발생한다. 서블릿 jar 파일을 3.1 버전으로 업데이트 해 주면 해결된다. 1234567 javax.servlet javax.servlet-api 3.1.0 provided Colored by Color Scriptercs
-
Spring Tiles 설정IT, 프로그래밍/Spring 2018. 10. 17. 11:23
Tiles는 레이아웃의 재사용성 높여주고 동적으로 배치시켜 줄 수 있는 신기한 라이브러리 입니다. 타일즈를 사용하면 뷰의 종류에 따라 레이아웃 배치를 동적으로 구성할 수 있는데요, 간단하게 설명을 드리면 이런식으로 뷰 마다 레이아웃 구성이 달라지게 되는데, 이럴 경우에 jsp 뷰 페이지 마다 미리 만들어 놓은 컴포넌트들(메뉴바, Footer..)을 일일이 include 시켜줘야 하는 노가다가 필요합니다. 노가다로 include 시킨 후에도 문제가 있습니다. 기존에 삽입시켰던 메뉴바의 이름을 변경하거나 아예 빼야한다면? 몇 페이지 정도는 괜찮을 지 몰라도 수십 페이지가 넘어가는 프로젝트에서는 정말 끔직하겠죠. 타일즈를 쓰면 레이아웃 배치를 결정하는 템플릿을 만들어, 구현하려는 뷰에 상속시킵니다. 그러면 하..
-
스프링 restTemplate + JAXB + 공공데이터 API로 공휴일 정보 받기IT, 프로그래밍/Spring 2018. 10. 3. 18:14
서비스를 만들다보면 평일과 휴일로 나누어 정보를 제공해야 하는 경우가 있습니다. 예를 들면 운영시간표가 주말과 평일이 다르거나 하는 경우에 나눠 줄 필요가 있는데, 주말 같은 경우는 Java에서 제공해 주는 Date 관련 클래스로 간단하게 처리를 하면 되지만 공휴일 같은 경우는 제공해 주지 않습니다. 한국에 있는 공휴일은 현재 공공데이터 API를 통해서 받아볼 수 있으니 활용 해 봅시다. https://www.data.go.kr/dataset/15012690/openapi.do 만약 안나오시는 분들은 공공데이터 api 페이지로 가셔서 '특일 정보'라고 검색하시면 나옵니다. 가운데 보시면 상세기능이 있습니다. 여기서 공휴일 정보를 클릭 해 줍시다 여기에 보시면 활용신청이 있는데요. 공공데이터 api 서비스..
-
cvc-elt.1: Cannot find the declaration of element 'beans' ..IT, 프로그래밍/Spring 2018. 9. 16. 02:13
서버에서 DTD에 선언한 http://www.springframework.org/schema/beans 에 접근하지 못하는 경우에 생기는 에러이다. 보통 아래와 같은 문제에서 발생한다. 1. 스프링 버전과 DTD에 선언한 빈즈 버전이 다를 때2. 오타가 있을때 나의 경우는 네임스페이스가 틀려서였다. xmlns:beans="http://www.springframework.org/schema/beans" 이렇게 선언되었던 부분을 xmlns="http://www.springframework.org/schema/beans" 이렇게 고쳐서 해결하였음. 정확한 원인은 자세히 조사후에 다음에 추가하겠음..
-
Spring-MongoDB 연동 중 유의사항IT, 프로그래밍/Spring 2018. 9. 14. 00:23
Spring 버전과 MongoDB dependency 버전 호환성을 잘 맞춰야 한다. 특히 org.springframework.data 버전이 최신 버전으로 사용하고 있다면, 스프링 버전도 최신 버전으로 맞춰야 하는듯 하다. (스택오버플로에 관련 이슈가 많이 보인다) 현재 설정 : 123456789101112131415161718192021222324252627282930313233 5.0.8.RELEASE org.springframework.data spring-data-mongodb 2.0.10.RELEASE org.mongodb mongodb-driver 3.8.1 Colored by Color Scriptercs
-
redirect시 parameter 전달IT, 프로그래밍/Spring 2018. 9. 6. 13:06
Home Controller에서 Board Controller로 파라미터값 리다이렉트 GET으로 pageNum값 전달 12345678@RequestMapping(value = "/", method = RequestMethod.GET) public String home(RedirectAttributes redirect) { redirect.addAttribute("pageNum", 1); return "redirect:/board/getBoardMain"; } Colored by Color Scriptercs RedirectAttributes 통해서 전달 가능. 받는쪽은 RequestParam으로 매핑하면 됨 123456789 @RequestMapping(value="/getBoardMain", metho..