티스토리 뷰
Java Application
한개의 main()메소드를 가지고 독립적으로 실행하는 자바클래스
Java Web Application
브라우저에서 실행되는 자바클래스
(Servlet/JSP)
---> 서블릿과 JSP를 실행하기 위해서는 Web Application Server가 필요
-----------------------
WAS!!
서블릿 javax.servlet.Servlet
- 자바플랫폼에서 컴포넌트를 기반으로 한 웹 애플리케이션을 개발할때 사용.
- 스레드를 기반으로 하므로 웹 애플리케이션 운영에 효율적.
- 자바를 기반으로 하므로 자바 API를 모두 사용할 수 있다.
- 운영체제나 하드웨어에 영향을 받지 않으므로
한번 개발된 애플리케이션은 다양한 서버환경에서도 실행이 가능.
- 웹애플리케이션에서 효율적인 자료 공유 방법을 제공.
- JSP는 서블릿을 기반으로 한 기술.
웹애플리케이션 개발 시 서블릿을 사용하면 좋은 점은?
- 콘텐츠와 비즈니스 로직을 분리 할 수 있다.
- 컨트롤러와 뷰의 역할 분담으로 인해 웹 디자이너와 개발자 간의 원활한
작업이 가능.
- 유지보수가 수월.
- 기능확장이 용이.
서블릿 클래스의 상속관계
javax.servlet.Servlet(인터페이스)
|
|
javax.servlet.GenericServlet(클래스)
|
|
javax.servlet.http.HttpServlet(클래스)
서블릿의 생명주기 메소드 Life Cycle ★
1. init() 메소드
- 서블릿 로딩
- 서블릿 초기화 메소드
2. service() 메소드
- 웹브라우저에 서비스(화면출력)하는 메소드
- 클라이언트 요청데 따라 doGet()이나 doPost()메소드로 분기
- 사용자 요청 처리는 request(요청객체, client, 아이객체, 때쟁이, 브라우저)로
응답 처리는 response(응답객체, server, 엄마객체, 톰켓)로 처리함
3. destroy() 메소드
- 컨테이너로부터 서블릿 종료요청이 있을때
서블릿 종료직전에 해야할 작업을 명시할 때 사용.
- 대부분의 경우 컨테이너가 종료될 때 실행.
-------
아파치 톰캣 ===> 서블릿 컨테이너!!
-------
서버,실행기
서블릿 실행방법
1. http://192.168.0.96:8080/TomTest/servlet/com.ssafy.MyServlet
---> 보안상 문제 발생
2. WEB-INF/web.xml에 작성된 서블릿 클래스를 등록
---> 등록과 함께 서블릿에 대한 가상의 경로를 매핑시켜서 호출.
3. @annotation으로 서블릿을 등록
Servlet/JSP의 수식어 ==> 웹어플리케이션!!(웹서비스하는 프로그램)
Servlet용도(무엇에 쓰는 물건)? 1. 브라우저에 출력할 화면구성(어려워)
2. Controller기능(MVC패턴구조에서 사용)
JSP용도(무엇에 쓰는 물건)? 1. 브라우저에 출력할 화면구성(쉬워)
---> 하지만 HTML도 화면구성을 할 수 있는데?
---> HTML+Java(서버와 데이터를 공유)
'Web 개발 > Servlet' 카테고리의 다른 글
[Servlet] GET과 POST (0) | 2022.03.26 |
---|---|
[Servlet] Context root 변경하기 (0) | 2022.03.26 |
[Servlet] Life-Cycle (0) | 2022.03.26 |
- Total
- Today
- Yesterday