JSP & Servlet/개념

    [Servlet] 쿠키(Cookie)

    쿠키(Cookie)란? 쿠키(Cookie)란 클라이언트측에서 관리되는 정보를 의미한다. 세션과의 차이를 비교해보면 세션은 서버측에서 관리되지만 쿠키는 클라이언트에 정보가 저장된다. 또한 쿠키의 정보는 세션과 달리 브라우저를 종료한다고 해도 생존 기간이 지정되면 생존기간 동안 데이터가 사라지지 않는다. 쿠키(Cookie)는 하드디스크에 파일로 저장되기 때문에 그 파일이 남아있는 한 쿠키는 항상 유지된다. 하지만, 쿠키(Cookie)는 클라이언트에서 관리되기 때문에 보안적으로 매우 취약한 면을 가지고 있다. 하드디스크에 있는 쿠키 파일을 수정할 염려가 있기 때문이다. 쿠키를 파일에 저장하는 형태가 아닌 브라우저에 저장하는 형태(세션 쿠키)도 가능하지만 보안이 필요한 정보는 쿠키(Cookie)를 사용하지 않고..

    [Servlet] 세션(Session)

    [Servlet] 세션(Session)

    세션(Session)에 동작 흐름에 대한 자세한 설명은 아래에 포스팅했으므로 보고 오는 것이 이해하는데 더 도움될 것이다. https://yeo-computerclass.tistory.com/110?category=1269285 [JSP & Servlet] 세션(Session) 📌세션(Session) 이란? 세션의 개념을 이해하기 위해선 HTTP 프로토콜의 특성부터 이해해야 한다. HTTP 프로토콜의 대표적인 특징 중의 하나는 상태를 유지하지 않는 것이다. 즉, 클라이언트가 한 번 yeo-computerclass.tistory.com 세션(Session)이란? 정보가 서버의 메모리에 저장된다. 브라우저의 Session 연동은 Session Cookie를 이용한다. 브라우저 당 한 개의 Session이 주..

    [JSP & Servlet] 자바빈(JavaBean)

    [JSP & Servlet] 자바빈(JavaBean)

    📌자바빈(JavaBean)이란? 회원 가입 요청에서 회원 한 명의 정보가 들어온다. 이 때 이름 따로 주소 따로 번호 따로 데이터를 다루게 되면 각 데이터의 관련성이 없으므로 회원정보라는 클래스를 설계하여 해당 클래스에 이름,주소,번호를 속성으로 정의하여 한 명의 회원 정보로 다루는 것이 보다 객체지향적인 코드이며 효율적인 코드라는 것은 알 것이다. 다른 예시를 들어보겠다. 웹 사이트를 개발할 때 디자이너와 프로그래머가 협업을 하여 개발을 할 것이다. 그런데 프로그래머가 JSP 페이지의 이곳 저곳에 자바 코드를 입력해놓으면 디자이너 입장에서는 해당 페이지를 해석하기에 어려움을 느낄 것이다. 자바빈을 사용하면 이에 도움이 될 수 있다. 자바빈(JavaBean)은 JSP 페이지의 디자인 부분과 비즈니스 로직..

    [JSP & Servlet] 템플릿 페이지

    📌템플릿 페이지를 사용하는 이유 웹 서핑을 하다보면 웹사이트 화면 구성에서 상단 혹은 좌측 메뉴는 고정되어 있고 메뉴에 따라 메인 페이지가 변경되는 경우를 본 적 있을 것이다. 이런 경우 템플릿 페이지를 사용하면 매우 효율적이다. 만약 템플릿 페이지를 사용하지 않으면 레이아웃을 변경할 경우 작성된 페이지를 모두 새로 작성해야 한다. 즉, 템플릿 페이지는 레이아웃을 구성하고 각 영역의 내용은 다른 페이지에서 가져오므로 전체 페이지 구성 수정시에도 이 템플릿 페이지만 변환시키면 되므로 매우 편리하다. 📌템플릿 페이지의 설계 템플릿 페이지의 설계에서 중요한 것은 레이아웃 구조를 결정하는 것이다. 템플릿 페이지 자체가 레이아웃 구조나 마찬가지이기 때문이다. 템플릿 페이지 설계를 위해서는 사이트 화면의 틀이 결정..

    [JSP] JSP 액션 태그

    📌액션 태그란? 액션 태그란 JSP 페이지에서 Java 코드 등의 스크립트 언어를 사용하지 않고도 ( HTML 태그 형태로 ) 다른 페이지의 서블릿이나 자바빈의 객체에 접근할 수 있도록 태그를 이용해 구현된 기능을 말한다. 액션 태그를 통해서 개발자는 페이지의 흐름을 제어하거나 자바빈의 속성을 읽고 쓰며 애플릿을 사용하는 등의 다양한 기능을 활용할 수 있다. 또한 이런 기능들은 스크립틀릿 등의 스크립트 요소(자바 코드)를 사용하지 않기 때문에 개발자는 JSP 페이지의 내부적인 프로그램 로직을 사용자로부터 감출 수가 있다. 이 말은 즉, 액션 태그를 사용하면 사용자에게 보여지는 프레젠테이션 부분과 사용자의 요청을 처리하는 비즈니스 로직 부분(프로그램 부분)을 분리하는 것이 가능하다는 것을 의미하며, 웹 프..

    [JSP] JSP 영역 객체 (application, session, request, pageContext)

    📌영역 객체란? JSP에서 제공하는 내장 객체들 중 pageContext, request, session, application 객체들은 해당 객체에 정의된 유효 범위 안에서 필요한 객체(데이터)들을 저장하고 읽어 들임으로써 서로 공유할 수 있는 특정한 영역을 가지고 있다. 예를 들어 session 객체의 속성으로 지정된 객체는 세션이 유지되는 한 서로 다른 JSP 페이지라 할지라도 공유해서 사용하는 것이 가능하다. 그렇게 때문에 이들 4가지 내장 객체를 따로 영역 객체라고도 부른다. 공유되는 데이터를 속성(Attribute)이라고 하며 속성을 공유할 수 있는 유효 범위를 영역(Scope)이라고 한다. application 객체 application 객체는 해당 웹 어플리케이션이 실행되고 있는 동안에 속..

    [JSP & Servlet] JSP 내장 객체

    [JSP & Servlet] JSP 내장 객체

    JSP 내장 객체란? JSP는 실행되면 웹 컨테이너에 의해 Servlet 클래스로 변환되어 사용자의 요청을 수행한다. JSP 내장 객체는 JSP가 Servlet으로 변화될 때 컨테이너가 자동으로 생성시키는 Servlet 멤버 변수를 말한다. JSP를 지원하는 웹 컨테이너에서는 Servlet을 구현하는데 공통적으로 요구되는 javax.servlet 패키지 아래 8개의 객체 예외처리를 위한 java.lang 패키지 아래 1개의 객체 를 제공한다. JSP 내장 객체 직접 확인해 보기 JSP 파일이 실행되면 웹 컨테이너에 의해 다음 두 파일이 서버에 저장된다. Servlet 클래스로 변환된 자바 소스 파일(_jsp.java) 클래스 파일(_jsp.class) Servlet 클래스를 살펴보면 JSP 페이지에서 우..

    [JSP] JSP 스크립트 요소 (선언문, 스크립틀릿, 표현식)

    JSP 스크립트 요소는 JSP 페이지 내에 자바의 코드를 삽입하기 위해 사용된다. 선언문, 스크립틀릿, 표현식 3 가지로 구분된다. 📌선언문 선언문은 JSP 페이지에서 Java 코드에서 말하는 멤버 변수와 메서드를 선언하기 위해 사용된다. 선언문을 사용해 선언된 변수는 JSP 파일이 웹 컨테이너에 의해 컴파일될 때 멤버 변수로 인식되기 때문에 JSP 페이지의 어느 위치에서도 해당 변수를 참조하는 것이 가능하다. 또한 중복 사용이 가능하다. 스크립틀릿 요소에서 변수를 선언하면 멤버 변수가 아니라 지역 변수로 인식되기 때문에 변수를 선언하기 이전의 위치에서는 참조가 불가능한 점이 선언문과 스크립틀릿의 가장 큰 차이점이라 할 수 있다. 선언문은 태그를 사용한다. 위 코드를 보면 str변수가 선언부 안에서 선언..