본문 바로가기

노력을 이기는 재능은 없고
노력을 외면하는 결과도 없다.
- 이창호 9단

E R R O R27

[Spring Error] 심각: Servlet.service() for servlet [appServlet] in context with path [] threw exception [Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.Reflect.. 1:N 의 관계성을 가지고 있는 테이블 구조에서 Mapper를 통해 데이터 바인딩한 결과를 가져오려고 하는데, 이때, N의 관계성을 가지고 있는 VO에서 Type Mismatch 에러가 발생하고 있다. Mapper까지 넘기고 있는 파라미터도 정상적으로 들어오고 있고 파라미터를 통해 결과도 잘 나타내고 있는데, N관계성을 가지고 있는 데이터만 [nuread]로 나타나고 있는거 말고는 오타라던지 resultMap을 잘못 구성했다던지 등등의 이슈는 없었다. java.lang.IllegalArgumentException: argument type mismatch SpringFramework를 활용한 CRUD를 진행하다보면 굉장히 많은 에러들이 발생할 수 있다. 대부분 시스템이 잘못되서가 아니라 우리가 작성한 소.. 2024. 4. 11.
[Oracle Error] ORA-28002: the password will expire within 1 days 28002. 00000 - "the password will expire within %s days " 오라클 데이터베이스를 사용하다보면 계정을 생성하고 몇개월 정상적으로 잘 사용하다가 이런 메세지를 확인할때가 있다. 에러 메세지는 아니므로 확인을 누르면 정상적으로 데이터베이스를 사용할 수 있을뿐더러 증상이 발견되거나 하는일도 없다. 단지 사용중인 비밀번호의 사용 기간만료가 초래됬으니 변경해달라는 의미이다. ORA-28002: the password will expire within 1 days 28002. 에러 해결 방법 1. 시스템 로그인/비밀번호 변경 주기를 조회한다. // 시스템 로그인/비밀번호 변경 주기 조회 SELECT RESOURCE_NAME, LIMIT FROM DBA_PROFILES WHERE PROFILE = 'DEFAULT' AND RESOURCE_TYPE = 'PASSWORD'; 2... 2023. 7. 11.
[Spring Error] nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'org.springframework.security.authenticationManager' available: Did you forget to add a global <authentication-manager> element to your con.. 스프링 시큐리티를 적용하는데 있어서, Config설정을 할때 많은 에러가 발생한다. 전체적인 구조가 파악되고 에러가 발생했다면 파악된 구조를 분석해서 에러가 난 시점이나 에러로그를 보고도 충분히 파악이 가능하지만, 그렇지 못한 경우가 대부분이다. 거기다 스프링 시큐리티는 전체적인 구조를 파악하는데까지 시간이 참 많이 걸리는 기술 중 하나이다. 스프링 시큐리티 에러 해결 방법 Did you forget to add a global element to your configuration 우선은 결과적으로, Config 설정을 돕는 security-context.xml 설정 파일내, security:authentication-manager 태그가 설정되어 있지 않아서 발생하는 에러이다. 시큐리티 인증과 인가에 .. 2023. 5. 21.
[JSP ERROR] org.apache.jasper.JasperException_Validation error messages from TagLibraryValidator for [c] JSP 페이지를 실행하던 중, 에러가 발생하였다. WebContent단 아래에 있는 JSP다보니, 실행을 위한 컨트롤러가 있는것도 아니여서 서버쪽 디버깅할것이 따로 없었다. 그렇다면 순전히 JSP페이지에서의 에러가 확실한데 어디 부분이 에러인지에 대한 파악이 필요했다. JSP 페이지에서 core 태그만 선언한 상태에서 스크립틀릿으로 Java 계산식 처리 후 아래에서 표현문으로 값을 출력하고 있는데 taglib쪽에서 에러날 부분은 딱히 없어보였다. 처리결과 core 태그 안에 HTML 주석을 달지 말면 된다. core태그를 선언하고 그 안쪽에다가 HTML주석을 달게되면 JasperException 에러가 발생한다. 그래서 안쪽에다가 주석을 달지 않고 바깥쪽에서 주석을 달아 주어야한다. @Junesker 2022. 12. 18.
[JSP ERROR] javax.el.ELException: Function [:containsIgnoreCase] not found JSP 태그 라이브러리들을 테스트하던중, not found 에러가 발생했다. 분명 작성도 잘하고 이상 없었는데 갑자기 에러가 발생하니 당황스러웠다. taglib prefix c, fn도 제일 상단에 선언도 해놓고 사용하는데 큰 무리가 없었는데도 불구하고 에러가 발생했다. 다시 차근차근 꼼꼼하게 찾아보고 살펴보았다. 그리고 발견했다. 내가 el태그중, containsIgnoreCase를 불러서 사용하는데 이때, fn을 빠뜨리고 선언하다보니 계속 에러가 뿜어져나왔다. 처리결과 el태그를 선언할 때, 내가 오타를 내서 el태그를 정확하게 선언하여 사용했는지를 체크 el태그를 사용하는데 에러가 발생했을 경우엔 제일 먼저 el태그를 사용하기 위한 taglib를 선언해주었는지 확인한다. 그리고 선언을 정확하게 했는.. 2022. 10. 20.
[Oracle Error] ORA-00904: "BO_NO11": "invalid identifier", 잘못된 식별자 TEST1 테이블의 제약조건을 추가하려고 ALTER 명령어를 사용하여 참조키를 추가하였다. 그런데 ORA-00904 에러가 발생했다. 분명 이상 없이 작성한것 같았는데 에러가 발생했다. 쿼리문을 재차 다시 확인해보았다. (....!) 자세히 확인해보니 쿼리문에서 BO_NO11로 사용하고 있는 컬럼이 존재하지 않는다... 처리결과 기존에 추가되어 있지 않던 BO_NO11 컬럼을 추가하고 실행 (제약 사항을 추가할 컬럼 누락으로 발생한 에러) [누락되었던 컬럼을 추가] ALTER TABLE TEST1 ADD (BO_NO11 NUMBER(12)); 이후 쿼리를 실행하니 정상적으로 컬럼 추가가 되었다. @Junesker 2022. 9. 23.
[Oracle Error] ORA-00907: "missing right parenthesis", 오른쪽 괄호 누락 TEST1 테이블의 제약조건을 추가하려고 ALTER 명령어를 사용하여 참조키를 추가하였다. 그런데 ORA-00907 에러가 발생했다. 분명 이상 없이 작성한것 같았는데 에러가 발생했다. 쿼리문을 재차 다시 확인해보았다. (....!) 자세히 확인해보니 쿼리문에서 괄호 1개를 빠뜨려서 발생한 에러였다. 처리결과 콤마(,), 괄호((,)) 등을 정확하게 사용하지 않을 때 발생하므로, 쿼리문을 정확하게 확인 후에 작성해준다. [문제가 됬던 쿼리문] ALTER TABLE TEST1 ADD (Constraint fk_test1 Foreign Key(BO_NO11) REFERENCES DRAGDROP(BO_NO) [수정되어 정상적인 쿼리문] ALTER TABLE TEST1 ADD (Constraint fk_test.. 2022. 9. 23.
[Java Error] A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be availavle in order to run Eclipse. No Java Virtual machine was found after searching the following locations. 이클립스를 실행할때면 가끔 볼 수 있는 에러 알림창이다. 난 분명 JDK도 설치도하고 설정까지 다 했는데 이클립스를 실행하면 저런 에러가 발생하는 경우가 있다. 이런 에러 알림창이 뜰때마다 여간 당황스러울수가 없지만, 해당 에러창은 크게 문제가 되거나 복잡한 에러가 아니기때문에 간단하게 해결할 수 있다. 해결방법 JDK 환경변수 설치 확인 또는 JDK 환경변수 재설정 또는 설정 시 절대경로로 설정하기 JDK 환경변수 설치 확인 1. JDK가 정상적으로 설치되고 설정되었는지 확인하기 위해 명령 프롬프트 창을 열고 "java -version"을 확인한다. 자바 버전 명령어 : java -version or javac -version 위와 같이 java version "1.8.0_271" 이라고 출력되면 정상.. 2022. 9. 7.
[JSP Error] The Superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 이클립스에서 Dynamic Project를 생성 후, JSP파일을 하나 만들었다. 아무런 문제가 없을거라고 생각하고 생성된 JSP파일을 열어보았는데 맨 상단 위 1번째줄부터 에러가 발생했다. 2초 당황했지만 이내 어떤 문제인지 알 수 있었다. JSP 파일을 생성할때 해당 JSP파일을 어떤 컨테이너로 가동할지에 대한 Runtime 설정부를 설정하지 않고 넘어오는 바람에 서블릿을 상위 Was에서 가동할 형태가 없어 경로를 못찾는 문제다. 처리결과 프로젝트 설정에서 Tomcat을 추가해준다. (총 2가지 방식 제안) 프로젝트 설정에서 Java Build Path로 Apache-Tomcat추가하기 1. [ Project ] > [ Properties ] 메뉴를 클릭합니다. 2. 설정 왼쪽 메뉴의 Java Bui.. 2022. 8. 29.
[Java Error] java.sql.SQLException: ORA-01461: can bind a LONG value only for insert into a LONG column 게시판에 글 등록을 하던 중, 위와 같은 에러가 발생했다. 내용으로 작성하고 있었던 텍스트 길이가 데이터베이스 테이블의 내용 컬럼의 공간보다 훨씬 컸나보다. Long으로 설정된 컬럼은 Long에 맞춰 내용을 작성하여 저장해야하는데, 그렇지 못한 것이다. 내용에 이미지를 한개 첨부했는데 해당 이미지가 base64로 인코딩되어 들어가는 바람에 이미지가 데이터로 변환되서 내용에 첨부되었다. 그래서 엄청난 길이의 텍스트 데이터로 내용에 첨부되었다. 실제 html형태로 보면 이미지지만 소스코드 보기로 확인해보면 엄청난 길이를 가진 텍스트로 보여진다. 처리결과 데이터베이스 테이블에서 설정한 컬럼의 최대 공간안에서 글을 작성하거나, 데이터베이스 테이블의 해당 컬럼 크기를 CLOB으로 변경하여 더 많은 데이터를 담을 .. 2022. 8. 9.
[Java Error] java.lang.ArithmeticException: / by zero 테스트용도로 게시판 리스트를 구현하려고 하던중에, 페이징 처리를 하여 서버로부터 데이터를 구현해서 클라이언트로 보내기위해 해당 페이지를 요청하는데 / by zero 에러가 뿜어져나왔다. 무언가를 0으로 나누려고해서 발생하는 에러인데, 어딘가에서 0으로 나누려고 시도했던것 같다. 0으로 나눠질것 같은 부분 부분을 찾아보았는데 페이지를 구성하기위해서 PagingVO를 꾸며주는 setter, getter부의 기본 초기값을 설정하지 않아, setter에서 값이 없으므로 정의 초기값인 0이 들어가 0으로 나눠져 위와 같은 에러가 발생했다. 처리결과 어떠한 값을 0으로 나누려고 해서 발생, 0으로 나누지 못하도록 값의 정의 및 초기화를 진행한다. PagingVO 클래스에 정의된 변수 들 중, screenSize와 .. 2022. 8. 8.
[Oracle Error] ORA-00947: not enough values 00947. 0000 - "not enough values", 값의 수가 충분하지 않습니다 ORACLE 데이터베이스에서 데이터 삽입중에 발생한 에러이다. 다른 Insert구문에는 문제가 없었는데 특정 Insert 구문에만 오류가 발생했다. 오타이겠거니 확인해봤지만 오타는 없었다. 그래서 어디가 잘 못됬는지 확인한결과, Insert 구문 여러개를 ','로 구문하여 한줄씩 실행하고 삭제하는 과정에서 맨 마지막 Insert 구문에 컬럼 대비 데이터를 넣어 데이터 삽입중에 컬럼과 데이터의 값이 정확하게 매칭되지 않아 발생했던 에러였다. 오타가 아니었다고 생각했는데, 컬럼이 5개면 데이터도 5개로 매칭을 했어야하는데 데이터 부분에 4개로 1개를 빠뜨린것이다. 그래서 '값의 수가 충분하지 않습니다.'라는 에러가 출력됐다. 처리결과 Insert시, 컬럼 갯수에 맞춰 데이터를 삽입해야하는데 데이터 갯수가 컬.. 2022. 8. 8.