본문 바로가기

분류 전체보기

(112)
새싹체험_java_1023 1023 내부클래스(= 중첩클래스 = 클래스 내부에 선언한 클래스) :: 클래스가 여러 클래스와 관계를 맺는 경우에는 독립적으로 선언하는 것이 좋지만 특정 클래스와 관계를 맺는 경우에는 클래스 내부에 선언하는 것이 좋음 내부클래스에서 외부클래스의 멤버를 쉽게 접근할 수 있음/ 코드의 복잡성을 줄일 수 있음 내부클래스는 선언 위치에 따라서 두가지로 분류되는데 클래스의 멤버로 선언되는 클래스를 멤버 클래스라고 하고 메소드 내부에 선언되는 클래스를 로컬클래스라고 함 멤버클래스는 클래스나 객체가 사용 중이라면 재사용이 가능하다 / 로컬클래스는 메소드를 실행할때만 사용되고 종료되면 사라짐 멤버클래스 (인스턴스 멤버 클래스 / 정적 멤버 클래스) 인스턴스 멤버 클래스는 인스턴스 필드와 인스턴스 메소드만 선언 가능하..
새싹체험_java_1022 1022 생성자 :: new 연산자로부터 클래스 객체를 생성할때 호출되어 객체의 초기화 역할을 함 자바의 클래스는 생성자가 반드시 존재해야 함/ 클래스를 만들때 생성자 선언을 생략했다면 자바 컴파일러는 내용이 비어있는 기본 생성자를 자동으로 만들어 줌 int[] array = {1,2,3}; 생성자는 리턴타입이 없고(리턴 값이 없는게 아니라 리턴 타입 자체가 없다는 의미) 클래스 이름과 동일함 필드를 선언할때 초기값을 주면 해당 클래스로 부터 생성되는 객체들은 모두 같은 값을 갖게 됨 생성자에서 매개변수로 매개값을 받아 필드 초기화를 하면 필드의 데이터를 (외부에서 제공되는)다양한 데이터 값으로 초기화 할 수 있음 객체 초기화란 필드를 초기화 하거나 메서드를 호출해서 객체를 사용할 준비를 하는 것 생성자..
기록_1018 HTTP 프로토콜 메서드 > 클라이언트가 웹서버에게 요청하는 목적 및 그 종류를 알리는 수단 * 요청 메소드 예시 :: GET /dir/page.html HTTP/1.1 HTTP 패킷 클라이언트가 서버로 요청을 했을때, 보내는 데이터를 HTTP 패킷이라 표현함 HTTP 프로토콜을 쓰기때문에 앞에 HTTP가 붙고 인터넷을 통해 보내는 데이터를 패킷이라고 불러서 HTTP패킷 이라고 함/ HTTP패킷의 구조는 크게 header, body로 나뉘어짐 header에는 HTTP 메서드 방식을 작성하고, 클라이언트&브라우저 정보, 접속 URL 등 과 같은 클라이언트 정보를 담는다. body는 보통 비어있지만, 특정 데이터를 담아서 서버에게 요청을 보낼 수 있음 ex) json GET/POST 방식 GET :: key..
java web_1017 다시입력 입력서식을 통해 get방식으로 요청하면 화면단의 사용자 입력값(parameter) 전송과 함께 요청을 처리하는 컨트롤러 호출 http://localhost:8080/login?id=ididid&pw=1234 *이후에 db연동도 함께 하면 화면에서 받아온 입력값을 가지고 쿼리 작업 후 반환값을 화면에 전달해서 보여줄 수 있음 여러개의 값 전송 후 getParameterValues()로 배열에 담아 param 값 확인 *uri 문자열 copy하면 http://localhost:8080/reqTest?id=id&pw=23&subject=%EC%9E%90%EB%B0%94&subject=c%EC%96%B8%EC%96%B4&subject=jsp 이런식으로 나오는데 이때는 decodeURI("http://l..
새싹체험_java_1016 1016 메서드 :: 객체의 기능 역할 public void run(); public void walk(); 소스파일의 이름은 public class 이름과 일치해야함 하나의 소스파일에는 하나의 public class 만 있어야 함 > 보통 하나의 소스파일에는 하나의 클래스만 작성하는 것이 좋음 // 클래스 안에 구성 멤버 :: 필드 생성자 메서드 // 필드란 객체의 속성을 나타냄 // class에 선언된 변수를 필드라고 함 class Person{ String name; int age; // 생성자 (객체를 생성할 때 초기화 역할) // 생성자는 class 이름과 같은 이름이다 public Person() {}; } Person person = new Person(); // class타입 class변수..
새싹체험_java_1015 1015 반복문(for문) > 적은양의 코드로 반복되는 코드를 작성할 수 있음 (편리함/유지보수용이) 초기화식 > [조건식 > 실행문 > 증감식 >조건식 > 실행문 > 증감식] ....반복 후 조건 false시 반복 종료 *소스파일을 저장하면 이클립스는 자동으로 바이트 파일을 만들어줌 굳이 화면 보지 않아도 되는 실습은 소리만 듣고 연습하기 * 2,4,6,8,10 출력 예제 for(int i = 2; i num[j]) { tmp = num[i]; num[i] = num[j]; num[j] = tmp; } } System.out.println(num[i]); } *** 작동X >>> 모든 IDX의 값끼리 서로 비교할 수 없기 때문 for(int i = 0; i < num.length-1; i++) { if..
기록_1014 마이바티스 #{} ${} 차이 > #{}재활용 가능 / ${} 동적으로 값 할당 가능 > 일반적으로는 #{}을 사용하기때문에 필요한 경우만 ${}를 활용하면 될 것 같다 https://madplay.github.io/post/difference-between-dollar-sign-and-sharp-sign-in-mybatis MyBatis에서 샾(#{})과 달러(${})의 차이는 무엇일까? 마이바티스(MyBatis)에서 XML 파일에 쿼리문을 작성할 때, 샾(#{}) 기호와 달러(${}) 기호의 차이점은 무엇일까? madplay.github.io jQuery enter Event 처리 keyup() :: 누른 키에서 손을 뗄 때 실행 $("#아이디명").keyup(function(e){ if(e.keyC..
java web_1014 어제자로 5장의 어노테이션을 이용한 servlet 매핑까지 추가 정리했고 오늘은 10장 서블릿 필터와 리스너 기능까지 마무리 할 예정이다. 확실히 전에 책을 봤을 때는 개념 위주로 이해했었는데 스프링으로 프로젝트를 만들어본 경험을 바탕으로 다시 실습해보니까 좀 더 머릿속이 정리되는 것 같다. 그냥 단순히 실습만 하기 보다는 기본적인 웹 프로그램 구동 원리나 디렉토리 구조, 설정 방식, cs 지식까지 최대한 채워가면서 공부하려고 한다. 빨리 책 한번 싹 다 돌리고 프로젝트 만들자. > 서블릿 기초 _ 서블릿 기본 기능(요청 받기/ 비즈니스 로직 수행 / 처리 결과 클라이언트에 응답) 수행 과정 사용할만한 메서드는 requestURI나 ContextPath, session 정도겠지만 그래도 초기 개념을 다시..