이번 주는 본격적으로 Spring 프레임워크를 활용해서 웹 애플리케이션을 만들어보는 데 집중했다. 로그인 기능과 게시판을 구현하고, 이를 MySQL과 연동하여 실제 데이터를 저장하고 출력하는 과정을 경험했다. 실습을 통해 MVC 패턴, DAO, DTO 개념을 실제로 손에 익힐 수 있었다.
id, pw)을 컨트롤러에서 받아서 서비스 → DAO를 통해 DB와 비교@RequestMapping("/login")을 활용하여 로그인 폼 처리HttpSession을 활용한 사용자 상태 유지@ModelAttribute, @RequestParam 사용 방식 이해redirect:를 통해 리다이렉션 처리SELECT)SELECT WHERE bno=?)INSERT)UPDATE)DELETE)BoardController → BoardService → BoardDao 구조LIMIT, OFFSET 활용title, content, writer 컬럼 기준 LIKE 검색java: cannot find symbol → SearchCondition 클래스 import 누락prefix, suffix 설정 누락 확인 (application-context.xml or WebMvcConfig)pom.xml에 mysql-connector 추가application.properties에서 DB 접속 설정@Repository, @Service, @Autowired를 통한 DI 주입PreparedStatement 방식이 아니라 MyBatis를 사용해 XML로 쿼리 작성utf8mb4 설정 확인LocalDateTime과 DB의 DATETIME 매핑 이슈처음에는 컨트롤러와 DAO 사이에서 어디까지 책임져야 할지 헷갈렸지만, 각 계층이 하는 역할이 명확히 정리되면서 전체 구조가 머리에 그려지기 시작했다. 실습을 통해 단순히 코드를 구현하는 게 아니라 "왜 이렇게 설계해야 하는가?"에 대한 감도 조금씩 잡혀가는 느낌이다.
다음 주에는 파일 업로드, 인터셉터, 예외 처리, AOP까지 확장해서 실습해볼 계획이다.
| 기능 | 사용 기술/개념 |
|---|---|
| 로그인 | Spring MVC, 세션, 컨트롤러 |
| 게시판 | CRUD, 페이징, 검색, JSP |
| DB 연동 | MyBatis, MySQL, DAO/DTO |
| 오류 해결 | 컴파일 에러, 경로 설정, import |