반응형
- 서블릿이란
- 서버 쪽에서 실행되면서 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 자바 클래스
- 독자적으로 실행되지 못하고 톰캣과 같은 JSP/Servlet 컨테이너에서 실행된다.
- 서버에서 실행되다가 웹 브라우저에서 요청을 하면 해당 기능을 수행한 후 웹 브라우저에 결과 전송함.
target runtime에 톰캣 선택후 Next 두번하면 아래와 같이 나온다
체크박스 체크해주고 finish
webapp에 html 파일 만들어줌
작성후 코드창에 우클릭 Run as >> Run on Server
Add and Remove에는 만든 프로젝트로 선택하고 Finish
src/main/java에서 class FirstServlet 만들어주고 HttpServlet을 상속해줌
doGet(), doPost(), init() 만들어줌
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class FirstServlet extends HttpServlet{
// 최초 요청시
@Override
public void init() throws ServletException {
System.out.println("FirstServvlet 초기화 : init메소드 호출");
}
// doget 입력한뒤 ctrl + 1로 만듬
// doGet, doPost는 요청받은 작업을 수행
// 요청을 받을 때 마다 실행
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// get방식의 요청에 응답
System.out.println("doGet()메소드 호출");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// post방식의 요청에 응답
System.out.println("doPost()메소드 호출");
}
}
- 매핑 하기
webapp >> WEB-INF안에 web.xml 선택
위 부분에 입력해준다.
<!-- 서블릿 등록 : FirstServlet을 aaa이름으로 등록 -->
<servlet>
<servlet-name>aaa</servlet-name>
<servlet-class>sec01.ex01.FirstServlet</servlet-class>
</servlet>
<!-- 서블릿 매핑 -->
<servlet-mapping>
<servlet-name>aaa</servlet-name>
<url-pattern>/first</url-pattern>
</servlet-mapping>
아래쪽 url-pattern에 /first 부분은 본인이 임의로 입력하면 됨.
first앞에 슬래쉬 ( / ) 반드시 넣어줘야함
web.xml 변경 사항 반영하려면 톰캣 재실행 해줘야함.
톰캣 재실행 후 브라우저 주소창에 입력후 enter 치고 이클립스 콘솔창을 확인해보자
- FirstServvlet 초기화 : init메소드 호출
- doGet()메소드 호출
이라고 메소드들이 호출되면 성공.
- 위 과정 풀이
- 먼저 init이 실행되고 get방식으로 요청했기때문에 doGet()으로 실행됨
- init은 처음 서버 올릴때만 실행되고 그 후로는 실행 안됨.
- 서블릿 생명주기 메소드
생명주기 단계 | 호출 메소드 | 특징 |
초기화 | init() | 서블릿 요청시 맨 처음 한 번만 호출 서블릿 생성 시 초기화 작업을 주로 수행 |
작업 수행 | doGet() doPost() |
서블릿 요청 시 매번 호출됨 실제로 클라이언트가 요청하는 작업 수행 |
종료 | destroy() | 서블릿이 기능을 수행하고 메모리에서 소멸될 때 호출됨 서블릿의 마무리 작업을 주로 수행함 |
반응형
'학습 > JSP' 카테고리의 다른 글
6. 서블릿 (서블릿으로 요청 시 구구단 출력하기) (0) | 2022.11.02 |
---|---|
5. 서블릿 (POST 방식, 자바스크립트로 서블릿에 요청, 로그인 요청시 유효성 검사하기) (0) | 2022.11.02 |
4. 서블릿(form태그 이용 서블릿에 요청, 환율 계산기) (0) | 2022.11.01 |
3. 서블릿 (서블릿 만들기, 애너테이션 이용한 서블릿 매핑) (0) | 2022.11.01 |
1. JSP (톰캣 설치 및 설정, 서버 시작, 웹에 나타내기, httpServlet ) (0) | 2022.10.31 |
댓글