Java공부 7

4/13 프로젝트 진행 중 공부

1) forward / redirect 구분 은행창구라고 치면 forward : 서버 내에서 처리 => 같은 창구 뒷줄 (컨트롤러 -> jsp) redirect : 클라이언트에게 요청 보냄 => 다른 창구로 보냄 (컨트롤러 -> 컨트롤러) redirect 쓸 때는 RedirectAttributes 메소드를 써야만 1회성 메세지를 넣을 수 있다. redirect(get방식) + Model을 쓰면 redirect시 get방식으로 주소창에 model에 추가한 내용이 그대로 뜬다. 2) Ajax + 파일버튼 처리하기 - 사진 추가 버튼 누를 때와 drag & drop을 사용할 때 두 가지를 같은 컨트롤러로 보냈는데 작동이 되서 뒀는데 이러면 안됨!!! => ajax 처리용 컨트롤러는 분리해야한다. 매개변수에 @..

Java공부 2023.04.13

AJAX 사용 후 Redirect 무반응 문제

네트워크에서 확인할 때는 list.do 요청까지 확실히 들어간 모습! 분명히 맞게 작성했는데도 list로 빠지는 redirect가 작동을 하지 않아서 검색해보니 ajax사용 이후에는 redirect가 작동하지 않는다는 것을 알아냈다. ㅇ 해결방법 뷰(jsp)에서 페이지 이동을 걸어주면 삭제가 완료 된 후의 리스트가 호출된다. $('#deleteBtn').click(function(){ $.ajax({ url : '/board/delete.do', data : {"no" : }, type : 'GET', dataType : 'text', success : function() { alert('삭제가 성공하였습니다.'); location.href='/board/list.do'; }, error : functi..

Java공부 2023.01.29

Set

Set 인터페이스! 1) 특징 - 순서(인덱스) 유지 XXXXX - 데이터 중복을 허용하지 않는다. (선체크한 후 등록) - 순서(인덱스)가 없으므로 get으로 꺼낼 수 없음 => iterator 객체사용! 2) Set 인터페이스 구현 크래스 종류 - SortedSet, TreeSet, HashSet - TreeSet은 값이 입력되면 왼쪽(작음) 오른쪽(큼)으로 분류를 한다. (작음)HeadSet + (부분집합)SubSet + (큼)TailSet 세 집합으로 이루어져 있다. 값이 없어서 Iterator + hasNext를 이용하여 돌려돌려 돌려서 값을 꺼내야한다. 위는 Set의 중복걸러내는 기능을 이용하여 중복되지 않는 숫자 다섯개를 뽑아내는 코드이다. Collection 아래에 Set / List가 있..

Java공부 2022.11.25

List

1. List 인터페이스 특징 - 순서 ㅇ - 데이터 중복저장 ㅇ 2. List 인터페이스 구현 클래스 - Stack, Vector, LinkedList(추가공간ㅇ, 쉽게추가/삭제ㅇ), ArrayList(배열, 사이즈지정 필수, 추가안됨) 3. 사용방법 - 데이터 추가 : list.add(123); - int, boolean 등 전부 가능 - 데이터 제거 : list.remove("abc"); 값 / list.remove(2); 인덱스번호 - 데이터 변경 : list.set(0, "yyy"); - 데이터 사이즈 : list.size(); - 데이터 꺼내기 : list.get(0); 1. 원리 - 상자에 짐이 차곡차곡 쌓이는 것처럼, 먼저 들어간 자료가 맨 아래에 위치하여 제일 나중에 들어온 값 부터 차례..

Java공부 2022.11.25

10.10 삼항연산자 -? :

(조건식) ? 식1 : 식2 - 조건식의 연산결과가 true면 '식1'의 결과를 반환 / false면 '식2'의 결과를 반환. - if문을 간단히 쓸 때 사용o x가 -10이므로 0보다 크거나 같지 않다. 즉 식2로 넘어가서 -x가 도출되어야 하는데 x = -10 이므로 - - => +10이 된다. 결과 도출은 10 두번째 예시 컴활 if처럼 중복으로 조건을 계속 넣을 수 있는 구조였음.. (1) score 90보다 크거나 같으면 'A' (2) score 80보다 크거나 같으면 'B' (3) 두 조건 다 아니면 'C' score은 50이므로, 결과 도출은 C 이건 if문으로 예제 있길래 써 봄 삼항연산자가 (조건식)? 식1: 식2라면 if문은 if(조건식) { 식1 } else { 식2 } 위 방식으로 ..

Java공부 2022.10.10

Java 자동형변환

자.정) 형변환 생략 가능한 것 고르기 byte b = 10; char ch = 'A'; int i = 100; long l = 1000L; 1. b = (byte)i; // int(4byte) -> byte(1byte) 이므로 강제형변환 필요 2. ch = (char)b; // 틀림. byte(1byte) -> char(2byte)여서 가능한줄 알았는데 아니었다. byte(-127~128)의 범위와 char(0~65538)의 범위는 다르다. char에서는 음수가 불가능하기 때문에 형변환 필요 3. short s = (short)ch; // char, short는 같은 2byte지만 역시나 범위가 다르다. short(약-37,000~37,000). 4. float f = (float)l; // long(..

Java공부 2022.10.10

Java scanner util 오류 해결방법 / 자바 스캐너 오류 해결

분명 10분 전에 배웠는데 예제 끝나고 해보려니 기억 안나서 구글링하다가 결국 옆사람한테 도움받았다... Scanner 선언을 하면 맨위에 util이 생겨야 하는데 안생기고 자꾸 아래와 같은 오류가 떴다. 오류내용.. Scanner cannot be resolved to a type 구글 돌렸는데 결국 얻은 답은 import java.util.Scanner; 직접입력하라고 했다. 근데 직접입력 하기 싫음.. 정답은 Scanner scanner = new Scanner(System.in); 입력후 ctrl + 1을 누른 후에 Enter를 치면 이렇게 창이뜨면서, Enter를 하면 맨 위 import java.util.Scanner; 가 자동으로 생긴다. 별거 아닌건지 몰라도 구글링해서 안나오기 때문에 나같..

Java공부 2022.10.07