본문 바로가기

JAVA

(16)
[JAVA] 반복문(for문)안에서 삭제 시 생기는 에러(ConcurrentModificationException ) 반복문을 돌리면서 특정 원소를 삭제하던 중 제거되어야 하는 리스트가 제거되지 않는다는 걸 깨달았다. 처음 오류가 난 코드를 공유한다. List exampleList = exampleService.selectExampleList(); exampleList.forEach(item -> { if("삭제".equals(item)){ exampleList.remove(item); } }); 무엇이 문제인지 처음엔 몰랐다. 마찬가지로 아래의 코드에서도 동일한 오류가 발생했다. List exampleList = exampleService.selectExampleList(); for (example exampleList : item) { if ("삭제".equals(item)) { exampleList.remove(i..
예외 처리 가이드 - 임도형님 글 정리 예외 처리에 대해 알아보다 좋은 가이드라인이 있길래 정리를 해보았다. 보라색 가이드글을 먼저 읽고 빨강색 가이드글을 읽으면 이해가 잘된다. 예외 처리 가이드 - 모든 일에는 예외가 있다. - 모든 시스템에는 예측하지 못하는 상황이 있다. - 작업의 절차를 정의하는 프로그래밍에도 예외가 있을 수밖에 없다. 예외의 종류 - 예측 가능한 예외 예측 가능한만큼 예외처리 자체가 개발의 일부이다. ex) 로그인을 실패했다. DB에 레코드가 없다.  파일을 찾을 수 없다. - 예측 불가능한 예외 버그 아니면 시스템 환경에 기인한다. 실시간 처리는 불가능하다, 대신 개선되어야 한다. 예외 처리가 제대로 되지 않으면? - 문제가 발생해도 로그를 보지 않는다. - println(), break point에 의지한 디버깅..
[JAVA] 자바 배열 ArrayList 중복제거 정리 1.로직을 통한 중복 제거 contains()를 사용해, list를 for문 돌면서 arrayList에 포함되어있지 않는 데이터만 arrayList에 add 한다. contains() 함수는 대상 문자열에 특정 문자열이 포함되어 있는지 확인하는 함수다. 대/소문자를 구분한다. package test; import java.util.ArrayList; public class test { public static void main(String[] args) { String[] list = {"중복아님", "중복", "중복"}; ArrayList arrayList = new ArrayList(); for(String item : list){ if(!arrayList.contains(item)) arrayLis..
이클립스 .Project 관련 오류 이클립스에서 프로젝트를 시작하면서 복사. 붙여놓기 열심히 했더니 오류가 터졌다. 평상시에 사용하던 자바가 아니다. 단축기도 먹지를 않는다. 싸함이 느껴졌다. 내가 어디를 잘못했는가 거슬러올라가보았다. 그러다 찾았다. 이클립스에서의 .project 설정을 안해놨다. 다시 .project의 설정을 열심히 복사, 붙여넣기 설정을 완료하니 제대로 돌아간다. 오류도 뜨고 단축키도 잘 먹는다. .project - 이클립스 워크스페이스 상에서 프로젝트를 생성하게 되면 자동으로 생성되는 파일 - 프로젝트 파일 정보가 담겨있다 - "."으로 시작하니 Unix계열에서는 숨김파일 - 프로젝트가 웹 프로젝트인지 자바 프로젝트인지에 구별 가능함 - 자세한 도움말 : https://help.eclipse.org/2021-03/i..
ResultSet 객체의 커서를 조작하는 메소드 first() 커서의 위치를 조회 결과 값의 첫번째로 이동 last() 커서의 위치를 조회 결과 값의 마지막으로 이동 next() 커서의 위치를 순방향으로 이동 previous() 커서의 위치를 역방향으로 이동 getRow() 커서의 인덱스 값을 조회 isFirst() 커서의 위치가 처음인지 여부 조회 isLast() 커서의 위치가 마지막인지 여부 조회 beforeFirst() 커서의 위치를 가장 처음으로 이동: rs.first() 메소드의 이전 공간으로써 비어있는 공간 afterLast() 커서의 위치를 가장 마지막으로 이동: rs.last() 메소드의 이후 공간으로써 비어있는 공간 예시 rs.last(); //커서를 마지막으로 이동 result = new String[rs.getRow()][10]; ..
Operation not allowed for a result set of type ResultSet.TYPE_FORWARD_ONLY. Operation not allowed for a result set of type ResultSet.TYPE_FORWARD_ONLY. 위와 같은 오류가 발생했다. Statement stmt = null; ResultSet rs = null; StringBuffer sb = null; try{ stmt = dbconn.create(); sb = new StringBuffer(); sb.append("SELECT * FROM TABLE\n"); System.out.println(sb.toString()); rs = stmt.executeQuery(sb.toString()); rs.last(); String[][] result = new String[rs.getRow()][6]; rs.beforeFirst(..
[TOMCAT] 프로젝트 실행중 오류_사이트에 연결할 수 없음 어제는 잘 쓰고 있는 톰캣을 7.0에서 9.0으로 바꾸고 싶은 월요일이였다. 생각없이 7.0을 삭제하고 9.0을 돌렸더니 잘 연결되던 사이트가 연결이 되지 않았다. 구글링을 해보니 1. 톰캣 프로젝트 확인 2. tomcat >> web modules 확인 3. tomcat >> properties >> General >> switch Location확인 4. server.xml >> port 번호 확인 5. server.xml >> host 확인 6. 프로젝트 application.properties 확인 다양한 방안들이 검색이 된다. 하지만 사이트는 연결이 계속해서 연결이 안되었고... 사수님께 도움을 요청했다... 해결방안은 간단했다. server.xml >> Connector port번호 확인 80..
[TOMCAT] 프로젝트 실행중 오류 1. 프로젝트 Clean 2. 톰캣 Clean 3. 톰캣 모듈 확인 나의 경우엔 3번의 Path와 프로젝트가 제대로 매칭되지 않아 생기는 오류였다. 5월 03, 2021 11:45:33 오전 org.apache.catalina.startup.Catalina start 심각: 필수 항목인 서버 구성요소가 제대로 시작되지 못하여, Tomcat이 시작될 수 없습니다. org.apache.catalina.LifecycleException: 자식 컨테이너를 시작 중 실패했습니다. at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:928) at org.apache.catalina.core.StandardEngine.startInte..