🚀 from error to study
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6wXzr%2FbtrTGkKNn8Z%2F38WzjijomhMkaiKvXghVnK%2Fimg.png)
java.lang.ClassCastException: java.util.ArrayList cannot be cast to VO 객체 경로
💡 현재 상황 해당 컨텐츠에 대한 내 코멘트를 뽑아 화면에 뿌려 줘야 하는데 해당 쿼리를 통해 한 화면당 뽑을 리뷰는 언제나 1개뿐! 그래서 ArrayList에서 Review로 자료형 변환해 줬더니 ClassCastException이 뜸 📍 해결 방법 Dao의 selectList도 selectOne으로 바꿔 줘야 함 여태까지의 화면에서는 3개 이상의 리뷰를 뽑았기 때문에 ArrayList를 썼는데 해당 화면에서는 1개의 리뷰만 뽑기 때문에 ArrayList를 쓰는 것은 데이터 소모를 일으킨다고 혼났음 (핑빈에게) Controller, Service, ServiceImpl, Dao의 ArrayList 자료형을 모두 Review로 바꿔 줬더니 위의 오류 뜸 selectOne은 1개의 행만 뽑아서 오는 메소드..
[java] controller에서 jsp로 값을 보내지 못함
jsp에서 Controller로 보낼 때는 모달창에 정보를 때려넣고 submit으로 보낸 상태 $("#reportSubmitButton").on("click", function() { document.getElementById("report-form").submit(); }); 이렇게 return "; } else { return ""; } }
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmYu2M%2FbtrTmYVq5Ai%2FCteIbogqkpop9fwc8KsZX1%2Fimg.png)
[JavaScript & jQuery] 자바스크립트 변수에 담은 값 input type="hidden"의 value 값으로 넣기
💡 현재 상황 db까지 다녀온 코드각 review별로 아래 코드, 그림과 같이 리뷰 list를 하나씩 뿌려 주고 있음 ${ r.userNickname } 신고 ★ ${ r.reviewStar } ${ r.reviewContent } 💡 원하는 상황 신고 버튼을 눌렀을 때 신고 모달이 뜨는데 모달에서 다시 신고 버튼을 눌렀을 때리뷰 번호, 로그인한 사용자의 번호, 신고 사유를 컨트롤러로 넘기고 싶음 전제 1) 자바 코드에 name 속성이 채워져 있고, value 값이 빈 input 태그가 있을 것 👉🏻 신고 모달을 전송할 때 함께 보내 주어야 할 값이므로 신고 모달의 form 태그 안에 만들어 줘야 함을 주의할 것 취소 신고 2-1) 자바스크립트 변수를 선언하고 기존에 이미 뽑혀 있던 값의 value를 담..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkZglL%2FbtrTaLJ5Zh8%2Fmye2g5WlssVDPYbQJQkxX1%2Fimg.png)
ERROR: org.springframework.web.context.ContextLoader - Context initialization failedorg.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in ServletContext resource [/WEB-INF/spring/root-conte..
💡 해결방법 주로 mapper의 .xml 파일에 부등호가 들어 있기 때문에 발생하는 오류임 해당 부등호를 안에 넣어 해결 하나 해결하면 또 하나의 오류가 생기는 매직 그치만 첨 보는 오류 내용으로 나를 당황시킨 것과 다르게 너무 정확하게 오류를 짚어 줬음 MyBatis 사용을 위한 .xml 파일에서 부등호 사용 시() 발생하는 에러라 함 안에 내가 원하는 부등호를 넣어 주니 엑스가 사라졌음 서버를 재구동 했을 때도 오류 없이 돌아감
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDnFu9%2FbtrS7JrOy7R%2FKpwWvgydZ1xv0jhoS1T3Jk%2Fimg.png)
[Server] 톰캣 에러 - Server Tomcat v8.5 Server at localhost failed to start
산 넘어 산이지만 기죽지 말자 어차피 내가 겪은 오류는 다른 사람도 이미 겪었다 = 구글 뒤지면 나온다 1. Window - Preferences - Java - Installed JREs 접속 후 현재 jdk 삭제 👉🏻 그리고 새로운(나의 경로에 있는) jdk를 넣기 위해 Add 버튼 클릭 2. Standard VM 선택 후 Next 3. Directory 선택 후 JDK 경로 선택 - Finish 4. Apply and Close 5. 서버 더블클릭 6. 서버의 Overview에서 Runtime Envorionment 클릭 7. Browse 클릭 후 Tomcat 경로 지정한 뒤 Finish 8. 서버 돌리기 이거거든
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbkb8UH%2FbtrS9rdgSgL%2F3O51FvkAu43IYCffkC8k6K%2Fimg.png)
[Server] 톰캣 에러 - The specified Tomcat installation directory does not exist
내가 설정한 디렉토리에 톰캣이 없다는 직관적인 설명 작업 환경이 바뀌면 세팅해 줘야 할 게 너무 많다 1. Preferences - Server - Runtime Environments 접속 Apache Tomcat v8.5 클릭 후 Edit 2. Browse 클릭 후 나의 톰캣 경로를 잘 설정해 준 뒤 Finish 3. 이때 하단에 빨간색 글씨로 이렇게 나오는 경우도 있는데 쫄지 말고 Apply and Close를 눌러 줌 4. 자 이제 서버를 다시 돌려 보자! 그러면! 📖 Server Tomcat v8.5 Server at localhost failed to start 에러가 뜰 것이다 ^^...
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbsUrGv%2FbtrS9qd6DpZ%2FyZYo7sEKggP3KS2Uc154EK%2Fimg.png)
[Spring] Error - The method get/set필드명() is undefined for the type VO클래스
💡 해결 방법 롬복 문제로 판결 땅땅땅 🩺 롬복은 pom.xml에 dependency로 넣어 주기만 하면 끝나는 게 아니라 직접 실행도 해 줘야 함! 📖롬복 사용법(4번 참고) 그리고 실행 후 아래 2줄의 코드를 STS.ini에 추가해 줌 -javaagent:lombok.jar -Xbootclasspath/a:lombok.jar 학원에서 잘되던 프로젝트가 왜 집 컴퓨터에서는 안 돌아갈까... 심지어 getter/setter를 쓴 VO 클래스의 메소드들을 못 들고 옴 Pagination도 안 됨 ㅠㅠ 구글링 하던 중 롬복 문제 그 중에서도 롬복은 따로 설치 후 실행을 해 줘야 한다는 것을 확인함 Maven Dependencies의 lombok-1.18.24.jar의 설치 경로 확인 후 파일 탐색기로 다시 ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmQMBS%2FbtrS5iAXFNz%2FPMPvQKwOLM547k0i4n6jP1%2Fimg.png)
[오라클] 조건 순서?
현재 8개의 리뷰 중 7개의 상태가 'Y', 1개의 상태가 'N' MOVIE_ID는 모두 동일하게 1427 (== 향수) 조건 순서 1 SELECT COUNT(*) FROM REVIEW R LEFT JOIN MEMBER MB USING(USER_NO) LEFT JOIN MOVIE MV ON(R.MOVIE_ID = MV.MOVIE_ID) LEFT JOIN TV ON (R.MOVIE_ID = TV.TV_ID) WHERE REVIEW_STATUS = 'Y' AND TV.NAME LIKE '%향%' OR MV.TITLE LIKE '%향%'; 조건 순서 2 SELECT COUNT(*) FROM REVIEW R LEFT JOIN MEMBER MB USING(USER_NO) LEFT JOIN MOVIE MV ON(R..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKlkDV%2FbtrS6kxyX2N%2FpWjoHWD83ui4xWDKM5ddzK%2Fimg.png)
[Spring] WARN : org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver - Resolved [org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class java.lang.Integer] with preset Content-Type 'null']
💡 해결 방법 bean으로 Gson이 등록되어 있는지 확인해 볼 것 com.google.code.gson gson 2.10 checkbox 선택 후 버튼 클릭 시 삭제할 수 있도록 메소드를 만들었는데 DB의 REVIEW_STATUS = 'N'까지 바뀌는데도 ajax 통신 실패가 뜸 콘솔에 뜬 내용은 아래와 같음 WARN : org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver - Resolved [org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class java.lang.Integer] with preset Conte..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmfziN%2FbtrS3GO5yLj%2FTkjP9vBzFumvHMmfv26bPk%2Fimg.png)
[jQuery] Uncaught TypeError: $.ajax is not a function
💡 해결방법 slim 빌드 jQuery에서는 ajax를 사용할 수 없음 현재 적용된 코드가 slim 버전이라면 하기 버전으로 바꾸어 주자 열심히 오타를 찾아봤지만 그런 거 없음 ajax는 jQuery CDN 중 slim 버전에서는 동작하지 않음! jQuery 빌드를 바꾸어 줬더니 (아직 코드를 모두 작성하지 않아 오류가 나긴 하지만) ajax의 실행은 잘됨!