Hadoop ecosystem

2020/DataScience 2019. 12. 3. 09:36
반응형

 

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

#ServletContext 클래스

  ServletContext 클래스는 톰캣 컨네이너 실행 시 각 컨텍스트(웹 어플리케이션)마다 한 개의 ServletContext 객체를 생성합니다. 그리고 톰캣 컨테이너가 종료하면 ServletContext 객체 역시 소멸됩니다. ServletContext 객체는 웹 어플리케이션이 실행되면서 애플리케이션 전체의 공통 자원이나 정보를 미리 바인딩해서 서블릿들이 공유하여 사용합니다.

 

#ServletContext 클래스의 특징

 - javax.servlet.ServletContext로 정의되어 있으며, 서블릿과 컨테이너 간의 연동을 위해 사용합니다

 - 서블릿끼리 자원(데이터)을 공유하는 데 사용하며, 컨테이너 실행 시 생성되고 컨테이너 종료 시 소멸됩니다.

 

#ServletContext가 제공하는 기능

 - 서블릿에서 파일 접근 기능

 - 자원 바인딩 기능

 - 로그 파일 기능

 - 컨텍스트에서 제공하는 설정 정보 제공 기능

 

#ServletContext 메서드

getAttribute(String name) 주어진 name일 이용해 바인딩된 value를 가져오고 name이 존재하지 않으면 null을 반환

getAttributeNames() 바인딩된 속성들의 name을 반환합니다.

getContext(String uripath) 지정한 uripath에 해당되는 객체를 반환합니다.

getInitParameter(String name) name에 해당하되는 매개변수들의 이름들을 String 객체가 저장된 Enumeration타입으로                                          반환, 매개변수가 존재하지 않으면 null을 반환

getMajorVersion() 서블릿 컨테이너가 지원하는 주요 서블릿 API버전을 반환

getRealPath(String path) 지정한 path에 해당되는 실제 경로를 반환합니다.

getResource(String path) 지정한 path에 해당되는 Resource를 반환합니다.

getServerInfo() 현재 서블릿이 실행되고 있는 서블릿 컨테이너의 이름과 버전을 반환합니다.

getServletContextName() 해당 어플리케이션의 배치 관리자가 지정한 ServletContext에 대한 해당 웹 애플리케이션의                                    이름을 반환합니다.

log(String msg) 로그 파일에 로그를 기록합니다.

removeAttribute(String name) 해당 name으로 ServletContext에 바인딩된 객체를 제거합니다.

setAttribute (String name, Object object) 해당 name으로 객체를 ServletContext에 바인딩합니다.

setInitParameter(String name, String value) 주어진 name으로 value를 컨텍스트 초기화 매개변수로 설정합니다.

 

 

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

java에서 Database와 연결하여 작업을 하기위해선 jdbc가 필요합니다.

그에 맞는 jdbc를 설치해야 합니다.

 

저는 ojdbc6가 있는지 확인해 보아야 합니다.

 

만약 WEB-INF / lib / ojdbc6.jar 가 없다면

오라클 폴더를 열어서 파일을 찾아준 다음에 복사해서 위의 lib에 ctrl+v 를 하여 넣어주면 해결된다.

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

redirect binding이 안되는 것을 알아보았습니다.

이번에는 dispatch를 이용한 binding을 해보겠습니다.

 

이번에는 화면에 정상적인 주소가 출력됩니다.

첫 번째 서블릿에서 두 번째 서블릿으로 전달되는 request가 브라우저를 거치지 않고 바로 전달되었습니다.

따라서 첫 번째 request에 바인딩된 데이터가 그대로 전달된 것입니다.

 

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

웹 프로그램 실행 시 자원을 서블릿 관련 객체에 저장하는 방법으로 주로 HttpServletRequest, HttpSession, ServletContext  객체에서 사용되며 저장된 자원(데이터)은 프로그램 실행 시 서블릿이나 JSP에서 공유하여 사용합니다.

 

서블릿 관련 객체에서 바인딩 관련 기능을 제공하는 메서드

 - setAttribute(String name, Object obj) 자원을 각 객체에 바인딩합니다.

 - getAttribute(String name) 각 객체에 바인딩 된 자원(데이터)을 name으로 가져옵니다.

 - removeAttribute(String name) 각 객체에 바인딩된 자원(데이터)을 name으로 제거합니다.

 

실행 결과를 보면 정상적으로는 '서울시 성북구'가 출력되어야 하는데 null이 출력됩니다. 왜 그럴까요?  

 

포워딩 과정 1단계인 웹 브라우저에서 요청할 때 서블릿에서 전달되는 첫 번째 request는 웹브라우저를 통해 재요청되는 3단계의 두번째 request와 다른 요청입니다.

  즉, redirect방식으로는 서블릿에서 바인딩한 데이터를 다른 서블릿으로 전송할 수 없다는 것입니다.

 

 

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

지금까지 배운 포워딩과 다른점은 클라이언트의 웹을 거치지 않고 바로 서버에서 포워딩이 진행된다는 것입니다.

따라서 웹 브라우저 주소창의 URL이 변경되지 않습니다.

 

첫번째 서블릿
두번째 서블릿

실행하고 아래의 주소를 입력하면 주소는 그대로이지만 두번째 서블릿(second)가 작동하는 걸 확인할 수 있습니다.

 

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

find (파일 찾기)

 

 

pipe

 

 

정렬

 

복사

 

반응형
블로그 이미지

꽃꽂이하는개발자

,