과제 이유
Maven기반 Spring프로젝트로 레슨 중개 플랫폼이다. 레슨 요청서 등록부분을 흐름과 어떤 라이브러리가 사용,작동하는지 분석하고, 공부한 내용들은 따로 글로 정리하였다.
우선 등록이 되기 위해서는 대분류 카테고리 선택 - 소분류 카테고리 선택 - 요청서 정보 작성의 과정이 필요하다.
위 과정에서 요청서 정보 작성 -> 등록 요청을 가지고 분석해보겠다.
Spring (MVC)
1. 클라이언트가 요청서 내용을 form태그에 작성하고, POST방식으로 등록 요청을 DispatcherServlet에 보낸다.
2. 요청 URL에 매핑되는 컨트롤러를 알려준다.
3. 해당 컨트롤러를 찾는다.
4. 해당 컨트롤러가 실행되고, 요청서의 정보들은 DTO객체에 저장되어 각 계층간 이동을 한다. 등록 요청에 관련된 로직이 전부 작동되고, 결과가 나오면 컨트롤러는 결과를 보여줄 view에 보여줄 데이터를 Model에 저장한다.
5. 그리고 4번에 맞는 view의 이름을 ViewName으로 보낸다.
6. ViewName에서 받은 view를 가지고, 결과값을 보여줄 view파일을 검색하고 알려준다.
7. 해당 view파일에 결과를 보여줄 것을 요청한다.
8. 해당 view파일은 Model에서 저장된 값을 가지고 와서 클라이언트의 요청에 최종 응답한다.
Spring (DI)
Bean등록
Controller만 어노테이션으로 bean등록하고, 나머지는 xml로 등록했다.
DI(의존성 주입)
RequestController - @autowired 어노테이션을 사용하여 필드 주입
RequestService – DAO객체 수정자 주입
RequestDAO – MyBatis의 SqlSessionTemplate객체 생성자 주입
Bean등록과 의존성 주입을 다양한 방법으로 사용했다.
JDBC / OJDBC / DBCP / MyBatis
[ JDBC / SQL Mapper / ORM / DBCP 정리]
OJDBC를 통해 Oracle DB와 연동이 되고, Connection은 DBCP로 관리한다. 그리고 MyBatis를 통해 쿼리를 작성한다.
DTO를 통해서 데이터를 받고 requestSQL.xml파일에 insert쿼리문이 실행되고, DB에 insert된다.
Spring (DI)
Bean등록
Controller만 어노테이션으로 bean등록하고, 나머지는 xml로 등록했다.
DI(의존성 주입)
RequestController - @autowired 어노테이션을 사용하여 필드 주입
RequestService – DAO객체 수정자 주입
RequestDAO – MyBatis의 SqlSessionTemplate객체 생성자 주입
Bean등록과 의존성 주입을 다양한 방법으로 사용했다.
JSP / EL
View페이지는 jsp파일로 만들어졌고, Javascript를 사용하여 alert창으로 클라이언트에게 응답을 한다.
alert창에 보여질 데이터와 alert창 종료 후, 이동할 페이지 url데이터를 Model에서 가져와 EL표기법으로 작성했다.
댓글