@WebServlet("/hello-world")
public class HelloWorldServlet extends HttpServlet {
private UserRepository repository = new UserRepository();
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
try {
String userIdParam = request.getParameter("userId");
Long userId = (userIdParam != null) ? Long.parseLong(userIdParam) : null;
String userInfo = repository.findById(userId);
// View를 포함한 코드
out.println("<h1>Hello World!</h1>");
out.println("<div>조회한 회원의 정보: " + userInfo + "</div>");
} catch (NumberFormatException e) {
out.println("<div>Invalid user ID format</div>");
} finally {
out.close();
}
}
}
HttpServletRequest, HttpServletResponse 객체를 생성service() 메서드가 실행되며, 요청 방식에 따라 doGet() 또는 doPost() 실행HttpServletResponse에 응답을 담아 브라우저로 반환HttpServletRequest, HttpServletResponse 객체가 소멸<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>게시글 등록</title>
</head>
<body>
<%
BoardRepository boardRepository = BoardRepository.getInstance();
String title = request.getParameter("title");
String content = request.getParameter("content");
Board board = new Board(title, content);
boardRepository.save(board);
%>
<div>게시글이 저장되었습니다.</div>
</body>
</html>
| 구성 요소 | 역할 |
|---|---|
| Controller | 사용자의 요청을 받아 Model과 View를 연결 |
| Model | 비즈니스 로직을 처리하고 데이터를 관리 |
| View | Model 데이터를 기반으로 화면을 렌더링 |
☞ Service Layer와 Repository Layer는 다음 강의에서 다룰 예정
MVC에 대해 잘 알아갑니다 !!!!