코딩도전기85 CODO Day27_JAVA_I.O(Stream/Upload) Input & Output InputStream : 외부에서 파일을 읽어올 때 사용 Input Stream >> read() >> Output Stream > flush()* : (남은 데이터 내보내기) >> close()* : (자원 닫기) OutputStrem : 파일을 외부로 내보낼 때 사용 Reader >> read() >> Writer > flush()* : (남은 데이터 내보내기) >> close()* : (자원 닫기)* # flush()* 해주지 않으면 stream에 데이터가 남아 있어 파일이 정상적으로 실행되지 않을 수 있음 # close()* 해주지 않으면 접근할 수 있는 자원이 점점 줄어들어 서버 속도가 느려지다가 die... InputStream 사용 순서 File 객체에 매개변수로 .. 2023. 3. 10. CODO Day26_JAVA_I.O(JAVA Input Output) JAVA I.O.(JAVA Input Output) Java에서는 System(STS) 외부의 data를 가져와서 다룰 수도 있음 Stream : system 안과 밖으로 이동하는 Data의 흐름 또는 Data가 흐르는 통로 Java.io package는 크게 InputStream 과 OutputStream이 있음 바이트 기반과 문자 기반으로 분류 JAVA I.O. Byte Base Character Base input output input output 최상위 클래스 InputStream OutputStream Reader Writer 하위 클래스 FileInputStream BufferedInputStream DataInputStream FileOutputStream BufferedOutputStre.. 2023. 3. 9. CODO Day26_JAVA_MVC(Map – Hash Map) Map – Hash Map Map 인터페이스로 구현한 대표적 Map 컬렉션 key와 value로 이루어진 자료 구조 Key는 순서가 없으며 중복도 허용되지 않음(중복된 key 값이 들어오면 value 값만 덮어씀) Collection interface를 구현하지 않기 때문에 기존과는 조금 다른 method를 사용 Hash Map에서 단일값을 검색할 경우 key를 통해 value를 찾음 index가 없기 때문에 내용을 하나씩 꺼내는 방법을 제공 keySet : key값만 가져와서 value값을 찾음 entrySet : key와 value를 같이 가져와서 각각 뽑 모든 값을 가져 올 경우는 두가지 방법을 사용 모든 Key를 Set으로 가져와 key를 iterator() 2. Map을 Set으로 가져와 key.. 2023. 3. 9. CODO Day25_JAVA_MVC(Linked List/Set Collection(HashSet)) Linked List 사용방법은 Array List와 같음 Array List와 달리 Linked List는 좌우 데이터의 주소를 기억하는 구조 전체 index가 움직이지 않고 좌우 주소값만 기억하기 때문에 중간 index에 데이터 추가/삭제 시 효율적임 중간에 값을 넣을 경우 속도가 빠르지만 마지막 위치에 넣을 경우 Array List보다 느림 index.jsp(AraayList와 LinkedList의 속도 비교) 동기방식 : 서버에서 응답이 올 때까지 아무것도 할 수 없음(반복실행시키면 사) 테스트의 결과가 나올 때까지 브라우저의 로딩바가 계속 돌아감 AraayList와 LinkedList의 속도 비교 개의 데이터를 끝 부분 중간 부분 에 넣기 시작 ArrayList : ${arrList} Linke.. 2023. 3. 8. CODO Day24~25_JAVA_MVC(Generic) Generic() 배열의 타입을 지정해줌 클래스타입을 generic에 넣어주거나, 선언 시 특정 타입을 지정해주지 않으면 객체화시 마다 타입변경 가능 클래스를 타입으로 넣어줄 경우 한번에 여러 값을 넣어줄 수 있음 ex) 타입이 인 ArrayList 안에 있는 모든 멤버는 BoardBean타입임 객체화 시 안에 값이 바뀔 때마다 변경됨 list.jsp(게시판 만들기) 글쓰기 no 제목 작성자 삭제 작성된 글이 존재하지 않습니다. ${stat.index} ${board.subject} ${board.user_name} 삭제 # el태그(${})에서는 객체 내 private 필드를 getter()를 사용하지 않고 꺼내올 수 있음 BoardController package kr.co.web.control.. 2023. 3. 7. CODO Day23~24_JAVA_MVC(Collection Framework - ArrayList/Vector) Collection Framework(interface) Collection interface를 최상위로 하는 자료구조 interface List, Set, Map interface를 implements하여 각 collection으로 사용 다양한 자료구조를 가짐 초기선언 시 크기를 지정하지 않아 유동적으로 사용가능(크기 무한) 최상위 collection과 하위 List, Set, Map interface를 구현하기 때문에 Collection Framework에서 데이터 추가,삭제, 검색 방법은 거의 비슷 List Collection - ArrayList Array List는 index로 객체를 관리한다는 점에서는 Array와 유사 But Array와 달리 index가 유연(지정한 크기 넘어도 됨) 크기가.. 2023. 3. 6. CODO Day23_JAVA_MVC(Exception) Exception & Error(면접질문*) Error : 문법문제로 실행에 문제가 생겨 발생하는 오류(실행되지 않음) Exception : 사용자의 오조작이나 외부문제로 발생하는 오류(실행은 시작되나 오류가 발견되면 멈춤) Exception의 종류 일반예외(Exception) : Compile time에 실행되는 exception으로 coding 중에 알 수 있음(이클립스에서 잡아줌) JVM에서 필요하다고 판단하면 자동으로 예외처리를 해주기 때문에 Runtime Exception만 신경쓰면됨 실행예외(Runtime Exception) : Run time에 실행되는 exception으로 실행해봐야 알 수 있음 Runtime Exception의 종류 NullPointException : 객체가 없는 상태에.. 2023. 3. 6. CODO Day22_JAVA_MVC(String) String(문자열) Programming에서 문자열은 다루는 것은 byte와 char가 유일 본래 문자열(string)은 char의 배열(array) String 은 char 배열을 다루기 위한 class char a = 'a'; / String a = "a"; Char[] a = a b c d // String a = “abcdefg”; public class HomeController extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //문자열 만드는 방식 1 String str = "Hello S.. 2023. 3. 6. JSP Templates 설정 다이나믹 프로젝트를 하나 생성해줍니다. WEB-INF폴더에 새로운 jsp 파일을 만들어주기 위해 new >> Other를 클릭하여 JSP File을 선택해주고 Next를 눌러줍니다. 그 후 파일이름에 index라고 작성해준 후 Next를 누르면 다음 창이 나타납니다. 빨간색으로 표시된 JSP Templates를 클릭하여 Edit버튼을 클릭해줍니다. HTML 내용을 원하는대로 작성해준 뒤 OK버튼을 클릭해주고 표시된 부분을 클릭해줍니다. Templates 내용이 사라져있으면 다시 해당 파일을 선택해 Templates 내용을 확인한 후 Finish 버튼을 클릭해줍니다. 2023. 3. 2. 이전 1 ··· 3 4 5 6 7 8 9 10 다음