목록Error solution (42)
코딩항해기
인텔리제이를 사용하고 있어서 롬복 사용에 불편함을 느끼지 못하고 logback 등등 편하게 사용하고 있었는데 코드를 공유하면서 보니 이클립스에서 logback 오류가 발생하는 것을 알게 됐다. 1. 의존주입관련해서 찾아보니 이클립스는 롬복을 사용하기 위해서 의존주입을 해야한다는 것을 알게 됐고, 롬복 사용, logback 사용을 위한 모든 의존을 주입했다. *버전 오류가 날 경우 3번 참고 : version 태그 삭제 org.slf4j slf4j-api 1.7.32 ch.qos.logback logback-classic 1.4.12 org.projectlombok lombok provided 의존을 주입하고나니 롬복에 대한 어노테이션을 import할 수 있었다. 그런데 import해도 logback을 사..
NoClassDefFoundError : org/springframework/core/JdkVersion NoClassDefFoundError : org/springframework/core/JdkVersion 설명만 읽고서는 의존성이나 버전 문제로 보였는데, 트랜잭션 걸어둔 부분에서 문제가 생겨 롤백이 일어나면서 뜬 오류 페이지였다. (강제 롤백 상황 구현했더니 발생/항상 JdkVersion 오류의 원인이 트랜잭션인 것은 아님) 트랜잭션으로 인해 롤백될 때 생기는 오류 코드가 상황에 따라 꽤 다양하게 있는 것 같아 기록용으로 남겨둔다.
Request processing failed: org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request 해당 에러는 여러가지 문제로 발생한다. 코드에 이상이 없다는 가정하에 해당 문제가 반복된다면 서버(톰캣)설정을 추가해야한다.' (eclipse는 Server - context.xml) 그런데.. 인텔리제이는 톰캣의 context.xml 파일이 숨겨져있어 해당 파일을 수정할 수 있도록 설정을 만져야한다.먼저 File - Project Structure에 들어간다. modules에서 프로젝트를 열고 web을 선택해 Add Application Server-specific descriptor..
ajax를 통해 받아온 데이터를 화면에 띄워주기 위해 코드를 작성했더니 object Object로 출력되는 문제가 생겼다.success: function (data) { console.log("data [" + data + "] type [" + typeof data + "]"); console.log(data); console.log(Object.values(data)); if(data.length > 0) { console.log("data true"); $('#boardList').text(''); //초기화 Object.values(data).forEach(element => { //데이터 입력 $(..
java.lang.IllegalArgumentException: 요청 타겟에서 유효하지 않은 문자가 발견되었습니다. ajax를 사용해 JSON파일을 GET방식으로 비동기처리하려고 했더니 해당 오류가 발생했다.해당 오류를 해결하는 방법으로 크롬 브라우저 사용하기, 서버파일에 설정 추가하기, encodeURIComponent랑 encodeURI 사용하기 등이 있었지만 해당 방법으로 해결되지 않았다. JSON파일로 통신할 때는 GET방식을 사용할 수 없고 POST방식으로 통신해야한다. POST방식으로 진행하면 정상적으로 진행되는 것을 확인할 수 있다. encodeURI 관련 MDN글 encodeURI() - JavaScript | MDNThe encodeURI() function encodes a URI by..
(수업 에러 코드) xml 관련하여 문제가 생기면 해당 에러가 발생한다. 이 경우 xml이 없거나 xml을 읽지 못하거나 등의 이유로 발생한다.이라고 표기 된 부분에 문제가 되는 xml을 알려준다고하는데 띄지 않는 경우도 있어 spring의 개념을 확실하게 인지하고 있어야 할 것 같다. applicationContext.xml의 기본 위치가 WEB-INF 하위에 있다는 것을 잊지말고 별도의 경로를 지정하는 것이 좋다.(해당 부분은 View파트, 프론트 작업 공간이기 때문이다.)
WEB-INF 하위에 있는 jsp 파일에 webapp에 있는 css을 적용하려고 하니 css가 적용되지 않는 문제가 발생했다.관련을 찾아보니 ${pageContext.request.contextPath} 를 통해 해결한 사례가 있어 해당 방식을 적용해봤다. 이제 css가 정상 적용되는 것을 확인할 수 있다. 이 방법은 동적으로 경로를 구성하는 방법이라고 하는데, 현재 페이지를 기준으로 컨텍스트 루트를 반환하므로 파일 주소에 변경이 있어도 따로 수정할 필요가 없는 방법이라고 한다. pageContext 객체는 javax.servlet.jsp.PageContext 클래스를 상속해 웹 컨테이너가 JSP 실행시 자동으로 생성해서 제공하는 내장 객체이다. [JSP] 내장 객체 (pageContext)pag..
JSTL이 있는 페이지에 접근을 시도하면 500 에러가 발생했다.NoClassDefFoundError로 클래스를 찾을 수 없다는 내용이다. dependency 문제였는데, https://mvnrepository.com/ 에서 dependency 태그를 찾아 넣으면서 구버전을 넣은 것이 문제였다. 톰캣 10.1을 사용하고 있으므로 개발 환경에 맞는 의존성을 주입해 해결했다. jakarta.servlet.jsp.jstl jakarta.servlet.jsp.jstl-api 3.0.2 org.glassfish.web jakarta.servlet.jsp.jstl 3.0.1 javax에서 jakarta로, jakarta로 바뀌며 jstl 구현체(org.glassfish.we..
이 경우 문제는 대체로 요청 url 패턴을 잘못 작성한 것이지만 분명 코드를 제대로 작성했고, DispatcherServlet이 생성되었다는 로그까지 확인했는데도 불구하고, 설정해둔 url패턴 요청이 될 때마다 이를 처리하지 못하고 화이트페이지를 띄우는 문제가 발생했다. 정말 xml을 몇 번을 뜯어봤는지 모르겠다...원인은 프로젝트를 생성할 때 추가된 example 코드가 문제였다. 해당 코드가 간섭을 일으켜 오류가 발생한 것으로 example 폴더를 통채로 삭제하니 DispatcherServlet이 설정해둔 url패턴에 따라 정상적으로 요청을 처리했다. 정말 Spring은 하나하나 꼼꼼하게 살펴봐야하는 것 같다...ㅠㅠ
DB연결을 하려고 하니 Connection 객체를 만들 때 에러가 발생했다.DB가 바뀌어서 drivername 잘못 작성한 줄 알았는데 pom.xml을 보니 의존성 주입을 안했다....너무 당연한 건데 buildpath에 너무 익숙해졌던 것 같다. 바로 pom.xml dependencies Edit Starters(intellij)에 들어가서 mysql의존성을 추가했다. com.mysql mysql-connector-j runtime 추가한 후에는 maven 새로고침 잊지않기