반응형

JAVA 43

GET 방식과 POST 방식

HTTP 프로토콜이 제공하는 7개의 메서드 중 웹 서비스 개발 시에 주로 사용하는 GET 메서드와 POST 메서드. 요청과 응답 사용자가 URL을 브라우저 주소창에 작성하고 엔터를 누르면 해당 웹페이지로 이동한다. 사용자에게 웹페이지를 보여주는 내부 처리에서, 클라이언트 컴퓨터가 서버 컴퓨텅[ 웹페이지를 보여달라고 하는 것을 요청이라고 하고, 서버 컴퓨터가 요청한 클라이언트 컴퓨터에게 웹페이지 내용을 표현하기 위해 HTML 문서로 보내는 것을 응답이라고 한다. HTTP 패킷 클라이언트가 서버로 요청을 보낼 때, 보내는 데이터를 HTTP 패킷이라고 한다. HTTP 프로토콜을 쓰므로, 앞에 HTTP가 붙고 인터넷을 통해 보내는 데이터는 패킷이라 하여, 이를 합쳐 HTTP 패킷이라 한다. 구조는 헤더와 바디로..

JAVA/공부 2022.09.04

쿠키와 세션(+캐시)

쿠키(Cookie) · 정의 클라이언트 로컬(정보를 저장하는 곳)에 저장된 key와 value 값이 들은 작은 데이터 파일. · 구조 이름 : 각 쿠키를 구별하는 데에 사용. 값 : 이름과 관련된 값. 유효 시간 : 쿠키 유지 시간. 도메인 : 쿠키를 전송할 도메인. 경로 : 쿠키를 전송할 요청 경로. · 특징 - 사용자 인증이 유효한 시간을 명시할 수 있으며, 유효 시간이 정해지면 브라우저가 종료되어도 인증이 유지된다. - 클라이언트에 300개의 쿠키를 저장할 수 있고, 도메인 하나당 20개의 값을 가질 수 있다. 쿠키 하나의 값은 4KB까지다. - Response Header에 Set-Cookie 속성을 사용하면 클라이언트에 쿠키를 만들 수 있다. - 사용자가 따로 쿠키를 요청하지 않아도 브라우저가 ..

JAVA/공부 2022.09.03

OSI 7계층

OSI 7계층 OSI : Open System Interconnection의 약어. 네트워크 통신 과정을 7단계로 나눈 것을 의미한다. 유래 초창기 컴퓨터는 통신 시의 HW/SW의 호환을 고려하지 않고 개발되었다. 이에 국제 표준화 기구(ISO)는 다른 컴퓨터 간 통신 기능을 7계층으로 구분해 각 계층마다의 표준화된 서비스와 프로토콜을 규정하여, 서로 다른 환경의 컴퓨터 간 통신이 가능해졌고, 각 계층은 독립적인 역할을 수행할 수 있어 문제가 발생하여도 계층별로 원인 분석을 통해 원만한 해결이 가능해졌다. 헤더가 붙는 이유는 데이터를 전송할 때 각 층을 인식할 수 있어야 하기 때문이다. Encapsulation and Decapsulation 데이터 전송은 7계층에서 시작해 제일 하위 계층인 1계층까지 ..

JAVA/공부 2022.09.02

자바 Adapter 클래스

이벤트를 처리하기 위해선 인터페이스를 사용해야 하는데, 인터페이스엔 구현해야 하는 추상 메서드가 제공된다. Adapter 클래스가 인터페이스를 구현했기 때문에 이벤트 처리를 구현할 때 인터페이스 대신 Adapter 클래스를 사용해 원하는 메서드만 구현해 쓰면 된다. 그렇지 않으면 실제로 필요하지 않은 메서드도 모두 코드에 작성해줘야 하기 때문에 지저분해지기 때문이다. 사용방법 1) 외부 클래스에 별도 클래스를 생성해 생성자로 필드 공유. import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.Key..

JAVA/공부 2022.09.01

자바 AWT 이벤트

이벤트 소스 이벤트가 발생할 수 있는 대상. 컴포넌트. 이벤트 리스너 이벤트 소스에서 이벤트가 발생하는지 검사하닥 이벤트가 발생되면 실제적으로 이벤트를 처리할 수 있는 인터페이스 이벤트 핸들러 이벤트 리스너에 전달된 이벤트를 실제로 처리할 수 있도록 이벤트 리스너에 포함되어 있는 메서드로 발생된 이벤트 객체를 받아 실제적인 처리를 해주는 기능을 가진다. import java.awt.BorderLayout; import java.awt.Button; import java.awt.Frame; import java.awt.Panel; import java.awt.TextArea; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; ..

JAVA/공부 2022.09.01

스레드

프로그램 : 파일들의 집합 프로세스 : 메모리 상에 로딩된 프로그램 멀티 프로세스 : 동일 프로그램 메모리에 여러 번 로딩하면 여러 개의 프로세스가 동작하는 것. 스레드 : CPU를 사용하는 최소 단위. CPU와 메모리의 작업 수행 속도 차 발생해서 CPU는 메모리의 프로세스 내부 스레드와 대화함. · 스레드 동시성 순차적 : 단일 스레드 작업 동시성 : 처리할 작업 수가 CPU의 코어 수보다 적을 때병렬성 : 처리할 작업 수가 CPU의 코어 수보다 많을 때 · 스레드 생성 방법 1. Thread 클래스 상속받아 run() 메서드를 오버라이딩2.① Runnable 인터페이스를 구현한 Runnable 객체를 생성 (run()메서드 사용)② Thread 객체를 생성할 때 생성한 Runnable 객체를 생성자..

JAVA/공부 2022.07.11

예외 처리

예외 처리 프로그램이 멈출 때까지 프로그램을 가동해 끝까지 잘 마무리 해주도록 하는 것, (프로그램 강제종료 되지 않도록) · 에러 : JVM 자체에서 발생하는 오류로, 개발자가 해결할 수 없는 오류. · 예외 : 개발자가 해결할 수 있는 오류. (해결보단 차선책을 하는 것..) · 예외 최상위 클래스 : Exception, 오류 최상위 클래스 : Error. 모두 Throwable 클래스를 상속받음. -> 예외와 오류 모두 Throwable 클래스의 기능을 포함한다. · Exception 클래스 1. 일반 예외 : Exception 클래스 직접 상속받는 예외 클래스. 컴파일 전에 예외 발생 문법을 검사. 예외 처리 하지 않으면 문법 오류 발생. 2. 실행 예외 : RuntimeException 클래스를..

JAVA/공부 2022.07.11

이너 클래스와 이너 인터페이스

이너 클래스 : 클래스 내부에 포함되는 클래스 이너클래스는 인스턴스 멤버 이너 클래스, 정적 이너 클래스, 지역 이너 클래스, 익명 이너 클래스로 나뉠 수 있다. 인스턴스 이너 클래스 객체 내부에 멤버의 형태로 존재. 자신을 감싸고 있는 아우터 클래스의 모든 접근 지정자의 멤버에 접근 가능하다. · 바이트 코드 표현 아우터 클래스 : 아우터 클래스.class 이너 클래스 : 아우터 클래스$이너 클래스.class ※ 이너 클래스는 단독으로 사용이 불가하고 반드시 아우터 클래스를 이용해야만 사용할 수 있다. · 객체 생성하기 이너 클래스의 객체를 생성하려면 아우터 클래스의 객체를 먼저 생성해야 한다. 아우터 클래스 객체의 참조변수를 통해 객체 내부 이너 클래스의 생성자를 아래와 같이 호출할 수 있다. 아우터..

JAVA/공부 2022.07.11

자바 완전 정복 14장 연습문제 풀이

Q1. 다음 예외 발생 코드와 예외의 종류를 연결하시오. Q2. 다음 코드의 try{} 구문과 catch(){} 구문에는 공통적인 코드가 포함돼 있다.finally{} 블록을 사용해 중복을 재거한 코드를 작성하시오. try { int a = 3; System.out.println(5/a); System.out.println("출력 내용 1"); System.out.println("출력 내용 2"); System.out.println("출력 내용 3"); } catch(ArithmeticException e) { System.out.println("예외 발생"); System.out.println("출력 내용 1"); System.out.println("출력 내용 2"); System.out.println..

자바 완전 정복 13장 연습문제 풀이

1번. 다음과 같이 클래스 내부에 이너 클래스와 이너 인터페이스가 위치할 때 컴파일 이휴 생성되는 모든 .class 파일명을 쓰시오. class A {//A.class class B {}//A$B.class interface C {}//A$C.class class D {//A$D.class void def() { //지역이너클래스 : 아우터클래스+$+숫자+지역이너클래스+.class class E {}//A$D$1E.class } } } 2번. 클래스 A 내부에 이너 클래스 B가 있을 때 다음 코드와 같이 b.bcd()의 결과가 "이너 클래스와 메서드"로 출력되도록 이너 클래스 객체를 생성하는 코드를 작성하시오(참조 변수명은 b로 정함). class A { class B { void bcd() { Syst..

반응형