Programming/Servlet&Jsp

[Servlet & Jsp] MVC 패턴, Model 1, Model 2
※ 본문은 혼자 공부한 내용을 기록한 글입니다. 오개념이 있다면 댓글로 알려주세요! [ 1 ] MVC 패턴 MVC(Model - View - Controller)는 UI, 데이터 및 논리제어를 구현하는 데 사용되는 소프트웨어 디자인 패턴이다. [ Model ] 비즈니스 영역의 상태 정보 처리, 데이터 가공 등 데이터 및 비즈니스 로직을 관리한다. [ View ] 사용자에게 실제적으로 보여지는 부분, 즉 UI를 의미한다. [ Controller ] Model과 View 사이를 이어주는 브릿지 역할을 하며 사용자의 입력 및 흐름을 제어한다. 즉, Model을 통해 알맞은 비즈니스 로직을 처리한 후 사용자에게 보여줄 적절한 View를 선택한다. [ MVC 패턴을 사용하는 이유 ] 만약 MVC를 구분하지 않고,..
[Servlet & Jsp] Jsp 구조, 코드블록
※ 본문은 혼자 공부한 내용을 기록한 글입니다. 오개념이 있다면 댓글로 알려주세요! [ 1 ] JSP란? Servlet은 자바 코드 내에 HTML 코드가 있기 때문에 HTML 출력이 많은 결과 페이지를 나타내는 데 적합하지 못하다(모든 HTML 코드를 out.write()로 감싸줘야 하기 때문). 이와 달리 JSP는 HTML 코드 내에 자바 소스코드가 들어가기에 HTML 코드를 작성하는 데 간편하다는 장점이 있다. 그렇다면 간편한 JSP만 사용하면 될텐데, 지금까지 왜 Servlet을 학습했던 것일까? 그 이유는 JSP는 결국 Servlet으로 변환되기 때문이다. 클라이언트가 JSP를 요청하면, JSP 컨테이너는 JSP를 Servlet으로 변환하는 작업을 수행한다. 실제로 간단한 JSP 파일 생성 후 변..

[Servlet & Jsp] Servlet 생명주기, service, doGet, doPost
※ 본문은 혼자 공부한 내용을 기록한 글입니다. 오개념이 있다면 댓글로 알려주세요! [ 1 ] Servlet 생명주기 Servlet은 Servlet Container에 의해 관리되며, Servlet Container는 Servlet의 생명주기 관리, 멀티스레딩 관리 등의 기능을 수행한다. Servlet의 생명주기는 다음과 같다. (1) WAS가 서블릿 요청을 받으면 해당 서블릿의 객체가 메모리에 있는지 확인 (2) 만약 메모리에 없다면 → 해당 서블릿 클래스를 메모리에 올림 → init() 메소드를 호출 → service() 메소드를 호출 만약 메모리에 해당 서블릿 객체가 존재한다면 → service() 메소드를 바로 호출 (3) WAS 종료 시 혹은 init() 메소드 수정 등 객체 삭제해야 할 때 d..
[Servlet & Jsp] Application, Session, Cookie
Application, Session, Cookie는 HTTP 환경에서 상태를 유지하기 위한 기술이다. HTTP 트랜잭션은 별개의 요청으로 판단하기 때문에 상태를 가질 수 없다. 예를 들어, www.exam.com/page1 & www.exam.com/page2가 있을 때 둘의 요청은 서로 연관성을 가지지 않고 독립적이기 때문에 page1에서 만들어진 데이터는 page2를 요청할 때 유지되지 않는다. 그러나 웹 개발 시 필연적으로 여러 요청(혹은 사이트)에 걸쳐 상태를 유지해야 하는 경우가 있다. ex1) 최초 페이지에서 로그인 후 여러 페이지에 걸쳐 로그인 상태가 유지되어야 하는 경우 ex2) 쇼핑몰 장바구니에 담긴 물건 정보들이 다른 페이지로 이동하더라도 유지되어야 하는 경우 [ 1 ] Applica..