학습 목표 — v0
- Servlet 이 무엇인지 안다
- Eclipse + Tomcat 환경에서 첫 Servlet 을 띄울 수 있다
- 「내가 만든 코드가 Tomcat 안에서 돌아간다」를 체감한다
1. Servlet — 가장 단순한 동적 응답
자바로 동적 응답을 만드는 가장 단순한 단위. Spring 도 사실은 Servlet 위에 얹힌 거대한 도우미입니다.
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
protected void doGet(HttpServletRequest req,
HttpServletResponse resp) throws IOException {
resp.setContentType("text/html;charset=UTF-8");
resp.getWriter().write("<h1>Hello, World</h1>");
}
}
2. 실행 흐름
① 브라우저 : GET /hello
② Tomcat : @WebServlet("/hello") 가 붙은 Servlet 찾음
③ Tomcat : HelloServlet.doGet() 호출
④ Servlet : 응답에 HTML 적음
⑤ Tomcat : HTTP 응답으로 변환해 전송
⑥ 브라우저 : 화면에 "Hello, World"
3. 실습 단계
- Eclipse → Preferences → Server Runtime Environments → Tomcat 등록
- File → New → Dynamic Web Project (이름:
hello-web)
src/hello/HelloServlet.java 작성 (위 코드)
- Run on Server → Tomcat 선택
- 크롬에서
http://localhost:8080/hello-web/hello 접속
4. 자주 만나는 오류
| 증상 | 원인 |
| 404 Not Found | URL 경로 오타. 컨텍스트 이름 확인. |
| 500 Server Error | Servlet 코드 안 예외. Console 스택 트레이스 확인. |
| 한글 깨짐 | charset=UTF-8 누락. |
| 포트 충돌 | 8080 사용 중. Tomcat server.xml 에서 포트 변경. |
5. v0 의 의미
출발점: 오늘부터 우리 프로젝트는 v0 → v∞ 로 진화합니다. 이 단순한 Hello 한 줄이 그 첫 박스입니다.
앞으로의 진화:
- v0.5 (Part 3) — DB 없이 Controller-Service-View 종단간
- v1 (Part 4) — 첫 DB 연동
- v2~v7 (Part 5) — 회원가입/로그인/게시판
- v8~v∞ (Part 6) — REST API 게시판
6. Before / After
Part 1 시작
웹의 동작 원리를 이론으로만 안다.
v0 (Part 1 끝)
내 자바 코드가 Tomcat 위에서 돌아가고, 응답을 브라우저에서 직접 본다.
학습 확인 체크리스트
- Servlet 의 역할을 한 문장으로 말할 수 있다
- Eclipse + Tomcat + Servlet 으로 첫 응답을 띄운다
- 「Spring 도 Servlet 위에 얹힌 도우미」라는 사실을 안다
- 404 / 500 / 한글깨짐의 첫 의심 지점을 안다