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 요청이 요청 필터를 ..
1. ServletContext API - 웹 어플리케이션에서는 여러 가지 자원을 포함할 수 있으며, 다수의 JSP파일과 서블릿 등이 유기적으로 동작한다. - ServletContext(인터페이스)는 웹 어플리케이션마다 하나씩 생성되는 객체로써, 다수의 JSP파일과 서블릿에서 공유해서 사용할 수 있다. - ServletContext 객체는 웹 어플리케이션의 라이프 사이클과 동일하기에, 웹 어플리케이션이 Tomcat 컨테이너에 존재한다면 계속 사용할 수 있다. ( = application scope ) - + application scope : 웹 어플리케이션의 라이프사이클과 동일한 scope를 의미한다. - + application scope은 웹 어플리케이션이 존재하는 동안에는 모든 서블릿과 JSP에서..
1. ServletConfig API를 활용한 초기화 파라미터 - Servlet이 초기화될 때, 공통적으로 적용해야 되는 작업들이 필요한 경우가 있다. - 이러한 정보들은 Servlet에서 설정하기 보다는 web.xml파일에서 설정한 후에 Servlet에서 접근해서 사용하는데, 이때 web.xml에 설정된 값을 “초기화 파라미터”라고 한다. [ 1. 로그인 폼에서 입력값 받아오기 ] (***) [ 1 - 1. 로그인 폼 ] getParameter 실습 로그인 폼 아이디 비밀번호 [ 1 - 2. Login Servlet ] package org.zerock.myapp; import java.io.IOException; import java.io.PrintWriter; import javax.servlet...
1. 파일의 위치 : rc/main/webapp ( 우리가 생성한 웹어플리케이션의 top 폴더 ) : rc/main/webapp/WEB-INF/ web.xml (웹어플리케이션의 배포설정파일) /classes : 모든 컴파일된 .class파일과 resource 파일들 저장 /lib : 모든 의존성 라이브러리 .jar 파일들을 저장 /tlds : 소위 태그 라이브러(tag library)파일들을 저장 : rc/main/webapp/ : 정적인 문서파일(.html, .css, .js, 이미지파일등)들을 저장 [ 1. 전송 파라미터 다루기 ] (****) package org.zerock.myapp; import java.io.IOException; import java.io.PrintWriter; import..
1. 프로토콜 - 프로토콜이란 컴퓨터간 원활한 통신을 위해서 필요한 통신규약을 의미한다. - 즉 통신을 원하는 두 개체간 무엇을, 어떻게, 언제 통신할지를 서로 약속한 규약이다. - 프로토콜의 종류 : - 1 ) Telnet 프로토콜 - : 원격으로 호스트의 명령어 모드를 그대로 흉내낼 수 있다. - 2 ) FTP 프로토콜 - : 파일 전송만을 위한 프로토콜 - 3 ) SMTP 프로토콜 - : 단순한 메일 전송 프로토콜 - 4 ) POP 프로토콜 - : 메일의 수신을 위한 프로토콜 - 5 ) DHCP 프로토콜 - : 서버가 동적으로 클라이언트나 터미널에게 IP를 부여하는 프로토콜 - : 일반적으로 각 가정에서 인터넷 서비스를 사용할 때 주로 사용 - 6 ) HTTP 프로토콜 - : 서버로부터 클라이언트로..
1. 트랜잭션의 종류 - 1 ) 로컬 트랜잭션 ( Local TX ) - : 무조건 Connection 1개로 DML 작업 수행 - 2 ) 전역 트랜잭션 ( Global TX ) - : 동시에 여러 개의 Connection을 사용 ( 1개 이상의 DB ) - + 전역 트랜잭션의 경우, 자동으로 커밋 / 롤백 시켜주는 트랜잭션 관리자(TX Manager)가 WAS 안에 있다. - + 2단계 커밋 / 롤백을 거치게 된다. 2. Driver SPY 사용법 - 1 ) 정식 라이브러리 명칭 : log4jbc - 2 ) pom.xml 파일에 dependency(의존성) 추가 - - org.bgee.log4jdbc-log4j2 - log4jdbc-log4j2-jdbc4 - 1.16 - - 3 ) JDBC URL에 단..