1. JSP 내장 객체 ( implicit, Object, 내장 변수 ) - 내장 객체는 JSP 페이지가 서블릿으로 변환될 때, 자동으로 추가해주는 객체를 의미 - 항상 고정된 값으로 제공되기 때문에 JSP페이지에서 선언 없이 사용이 가능하지만, 지정된 변수 값으로만 사용해야 한다. - 내장 객체는 _jspService 메소드 내에서 선언된 변수이기 때문에 Scriptlet 태그나 Expression 태그에서만 사용이 가능하다. 2. 내장객체 종류 - 1 ) request : HttpServletRequest 객체 참조 - 2 ) response : HttpServletResponse 객체 참조 - 3 ) out : 웹 브라우저 출력 ( JspWriter 객체 ) - 4 ) session : HttpSe..
1. JSP의 특징 - JSP는 Servlet과 마찬가지로 웹 컴포넌트이다. - 1 ) jsp는 태그(tag) 기반의 웹 컴포넌트로써 jsp확장자를 가진다. - 2 ) 클라이언트의 요청에 의해서 동적으로 실행되며, 다양한 요구사항을 처리 가능하다. - 3 ) 클라이언트는 브라우저를 이용한 URL을 지정하여 JSP에 요청이 가능하며, 요청방법은 HTML 파일 요청방식과 동일하다. - 4 ) JSP의 응답결과는 HTML형식으로 서비스된다. - 5 ) JSP는 자동으로 서블릿으로 변환되어 실행된다. - 6 ) JSP는 MVC 패턴의 View 역할로 사용된다. (****) 2. 서블릿과 JSP 비교 - 1 ) Servlet ( 서블릿 ) - : Java 코드 내에 HTML 코드가 삽입되는 형태로 구성되어 있다...
1. 쿠키의 기본적인 성질 - 1 ) 작은 데이터이다. - 2 ) 이름이 부여되어 있다. ( 이름 = 데이터(값) ) - 3 ) Request / Response Message의 헤더에 저장되어서 주고 받는다. - 4 ) 웹 브라우저는 사이트 주소마다 해당 사이트에서 받은 쿠키를 사이트 주소별로 파일을 만들어서, 쿠키를 보관하고 관리한다. - 5 ) 웹 브라우저는 특정 사이트에 재접속시, 해당 사이트에서 주었던 쿠키데이터를 파일에서 읽어서 다시 Request Message의 헤더에 저장되어 항상 전송한다! - 6 ) 기간만료가 지정 되어있기에, 기간만료가 되면 폐기 처분한다. [ 1. 쿠키로 장바구니 실습 ] (****) [ 1 - 1. 상품 페이지 만들기 ] 쿠키 - FrontController 패턴실..
1. 세션 관리 ( Session Tracking ) - 세션의 정의는 ‘서버와 클라이언트 간의 지속적인 연결’을 의미한다. - 연결을 통하여 클라이언트는 지속적으로 서버에 특정 동작을 요청할 수 있으며, 서버는 실행결과를 클라이언트에 응답할 수 있다. - 세션관리는 일반적으로 HttpSession 클래스나 Cookie 클래스를 통하여 한다. 2. HttpSession 클래스를 이용한 세션처리 - 세션이란 사용자의 상태정보를 서버에서 관리하는 메커니즘을 의미한다. - 세션의 정보는 클라이언트가 서버에 접속해서 종료할 때까지 유지된다. - 서버의 부하가 클 수 있기에, 주로 time-out을 지정하여 일정시간 동안 요청이 없으면 서버는 세션의 정보를 유지하지 않고 제거해버린다. - 클라이언트가 서블릿에 요..
1. 요청 포워딩 ( request forwarding ) - 사용자의 요청을 받은 서블릿 또는 JSP에서 또 다른 컴포넌트( 서블릿, JSP, html )로 요청을 위임할 수 있는 방법이다. - 포워드( forward )하는 이유는 직접 요청받은 서블릿 또는 JSP에서 모든 작업을 처리하지 않고, 모듈화시킨 다른 컴포넌트로 요청을 위임하여 재사용성도 높이고 유지보수를 쉽게 해주기 위해서다. - 보통 요청을 처리하는 웹 컴포넌트는 FrontController 패턴을 적용한 서블릿으로, - 응답을 처리하기 위한 웹 컴포넌트 JSP로 구현한다. - 이런 구조를 MVC( Model, View, Controller ) 패턴이라고 한다. - + MVC 패턴 ( == 모델2 아키텍쳐 ) : 웹개발에서 백엔드의 최상..
1. 공유데이터 영역 - 1 ) Application Scope ( 가장 긴 생명주기 ) - : WAS( tomcat )와 생명주기가 동일하다. - : 각 Web Application마다 할당된다. - : ex. / => Root Web Application, /myapp => MyApp Web Application이 각자 할당 - 2 ) Session Scope ( 두번째로 긴 생명주기 ) - : 각 웹 브라우저마다, 웹 브라우저가 접속하면 생성되고 웹 브라우저를 종료하면 삭제된다. - 3 ) Request Scope ( 세번째로 긴 생명주기 ) - : 각 Request Message마다 들어오면 생성되고, - : 각 Request에 대해서 Response Message가 전송 완료되면 파괴된다. - ..
[ 1. FrontController 패턴 - command에 따라서 다르게 실행 ] (**) package org.zerock.myapp; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import lombok.NoArgsConstructor; import lombok.extern.log4j.Log4j2; @Log4j2 ..
1. 웹 서비스의 웹 3계층 - 1 ) 표현계층 ( Presentation Layer ) : 화면 – 정적(*.html), 동적(*.jsp) ( JSP ) - 2 ) 비즈니스 계층 ( Business Layer ) : Mission-critical Biz. Logic ( Servlet ) - 3 ) 영속성 계층 ( Persistence Layer ) : Oracle Cloud ATP ( Database ) - + Servlet이나 JSP 1개가 위의 3계층을 모두 담당하는 것을 Model 1 Architecture - + 웹 3계층에 따라서 MVC model에 맞게 웹을 개발하는 것을 Model 2 Architecture - + MVC란 Model / View / Controller을 의미한다. 2. D..
1. URL – pattern 종류 - 1 ) 디렉터리 패턴 ( /hello ) - : 디렉터리 패턴과 일치하는 형태의 URL을 지정한 웹 컴포넌트가 수행된다. - : 디렉터리 패턴은 반드시 “ /디랙터리패턴값 “의 형식으로 지정해야 하며, 계층구조를 가질 수 있다. - 2 ) 확장자 패턴 ( *.do ) - : 일치하는 확장자 형태의 URL을 지정한 웹 컴포넌트가 수행된다. - : 확장자 패턴은 반드시 “ *.확장자 “의 형식으로 지정해 줘야 한다. - : 확장자의 종류로는 .do, .nhn, .go가 있다. [ 1. URL - Mapping : 확장자 패턴 ] package org.zerock.myapp; import java.io.IOException; import java.io.PrintWrite..
1. ServletContextListener - Servlet이 Life Cycle을 가지고 있는 것처럼, 웹 어플리케이션도 Life Cycle을 가진다. - 이때 ServletContextListener을 통해, 언제 웹 어플리케이션이 초기화되고 제거되었는지를 알 수 있다. 2. Filter - 서블릿이 요청 받기 전과 결과를 웹 브라우저에게 응답을 하기 전에 특정 작업을 수행할 수 있도록 Filter을 사용할 수 있다. - 즉, 웹 컴포넌트가 실행되기 전의 선처리(요청 필터) 작업과 응답되기 전의 후처리(응답 필터) 작업을 수행하는 API다. - Filter는 체인처럼 묶어서 적용시킬 수 있다. - Filter도 service처럼 요청필터와 응답필터를 가진다. - Request 요청이 요청 필터를 ..