Exception18 javax.servlet.jsp.tagext.TagLibraryValidator 기존 방식대로 사용했지만 에러가 발생했다 jstl 버전에 문제가 있는 걸 확인했다 그래서 확인해보니 3.0버전에선 아래와 같은 implementation 를 사용하고 implementation 'javax.servlet:jstl' 3.0이상부턴 implementation 'jakarta.servlet:jakarta.servlet-api' implementation 'jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api' implementation 'org.glassfish.web:jakarta.servlet.jsp.jstl' 사용해야했다 gradle를 변경한뒤 를 하고 실행했다 하지만 동작이 되지않았다 생각해보니 jstl를 사용하기위해 해당 .jar.를 넣었던 .. 2024. 3. 25. FileNotFoundException org.springframework.jdbc.core.JdbcTemplate을 사용하기위해 템플릿 의존주입을 위한 템플릿 new => 을 하는데 파일이 없다는 에러가 발생했다 pom.xml에 jar 추가로 에러를 해결하였다 2024. 3. 13. NoSuchBeanDefinitionException 제 2의 널포인트 익셉션 의존 주입이 되어있지 않아 발생한 애러이다 의존 주입을 통해 해결하였다 2024. 3. 8. 스프링 에러 BeanCreationException pom.xml에 AspectJ 설정이 없어서 발생한 에러이다 아래에 추가해 해결하였다 하지만 실행해보면 적용이 되지 않는데 그럴땐 위 작업을 완료하면 적용이 완료된것을 볼수있다 2024. 2. 29. new 가 없어 발생한 NullpointerException 누굴 먼저할지모름 그래서 new를 다 넣어둠 맴버번수을 생성자를 통해 만들지 않아서다 2024. 2. 28. PL/SQL: ORA-00942: table or view does not exist 내용: PL/SQL을 사용할 때 종종 ORA-00942 오류가 발생할 수 있습니다. 이 오류는 주로 테이블이나 뷰가 존재하지 않을 때 발생합니다. 이 문제를 해결하기 위해 몇 가지 중요한 단계를 살펴보겠습니다. 테이블 또는 뷰 이름 확인: ORA-00942 오류가 발생할 때 먼저 확인해야 할 것은 사용하려는 테이블 또는 뷰의 이름입니다. 이름을 정확히 입력했는지 다시 한 번 확인해야 합니다. 권한 확인: 때로는 테이블이나 뷰에 대한 적절한 권한이 부여되지 않아 ORA-00942 오류가 발생할 수 있습니다. 필요한 권한이 부여되었는지 확인하고 부여되지 않은 경우 관리자에게 요청하여 권한을 추가해야 합니다. 테이블 또는 뷰의 존재 확인: ORA-00942 오류가 발생할 때 해당 테이블 또는 뷰가 실제로 데이.. 2024. 2. 5. SQL Error [4082] [42000]: ORA-04082: NEW or OLD references not allowed in table level triggers 오류 코드: ORA-04082 설명: 테이블 레벨 트리거에서 NEW 혹은 OLD 참조는 허용되지 않습니다 원인: 트리거가 테이블 트리거의 "new"또는 "old"값에 액세스 중입니다. 조치: 새로운 참조 나 오래된 참조를 제거하십시오. FOR EACH ROW를 사용하여 로우 레벨 트리거로 변경해야 한다 위 사진을 보면 FOR EACH ROW가 주석안쪽 으로 들어가 있다 수정 2024. 2. 4. 트리거연습2 오류 구매가 발생하면 , 해당 유저의 지금까지 구매한 총 금액을 저장하기 트리거를 작성중 발생한오류 처음 트리거를 작성할시 CREATE OR REPLACE TRIGGER SUM_BUY_PRICES_TRIGGER AFTER INSERT -- INSERT 발생 이후 ON BUY FOR EACH ROW --BUY 테이블에 -- BUY 테이블에 INSERT 발생 이후 각 ROW에 대하여 --액션을 수행 시켜줘라 BEGIN DECLARE total INT; --변수선언 DECLARE user_id INT DEFAULT NEW.user_id; -- INSERT 발생한 튜플에 user_id를 user_id에 넣어줘라 --NEW --INSERT 된 TUPLE을 가리킴 --UPDATE된 후의 TUPLE을 가리킴 select .. 2024. 1. 30. 이클립스 트리거 에러 이클립스에서 SQL 파일에서 CREATE OR REPLACE TRIGGER TRRIGER_NAME BEFORE UPDATE ON USERS FOR EACH ROW BEGIN INSERT INTO USERS_LOG (LID, MID, NICKNAME) VALUES ((SELECT NVL(MAX(LID), 0) + 1 FROM USERS_LOG), :OLD.MID, :OLD.NICKNAME); END; 해당 구문을 실행 시켰을때 에러가 발생하였다 Group Exection 오류가 발생하였다 드롭메뉴를 확인해보니 ORA-00900: invalid SQL statement 이 해당에러는 오타 아니면 SQL문 맨뒤에 세미콜론이 붙어있을때 발생한다 그래서 CREATE OR REPLACE TRIGGER TRRIGER.. 2024. 1. 27. uncaught syntaxerror: unexpected token ';' 세미 콜론이 있지만 오류가 났었다 해당 에러는 로그인을 하지 않고 해당 페이지를 들어왔을때 var loginId =;이 된다 그래서 해당 에러가 발생하였다 해결방안 EL 태그를 문자열로 만들어 저장하니 해결되었다 2024. 1. 22. SQL - ORA-01427: single-row subquery returns more than one row SELECT CASE WHEN EXISTS (SELECT 1 FROM SAVE WHERE LOGIN_ID='user') THEN (SELECT SID FROM SAVE WHERE LOGIN_ID='user') ELSE 0 END AS SAVE_RESULT, Q.QID,Q.TITLE,C.CATEGORY FROM QUESTIONS Q JOIN CATEGORY C ON Q.CATEGORY = C.CGID WHERE Q_ACCESS='T' ORA-01427: single-row subquery returns more than one row ORA-01427 오류는 단일 행 하위쿼리가 여러 개의 행을 반환하는 경우 발생합니다. 주어진 SQL 문에서도 해당 오류가 발생한 이유는 SELECT SID FROM SAVE.. 2024. 1. 17. Listener refused the connection with the following error - 연결을 거부 프로그램에서 DB커넥 후 close를 안해서 발생한오류이다 하지만 분명히 커넥션을 종료해 주었지만 발생하였다 그러면 CTRL에서 반복문으로 insert 메소드를 호출하는 속도와 db에 insert하는 속도가 달라 커넥션이 close 되기 전에 커넥션 수가 너무 많이 생겨 발생하는 오류라고 유추할 수 있었다 해결방안 ctrl에서 Thread.sleep을 이용해 insert호출하는 속도를 늦춰서 해결하였다 전 Crawling c = new Crawling(); ArrayList dummy = c.name(); if (loginINFO == null) { view.printFalse(); continue; } for (int i = 0; i < dummy.size(); i++) { BoardDTO bDTO =.. 2023. 12. 21. 인덱스 누락 - sql 인덱스가 누락 되었다는 오류를 만났다 private static final String UPDATE="UPDATE BOARD SET TITLE =?, CONTENT =? WHERE BID=?"; 이처럼 인덱스는 3개인데 pstmt=conn.prepareStatement(UPDATE); pstmt.setString(1, bDTO.getTitle()); pstmt.setString(2, bDTO.getContent()); int result=pstmt.executeUpdate(); 인덱스를 2개만 넣었더니 오류가 발생하였다 그래서 나머지 하나도 넣어서 오류를 해결했다 2023. 12. 20. invalid character(잘못된 문자) -sql 에러가 나서 검색해보니 잘못된 문자가 있다라는 오류였다 sql 작성중 세미콜론을 넣어 오류 발생하였다 그래서 세미콜론을 지워 오류해결하였다 문자가 부적합 하다는 오류가 발생했을 시, 문자 부호 한번더 체크하기 2023. 12. 20. ConcurrentModificationException 에러(동시 수정) public boolean delete(MemberDTO mDTO) { boolean flag=false; for(MemberDTO data:this.mdatas) { if(data.getMid().equals(mDTO.getMid())) { this.mdatas.remove(data); flag=true; } } if(flag) { return true; } // 회원탈퇴 return false; } 회원 탈퇴시 에러가 발생했다 객체를 순회하면서 요소를 삭제하거나 변경을 할 때 발생합니다. 해결방안 public boolean delete(MemberDTO mDTO) { boolean flag=false; for(MemberDTO data:this.mdatas) { if(data.getMid().equa.. 2023. 12. 18. IndexOutOfBoundsException 원인 : 인덱스가 음수이거나 배열 크기보다 크거나 같은 경우 발생할 수 있습니다. 수정하는 방법 사용자 입력 유효성 검사 : 사용자 입력으로 인해 예외가 발생한 경우 입력의 유효성을 검사하여 배열의 유효한 인덱스 범위 내에 있는지 확인 배열 크기에 따라 for 루프 사용 : 반복 횟수가 고정된 기존 for 루프를 사용하는 대신 크기에 따라 배열을 반복하는 for 루프를 사용할 수 있음 try-catch 블록 사용 : 입력을 검증할 수 없거나 루프를 변경할 수 없는 경우 try-catch 블록을 사용하여 예외를 포착하고 코드에서 처리할 수 있음 2023. 12. 12. 널포인터 익셉션 NPE 널포인터 익셉션 NPE:"주어"가 없어서 발생하는이슈 메서드 수행 주체 ex) 널 studentDTO.getSearchCondition().equals("점수검색") studentDTO. 없거나 -> ctrl 에서 책임지고 new 해주기때문에 100%로 문제가아님 studentDTO.getSearchCondition(). 가 없는 상황! 1) get SearchCondition 할때 널이 되지 않도록 값을 준다 2) if 순서 변경 2023. 12. 12. Random 에러 random 범위는 양수여야 한다는 내용입니다. 2023. 12. 10. 이전 1 다음