🤓천재교육 풀스택 1기 노트
JSP 세션
세션은 클라이언트의 상태 정보를 서버 측에 저장할 수 있다. 쿠키는 정보를 클라이언트에 저장한 후 네트워크로 주고받기 때문에 민감한 정보를 다루기엔 위험하다. 한편 세션은 서버가 직접 관리하므로 민감한 정보를 다루기에 더 적합하다. 세션이란? 세션은 클라이언트가 서버에 접속해 있는 동안 그 상태를 유지하는 것이 목적이다. 유지 시간 설정 세션은 웹 브라우저를 실행할 때마다 새롭게 생성된다. 이렇게 생성 된 세션은 설정된 유지 시간 동안 유지되며, 유지 시간이 만료되기 전에 새로운 요청이 들어오면 수명이 계속 연장된다. 그리고 만료 때까지 클라이언트가 아무런 요청을 하지 않거나 웹 브라우저를 닫으면 삭제된다. 세션의 유지 시간을 설정하는 방법은 두 가지가 있다. 1. /WEB0INF/web.xml에서 설정..

JSP 쿠키
쿠키 쿠키란 클라이언트의 상태 정보를 유지하기 위한 기술이다. 상태 정보를 클라이언트에 키와 값 형태로 저장한다. 쿠키는 3000개까지 만들 수 있다. (하지만 대부분 100개 만 만들어도 서버는 버벅거린다.) 쿠키 하나의 최대 크기는 4096바이트이다. 하나의 호스트나 도메인에서 최대 50개까지 만들 수 있다. 동작 메커니즘 클라이언트가 서버에 요청을 보낸다. 서버가 쿠키를 생성하여 HTTP 응답 헤더에 실어 클라이언트에 전송한다. 클라이언트는 쿠키를 받아 저장한다. (이 시점에서 쿠키가 클라이언트에만 저장된 상태이므로 서버는 아직 쿠키를 사용할 수 없다.) 클라이언트는 다음번 요청 시 저장해둔 쿠키를 HTTP 요청 헤더에 실어 보낸다. 서버는 쿠키의 정보를 읽어 필요한 작업을 수행한다. 쿠키의 속성과..

JSP 지시어와 스크립트 요소
JSP 파일 기본 구조 // 지시어 // 스크립트 요소 (선언부) // 스크립트 요소 (표현식) 처음 만들어보는 //스크립트 요소 (스크립틀릿) 크게 보면 지시어와 스크립트 요소가 있으며, 스크립트 요소는 다시 세 가지(선언부, 표현식, 스크립틀릿)로 나뉜다. 지시어는 래당 JSP 페이지의 처리 방법을 JSP 엔진에 지시해주는 역할을 한다. 스크립트 요소는 HTML 파일 중간에 자바 코드를 삽입할 때 사용한다. 지시어 지시어는 JSP 페이지를 자바(서블릿) 코드로 변환하는 데 필요한 정보를 JSP 엔진에 알려준다. 주로 스크립트 언어나 인코딩 방식 등을 설정한다. 지시자 혹은 디렉티브로 부르기도 한다. 지시어 기본 구문 지시어 종류는 세가지가 있다. page 지시어: JSP 페이지에 대한 정보를 설정한다..

JSP 기본
JSP란? JSP(Java Service Pages)는 동적인 웹 페이지를 개발하기 위한 웹 프로그래밍 기술이다. 자바를 서버 개발 언어로 자리 잡게 한 일등 공신이다! JSP의 장점 짧은 코드로 동적인 웹 페이지를 생성할 수 있다. 기본적인 예외는 자동으로 처리된다. 많은 확장 라이브러리를 사용할 수 있다. 스레드 기반으로 실행되어 시스템 자원을 절약해 준다. 기본 용어 서버(Server) 웹에서 서비스를 제공하는 컴퓨터 시스템을 말한다. 웹 서버(Web Server) 정적인 페이지로 생성하여 사용자에게 응답해 주는 소프트웨어이다. 웹 페이지는 주로 HTML, CSS, JavaScript 등으로 구성되어 있다. 웹 컨테이너(Web Container) 웹 서버가 전송해 준 요청을 기초로 동적인 페이지를 ..

천재교육 풀스택1기 과정 JSP Section1. 서블릿, 자바 웹 기술의 새 지평을 열다.
[주절주절] Html의 값을 js에서 사용할 때: Document.getElementId() //없다면 null 리턴 sm업무: 예외처리 윈도우에서 java 환경 변수 설정 방법: 내 PC > 시스템 속성 > 고급 > 환경 변수 > 새 시스템 변수 > 변수 이름(JAVA_HOME) > 변수 값(jdk 경로) User와 System 환경 변수의 차이는 뭘까. 서블릿, 자바 웹 기술의 새 지평을 열다. 자바 애플릿: 애플리케이션 전체가 클라이언트에 다운로드된 후 실행. 속도, 보안, 유연성 등에서 한계 서블릿: 서버 측에서 실행. 클라이언트의 요청을 받으면 서버에서 처리한 후, 응답으로는 결괏값만 보내주는 구조 자바 파일을 컴파일한 클래스 파일 형태. 실행하고 관리해주는 런타임이 서블릿 컨테이너이며, 아파치..
천재교육 풀스택과정 1기 DAY17
우선순위 자바런타임스케쥴러에 의해 스케쥴링된다. 스레드가 수행하는 작업의 중요도에 따라서 스레드의 우선순위를 서로 다르게 지정하여 특정 스레드가 더 많은 작업 시간을 갖도록 할 수 있다. 우선순위가 높고 낮음은 상대적인 것이다. 우선순위는 스레드를 생성한 스레드로부터 상속받는다. 스레드를 실행하기 전에만 우선순위를 변경할 수 있다. 자바의 기본 규칙은 '고정 우선순위 스케쥴링'이다. 수행가능한 스레드 중(Rannable)에서 또는 모니터 획득을 기다리는 큐내의 스레드 중에서, 가장 우선순위가 높은 것에 코드 수행 기회를 부여해 준다. 같은 우선순위의 스레드에 대해서는 RoundRobin 방식으로 선택한다. 현재 수행 중인 스레드보다 더 높은 우선순위의 스레드가 수행가능한 상태가 되면 바로 기회를 부여한다..
천재교육 풀스택 1기 DAY16
예외 처리 예외와 에러의 차이점 예외는 '개발자가 처리할 수 있는 오류' 에러는 '개발자가 처리할 수 없는 오류' 이다. 예외 처리란? 돌발상황에 대비하여 미리 준비하여 두는것. 돌발상황의 종류 논리적인 오류: 프로그래머의 논리적 사고가 잘못된 경우 문법 오류: 자바 문법상의 오류 기계적인 오류: 운영체제상의 버그, 이클립스 버그 등등 개발환경 오류: 버전(모듈)이 안맞음, 서버SW와 클라이언트 SW상의 오류 예외 상황 오류: 예측하기 어려운 상황 발생 오류 예외 클래스의 상속 구조 Exception > CheckedException 일반 예외 (컴파일 전에 체크) > RuntimeException (실행할 때 체크) Exception > ClassNotFound Exception > Aritnmetic..
천재교육 풀스택 과정 1기 Day15
Inner Class(중첩 클래스, 중첩 인터페이스, 내부 클래스) 인스턴스 내부 클래스 특정 클래스와 관계를 맺는 경우에 내부에 선언하고 사용하는 것이 효율적이다. 장점 1. 클래스 변수들끼리 서로 쉽게 접근이 가능 2. 코드의 복잡성을 줄일 수 있다. Static Inner Class 지역 내부 클래스 익명 내부 클래스 (무명 내부 클래스) 이름이 없는 객체 익명 객체는 단독으로 생성하지 못한다. 클래스이거나 인터페이스를 구현하여 객체를 생성해야 한다. 필드의 포기값, 지역 변수의 초기값, 매개변수의 초기값 등에 주로 사용 가장 많이 사용되는 내부 클래스 Exception(예외(오류) 처리): 돌발상황에 대비하여 미리 준비하여 두는 것. 논리적인 오류: 프로그래머의 논리적 사고가 잘못된 경우 신텍스(..

천재교육 풀스택 과정 1기 Day13
Object: Strin, int, double 등의 타입을 전부 대체 가능 package lecture0526; public class Generic { /*private static void printArray(Integer[] intArray) { for (int i = 0; i < intArray.length; i++) { System.out.print(intArray[i] + " "); } System.out.println(); } private static void printArray(Double[] dblArray) { for (int i = 0; i < dblArray.length; i++) { System.out.print(dblArray[i] + " "); } System.out.pri..
천재교육 풀스택 과정 1기 Day12
멤버필드(변수) 기본 데이터 타입의 변수는 선언과 동시에 메모리가 할당된다 객체참조변수(인수턴스 변수) 클래스 타입의 변수는 선언과 메모리 할당이 분리된다. Overloading 같은 이름을 가진 여러 개의 메소드 클래스의 사용자를 편하게 하기 위해서 사용하는 객체지향의 기법 한가지이름으로 여러 가지 기능을 제공 중복 메소드, 다중정의 메소드 라고도 함 overloading을 사용 할 때의 규칙 매개변수의 개수가 다를 것 매개변수의 형이 다를 것 위의 두 가지 조건 중 하나만 달라도 overloading은 성립 메소드의 리턴 형은 overloading을 구분할 때 사용하지 않음 접근제어 선언된 객체 내의 변수에 값을 직접 할당할 수 없게 제어한다 객체의 메모리 생성 후의 접근이 기본 객체에 점(.)을 찍..