티스토리 뷰
Servlet?
최대한 간단하게 설명하면, Servlet은 웹에서 클라이언트의 요청에 대한 동적인 처리를 서버가 수행할 수 있게끔 해주는 JAVA API라고 할 수 있다.
즉, JAVA 코드로 작성되는 HTML 코드라고 할 수 있는데, JSP가 요청 결과를 VIEW 해주는 데 집중한다면, Servlet은 서버 내부에서 데이터의 처리(제어)에 집중한다고 볼 수 있다.
간단한 실습을 진행해면서 왜 Servlet 을 사용하는 것이 좋은지, 어떤 것이 단점인지 등등 자세히 알아보도록 하자.
기본적으로 servlet은 동적 웹 프로젝트에서 Java Resources - src 에 위치하며, new를 클릭하여 생성할 수 있다.
패키지명, 클래스명을 입력해주고, next를 눌러 넘어가면
다음과 같은 화면이 나오는데, Description은 해당 Servlet에 대한 설명을 간단히 적어주면 되고(생략 가능), 그 밑에 URL mapping은 주소창에 직접 표출되는 정보이니, 수정해서 원하는 주소명으로 바꿔도 된다.
next를 한번 더 누르면, 위 화면으로 넘어온다. 이 작업에서는 생성자의 생성 여부, 추상 메서드 사용 여부 등을 체크하면 된다. (이번 포스팅에서는 doGet() 메서드만 사용한다.)
servlet을 생성하면 다음과 같은 코드가 자동으로 작성된다. (주석은 자동작성되지 않는다.)
package unit01;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet; //annotation @
import javax.servlet.http.HttpServlet; //HttpServlet implements Servlet
import javax.servlet.http.HttpServletRequest; //doGet() / doPost() 의 첫번째 매개변수 타입
import javax.servlet.http.HttpServletResponse; // doGet() / doPost() 의 두번째 매개변수 타입
/**
* Servlet implementation class HelloServlet
*/
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
private static final long serialVersionUID = 1L; //수정 불가! 톰캣이 서블릿을 구별하기 위해 자동으로 부여되는 코드
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
//response.getWriter() => printWriter 타입 객체를 반환
// PrintWriter out = response.getWriter();
//response.getWriter().append("Served at: ") => out.append("Served at: "); 추가
//
//즉, String tags = ""; tags += "<html>" 과 비슷
}
}
바로 실행해보자.
아까 맵핑해준 주소와 테스트 코드가 실행된다!!
드디어 servlet에도 한 걸음 내딛었다.
반응형
'WEB > DynamicWeb' 카테고리의 다른 글
[Servlet] init() & destroy() (0) | 2021.04.26 |
---|---|
[Servlet] 간단한 덧셈을 수행하는 클래스 (0) | 2021.04.26 |
[JSP] JSTL - fmt (0) | 2021.04.26 |
[JSP] JSTL - core (0) | 2021.04.23 |
[JSP] EL 표현식 문법과 사용 방법 (0) | 2021.04.23 |
Comments
최근에 올라온 글
최근에 달린 댓글
TAG
- Async
- 인천 구월동 이탈리안 맛집
- await
- react
- 이탈리안 레스토랑
- 파니노구스토
- Promise
- 정보보안기사 #실기 #정리
- 인천 구월동 맛집
- javascript
- react-native
- redux-thunk
- redux
- AsyncStorage
- 맛집
- Total
- Today
- Yesterday