웹프로그래밍/spring~~ 썸네일형 리스트형 intellij로 개발하면서 import가 안될 때 intellij에서 개발하면서 당연히 import 되겠지 하고 소스를 치고 ctrl + space를 하면 원하는 코드가 안나오는 경우가 있다. 그래서 인터넷으로 찾아 수동으로 입력해도 import 되지 못한다. 그럴 경우에는 빨간 부분에 커서를 위치 시켜놓으면 좌측 위에 빨간 전구가 생기는 것을 볼 수 있는데 전구를 클릭해서 상황에 맞는 해결책을 누르면 된다. 아래 상황에서는 메이븐에 spring의존성을 추가 했어야 했다. 더보기 Spring 으로 ajax 사용 할 때~ https://writemylife.tistory.com/43 ajax 기초 설명은 위에 글을 참고 해 주세요~ https://writemylife.tistory.com/98 spring security를 사용하고 있을 때의 ajax 사용은 위에 글을 참고 해 주세요~ Spring으로 ajax를 url mapping을 해서 controller에서 요청을 받아 data값을 parameter로 받을 때, 요청을 처리하고 서버로 반환 할 때 사용하는 annotation에 대해 정리 하려고 합니다. @ModelAttribute 1.파라미터로 넘겨 준 타입의 오브젝트를 자동으로 생성 한다 2.@ModelAttribute 뒤에 써 있는 클래스는 bean class 이어야 한다. 3.그리고 getter, setter.. 더보기 GCP에 그레이들 설치 스프링 부트 의 애플리케이션의 빌드 관리 도구로 그레이들을 사용하기 때문에 젠킨스 서버에서 그레이들을 사용할 수 있도록 설치합니다. sudo yum -y install unzip sudo wget https://service.gradle.org/distributions/gradle-4.9-bin.zip unzip gradle-4.9-bin.zip sudo mv gradle-4.9 /opt/gradle export PATH=$PATH:/opt/gradle/bin 설치가 정상적으로 완료 되면 gradle -v 로 확인합니다. 정상 설치 되었다면 아래와 같은 결과가 나올 것입니다. 더보기 Spring Dispatcher-Servlet이란? Dispatcher-Servlet의 개념 Servlet Container에서 HTTP프로토콜을 통해 들어오는 모든 요청을 프레젠테이션 계층의 제일앞에 둬서 중앙집중식으로 처리해주는 프론트 컨트롤러입니다. 클라이언트가 어떤 요청을 보내면 Tomcat과 같은 서블릿 컨테이너가 요청을 받는데 이때 제일 앞에서 서버로 들어오는 모든 요청을 처리하는 프론트 컨트롤러를 Spring에서 정의 하였고 이를 Dispatcher-Servlet이라고 합니다. DispatcherServlet의 등장으로 Web.xml의 역할이 축소되었습니다. 기존에 으로 작성하던 것이 DispatcherServlet의 역할로 완전히 넘어갔기 때문입니다. cf) Dispatch의 뜻은 보내다 인데요 기억하는데 도움이 될것 같습니다. 더보기 Spring Security에서 Ajax post 방식 사용할 때 Spring Security 적용 이후에는 post 방식을 이용할 때 csrf프로텍션이 적용되서 그렇다고 합니다. CSRF(Cross Request Forgery: 사이트 간 요청 위조)인데 보안 대책으로 필수적으로 요구 된다고 합니다. ajax post방식 사용시 해결 방법은 https://docs.spring.io/spring-security/site/docs/4.2.2.RELEASE/reference/htmlsingle/#the-csrfmetatags-tag 여기 나와있는데 코드가 깔끔하지 못한 것 같아 다른 방법을 찾아서 정리를 해보았습니다. befornSend에서 토큰 값을 보내는 것이 중요합니다. 위에 처럼 meta 태그 를 안쓰고 직접 값을 써서 사용할 수 도 있습니다. 더보기 form 태그의 th:action을 동적으로 바꾸는 방법 form태그에 위와 같이 submit이 2종류가 있으면 각각에 대해 th:action의 url이 바뀌어야 한다. thymeleaf가 아니라면 위와 같은 방법으로 해결하면 된다. 간혹 스크립트의 시작 과 끝에 /* ... /* ]]> */ 를 넣어야 한다는데 안넣어도 잘되서 넣어야 하는지 모르겠다 var th_action_url = /*[[ @{/url/${variable}} ]]*/; th:action의 url은 다음과 같이 /*[[ ]]*/ 사이에 원래 표현식대로 쓰면된다. 더보기 @PathVariable, URL에 파라미터 전달하기 @PathVariable 똑같은 URL을 이용해 파라미터가 없을 경우에 타는 메소드와 파라미터가 있을 경우에 타는 메소드를 나누고 2개의 파라미터를 보내고 싶은 상황이었습니다. 정말 이상하게 2개의 파라미터를 보내는 것을 Controller 소스는 많이 있는데 thymeleaf 소스는 올리지 않은 블로그가 많아 애먹었습니다.... 파라미터가 한개 일때 방법으로 밑에 방법이 그나마 소개 되었는데 저 방법을 이용해 2개의 파라미터를 보낼 수는 없었습니다. 그래서 찾은 방법!! 다른 코드는 볼 필요 없이 a태그에 th:href를 보면 될 것같습니다. 핵심은 @{ 에 | 로 한번더 감싸는 것 그리고 계산이 들어가야 되면 ${ } 괄호 안에서 할 것 이 방법을 못찾아서 정말 고민 많이 했습니다.... 하고 나면 .. 더보기 오류 : cannot find symbol 새로 spring project를 만들어서 연습하는데 gradle에 lombok 추가 했고 @Data annotation 썼고 set메소드 쓰는데 자동완성에도 나왔고~ 빨간줄도 안가는데 build하면 set메소드를 찾을 수 없다고 합니다!!! 검색 해보니 간단한 해결법이 있었습니다. 상단에 File 메뉴 -> Settings 선택 Build, Exception, Deployment -> Compiler -> Annotation Processors 선택 Enable annotation processing 체크 후 ok 버튼을 눌러주세요 그러면 오류 해결~ 더보기 이전 1 2 3 4 다음