최근에 비동기식으로 api를 호출해야 할 일이 있었다. [Controller] for{ BasicService.함수A(); } [BasicService] @Async 함수A() 대략 이런 구조로 짰는데, 개발서버에서는 문제없이 기동되더니 운영에서 톰캣을 기동하니 문제를 일으켰다. 대략적인 내용은 in its raw version as part of a circular reference, but has eventually been wrapped. This means that said other beans do not use the final version of the bean. ~~~ 블라블라 구글링해보니 순환참조 때문이라는데 순환참조는 각각의 빈들을 서로서로 참조하다가 엉켜버리는 상황인 듯 하다. A->..
redirect 경로가 헷갈렸었는데, 이번에 확실히 정리해봄@RequestMapping(value = "/path1/path2", method = RequestMethod.GET)public String pathEx(HttpServletRequest request) throws Exception {return "redirect:path3";} 이런 코드가 있을때, redirect 경로는 1) (/)가 없을때 : "redirect:path3" => contextPath/path1/path32) (/)가 있을때 : "redirect:/path3" => contextPath/path3
1) configuration.xml 파일 생성 및 작성 (경로 :/프로젝트명/src/main/webapp/WEB-INF/config/configuration.xml) 테스트hiworld deerfrd 2) configuration.xml 파일을 context-common.xml 파일이라던지, action-servlet.xml 파일같은 곳 한곳에 하단의 bold체로 기입된 내용을 추가 이렇게 설정된 xml 파일의 BLOG_NAME, MY_NAME 변수값을 다른 java 파일에서 불러오고자 한다. 3) java 파일에서 configuration.xml 에 설정된 변수값 가져와서 사용하기//configuration.xml 에서 해당 값 불러옴@Value("#{config['BLOG_NAME']}") Stri..
스프링MVC에서 인터셉터를 통해, preHandle 메소드를 통해 Controller들을 호출하기 전에 인터셉터를 수행하여, 세션에 값이 안들어있는(비어있는) 상태면 login페이지로 redirect 해주는것은 알 것이다.근데 사이트의 모든 페이지에서 상단의 로직을 타게 하고 싶어서 mapping path를 /** 로 줬는데, 크롬에서 '리디렉션한 횟수가 너무 많습니다' 라는 에러 페이지가 자꾸떴다 ㅜㅜ.. 문제는 바로 이 부분, if(id == null){response.sendRedirect("/hiworld/login.do");return false;}id(세션에 있는 id값)가 없을때, /login.do로 리다이렉트 되도록 설정해 두었는데, 문제는 내가 mapping path를 전체로 줘서 /lo..
Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/codehaus/jackson/map/ObjectMapper 스프링 초기 설정시에, 라는 오류가 발생하면 해당 라이브러리가 다운받아 지지 않은거임 pom.xml에 하단내용을 추가해주면 됨. org.codehaus.jackson jackson-mapper-asl 1.9.13 org.codehaus.jackson jackson-core-asl 1.9.13
나중에 다시 설정해야할 때 캡쳐랑 같이 올리고지금은 글로만 사전 준비1) 이클립스 다운 - 압축 D드라이브에 특정 폴더에 해제 -> 설치완료 2) JDK 다운 - 얘는 exe파일 받아서 설치하면 디폴트로 C > ProgramFiles > Java 안에 깔림 (그냥두자)3) 톰캣 다운 - 얘도 압축 D드라이브 특정 폴더에 해제 -> 설치완료 실제 셋팅1) 내 컴퓨터 우클릭 -> 속성 -> 고급 시스템 설정 -> 고급 -> 환경변수 -> 시스템변수 -> 새로만들기1. 변수이름에 CATALINA_HOME 하고, 변수 값에 톰캣폴더 있는 전체 경로 (톰캣 버전 8.5.8 버전을 받았다면 '~apache-tomcat-8.5.8' 끝이 이렇게 끝날 때 까지의 경로 넣어줌2. 변수이름에 JAVA_HOME 하고, 변수..