반응형

Spring 16

[Spring Error] The DispatcherServlet configuration needs to include a HandlerAdapter that supports this handler

1. 에러의 원인 Controller 의 요청이 메소드 단위로 세분화되면서, Default Annotation Handler Mapping 이 Aannotation Method Handler Adapter 로 handler 를 전달해 줄때 문제가 생겼기 때문이다. 즉, handler 관련 config 값이 제대로 설정되지 않은 것이었다. 위 에러를 두가지 방법으로 해결했었다 2. dispathcer-servlet 의 설정 추가 아래 코드처럼 설정을 지정하여 servlet 설정을 해주었다. 3. @EnableWebMvc 사용 위 어노테이션은 Spring Framework에서 여러 Config 값을 알아서 세팅해준다는 장점이 있는데 이런 편리함 때문에 @EnableWebMvc 어노테이션을 사용해서 해결할 수..

[Spring Error] nested exception is java.lang.NoClassDefFoundError: org/springframework/jdbc/datasource/TransactionAwareDataSourceProxy

아래와 같은 에러가 발생할 경우 nested exception is java.lang.NoClassDefFoundError: org/springframework/jdbc/datasource/TransactionAwareDataSourceProxy jdbc dependency가 추가되어 있지 않아 발생했을 가능성이 크다 그러므로 pom.xml 에 아래와 같이 dependency를 추가하여 동일한지 확인하면 해당 에러 수정이 가능하다 org.springframework spring-jdbc ${spring.version} 에 들어가는 변수는 프로젝트에서 설정되어있는 명칭마다 다를 수 있으니 주의할 것

[Spring ] Spring 의 주요 구조에 대한 간단한 개념

Spring 을 공부하면서, Model, Repository, Controller 등 스프링에서 사용하는 구조들에 대해서 어떻게 하면 쉽게 이해를 할 수 있을까 생각을 해보았다. 1. Model Model 은 DAO 라고 생각하면 된다. Data Aeccess Object 의 약자이며 말 그대로 데이터베이스에서 값을 가져와 도메인 오브젝트에 리턴시켜주거나 반대로 도메인의 값을 가져와 데이터베이스에 리턴시켜주는 역할을 맡고 있다. 아래 이미지와 같이 데이터베이스에 리턴 또는 받고자하는 값과 타입들을 기입하면된다. 옛날에는 getter, setter 를 사용했어서 복잡했었지만, lombok 이라는 플러그인의 도움으로 어노테이션을 통해 코드를 보다 심플하게 사용할 수 있게 되었다. 쉽게 말하면, 데이터베이스와..

Back End/Spring 2021.01.10

[Spring Error] could not execute statement; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement

원인 - 테스트코드 Junit 실행시 예외가 발생하는 경우, - Repository 관련 클래스를 실행할때 여외가 발생하는 경우이다 - 말그대로 쿼리 실행할수 없는 문장이라고 나옴, - 오타가 났거나, 연결한 DB 의 테이블하고 스프링 프로젝트 상의 코드와 맞지 않을 때 발생하는 에러 해결 방법 - TABLE 과 비교한 결과 Not Null 인데 Null 값을 insert 하려고 했었고 - 자동으로 값이 들어가는 Auto_Increment 설정이 안되어 있어서 Null 값이 계속 들어갔었던 것이다. 값을 채워서 실행 했다.

[Spring boot] Intellij 의 Spring initializer 가 뜨지 않을 때

보통 intellij 에서 스프링 프로젝트를 만들 경우, community 버전인 경우에는 spring initializer 가 뜨지를 않는다 그럴때는 웹의 링크를 통해서 spring initializer 를 만들어주어야 하는데.. start.spring.io/ 위와 같은 이미지가 뜬다. 프로젝트 하고 각 메타 데이터들을 잘 작성한다. 그리고 추가적으로 dependency에서 spring web 을 선택한 다음에 generate 를 최종적으로 누른 후에 zip 파일은 다운로드 받으면 된다. 스프링은 maven 이므로 project 는 maven project 로 하면 된다.그리고 추가적으로 dependency에서 spring web 을 선택한 다음에 generate 를 최종적으로 누를 것 자세한 사항은 ..

Back End/Spring 2020.12.19

[Spring] FormData 에서 값이 null 로 들어올 때 참고할 점

스프링에서 데이터들을 넘길 때 사용하는 FormData 는 데이터들을 val( ) 지정할 필요없이 한번에 넘길 수 있기에 매우 편리한 태그이다. 평상시에는 잘 사용하지 않지만 이미지 등의 파일을 ajax로 업로드할 때 주로 사용하는 것으로 알고 있다. 사용법 var formData = new FormData( ); 주의할 점 하지만 해당 태그를 사용할 때, 데이터가 넘어가지 않는다면 다음의 몇가지 사항을 고려해야만 한다. 1. 넘기는 데이터 타입을 잘 설정해 주었는지 - 데이터 타입을 잘못 설정해주어도 null 값이 전달될 수 있다. 2. VO 에 타입을 잘 기입해주었는지 - 주의해야하지만, 해당사항은 JAVA 로 MVC 모델을 전부 구성했을 때 참고해야될 사항같다. 3. 오타가 났는지 - 대개는 3번의..

Back End/Spring 2020.12.02

[JAVA Error] 프로젝트 실행 후 import 안되는 문제 - Failed to start component [StandardEngine[Catalina].StandardHost[localhost]

에러 로그 부분 java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext] 에러의 원인 - 깃 헙에서 프로젝트를 pull 을 완료한 이후에 프로젝트가 빌드되지 않아서 해당 에러 발생 - 자세한 원인은 모르지만 maven 에서 프로젝트를 빌드하던 도중, 기존에 있던 소스와 엉킴 현상이 발생하여 해당 에러가 발생한 것으로 보임 에러 해결 방법 - 해당 에러는 Maven 에서 발생하는 에러이므로 Maven 저장소를 초기화하면 된다. 이클립스의 Window - P..

[JAVA Error] 톰캣 실행 에러 - java.util.zip.ZipException: invalid CEN header (bad signature)

에러 발생 원인 - 프로젝트를 구동하는데 필요한 jar 파일이 존재하지 않아 발생 - 메이븐 설정에 따라 가져오는 jar 파일에 오류가 발생해서 생긴 문제였음 에러 해결 방법 1. pom.xml 에 오류에 떴던 jar 디펜던시가 존재하는지 체크 2. 존재하지 않을 경우, 에러가 뜬 jar 파일 이름을 복사하여 mavenrepository 사이트에서 검색한 후 디펜던시 설정을 복사하여 pom.xml 에 카피함 mvnrepository.com/ Maven Repository: Search/Browse/Explore Log4j Properties Last Release on Nov 29, 2020 mvnrepository.com 3. 2번까지 한 후에 Alt + F5 를 하여 프로젝트 업데이트를 실행해도 잘 ..

[Spring Error] ajax 의 FormData( ); 를 사용했는데 값이 안들어오는 경우

에러 상황 - FormData( ) 를 사용하여 insert 한 값을 받아 DB 로 전달하고자 했는데 진행이 안됨 - { } 빈 값만 계속 들어오고 있는 상황 에러 해결 과정 - JAVA 부분과 WEB 부분에 디버깅을 걸고 지속적으로 진행을 했는데도 넘어가지지를 않음 - 초기화를 하는데도 계속 넘어가지지 않았었음. - 어느 순간에 갑자기 디버깅이 되어서 에러를 확인했음 에러 원인 - 여러 원인이 복합적으로 작용한 듯함. - 첫번째는 ModelAndView 를 사용했었음. 하지만 Controller 만 타입을 바꾸었던 탓에 디버깅을 해도 값이 전달이 안되 었음 - 첫번째 원인을 파악하지 않고, 제대로 읽지 않고 값을 바꾸다보니 여러방면에서 코드가 꼬였었음... - 코드를 확인하지 않고 웹단에서만 작업하려했..

Servlet.service() for servlet [DispatcherServlet] in context with path threw exception [Request processing failed; nested exception is org.apache.tiles.request.render.CannotRenderException: ServletException including path with root causeorg.apache.el.pa..

에러 발생 상황 - 상세 페이지에서 수정 페이지로 페이지 전환중에 에러가 발생함 에러 발생 이유 - edcNo 라는 게시물 번호를 받아서 이를 바탕으로 DB에 저장된 데이터를 파싱하여 전달 받는 것이었음 - 하지만, 데이터를 전달받는 부분의 $ { VO.eduNO } 부분의 값이 전달되지 않았음 - 그로 인하여, 페이지에서 DB 의 데이터를 가져오지 못해서 페이지 전환이 되지 않았던 것이었음 해결 방법 - 데이터를 전달받는 부분의 값의 오류를 발견하고 해당 부분을 수정해주었음

반응형