웹 어플리케이션 서버(Servlet)

메타플랫폼대표
|2024. 6. 14. 10:36
반응형

Web Server는 네트워크에 의해서 연결이 된다.

사용자 요청 - > 결과를 응답해주는 서비스 프로그램

 

우리가 기존에 클라이언트에게 보이는 Web Browser를 공부했다면, 정보를 전달해주기 위해서 관리하는 Server를 배울 예정이다. (오늘의 날씨를 검색하면, 구글이나 네이버에서 연결해주는 사이트들의 정보들이 서버에서부터 제공이 된다.)

 

이러한 Service를 제공해주는 것은 Tomcat(WAs), Servlet & JSP Container를 사용한다.

항상, 응답은 HTML로 해주어야 한다. 클라이언트에게 보여주는 화면은 결국 HTML이기 때문이다.

 

Tomcat은 Servlet을 관리하는 프로그램이다.

 

Servlet (서버렛 Server + Let의 합성어)은 사용자가 요청을 하면 서버내에 저장이 되어있던 정보를 수집해서 클라이언트에게 HTML로 가공을 해서 제공한다.

 

요청할 때 마다 서버의 정보가 달라질 수 있고, 기온이 달라질 수 있고, 날짜가 변경이 될 수 있다.

Servlet은 사용자가 요청한 정보에 대해서 DataBase에 접속해서 그 정보를 가져온다.

조회 화면을 HTML로 만들어서 클라이언트에게 최종적으로 제공을 해준다.

 

우리는 사용자가 요청하는 것에 따라 그 요청하는 정보에 대해서 제공하는 HTML으로 포장하는 작업을 할 것이다.

 

"Tomcat은 Servlet을 관리하는 관리자"

 

Servlet이 뭐하는 애인가?

 

 

Tomcat이 서비스 객체를 생성한다. (이 생성 원리를 알고)

클라이언트가 객체를 호출할 때 (호출하는 방법을 알고) 이런 것들을 공부합니다.

 

 

- Servlet의 환경설정 파일이 여기에 저장된다.

 

 

 

 


 

 

 

 

Servlet 2.5 실행구조

 

 

 

 

 

 

 

- .do or .action 을 사용하는데 확장자는 내가 짓는대로 사용가능하다.

 

 

- service에만 체크

 

- 2.5로 만들게 되면 이렇게 오류뜬다

- Tomcat 9버전 홈페이지에서 다운로드한다.

- c드라이브에 넣고

 

 

- 정상 실행 완료

 

 

 

 

요청할 때 마다 서비스가 정상적으로 동작한다.

 

 

 

- HelloAction이라는 Sevrlet 파일을 만들었고, /hello.do를 url로 호출하면, 저 경로가 실행이 되는것이다.

- 이것은 2.5 방식이다.

 

 

 

 


 

 

 

 

Servlet 3.0이상 동작 방식

 

 

 

앞으로 사용할 방식이다.

 

 

- Create Servlet으로 생성하기

 

 

- URL Mappings 수정

 

 

- service 화면과 같이 체크

 

 

- web.xml 지워버리기

 

 

@어노테이션 이해하기

 

"기계야 여기야" "어, 알았어"

 

@WebServlet("/hello.do") 어노테이션 해당 위치에 넣기

- 어노테이션은 기계가 인식할 수 있는 구분자이다.

여름이 오면, 겨울옷을 옷장에 저장해둔다. 겨울이 다시오면, 옷장에서 겨울옷을 꺼내야 한다.

그런데, 옷장이 수없이 많다는 가정이 있으면, 표시가 없으면 일일이 모든 옷장을 열어보아야 한다.

 

그래서 구분하기 쉽게, 패딩을 넣었으면 패딩이라는 문구를 붙여넣는다.

어노테이션도 이와 같이 문구를 붙여놓듯이 꼬리표를 붙여놔서 기계가 어 내가 찾는 문구네요 라고 인식하는 것이다.

Tomcat이 알아서 어노테이션 표시를 보고 가져다 사용해줘서 참 기특합니다.

 

 

 

- 실행 후 url을 넣으면 정상적으로 구동이 된다. (오류가 날시에, 켜져있는 서버 종료 후 다시 실행, 서버 겹치면 오류발생)

 

- 3.0 이상 버전에서의 호출방식이다.

 

 

어노테이션 정보를 변경하면, url도 같이 함께 변경해줘야 정상적인 요청이 가능하다.

 

 

Servlet 정보 reloading

 

이 옵션을 Tomcat을 설치했을 때 일일이 넣어줬었는데,

서버가 리로딩을 알아서 할 수 있게끔 설정해줬던 것이다.

 

 

반응형