본문 바로가기
과제

내가 했던 프로젝트의 흐름 이해

by 불면증김씨 2022. 1. 30.

과제 이유

 

면접후기(1)

자기소개(X) 처음보는 자리에서 나를 짧지만 확실하게 소개를 해야하는 자기소개. 제일 기본적인 부분을 준비를 제대로 못했다. 내가 한 프로젝트의 흐름 설명(X) 프로젝트를 하면서 전체적인 흐

nosleep.tistory.com


Maven기반 Spring프로젝트로 레슨 중개 플랫폼이다. 레슨 요청서 등록부분을 흐름과 어떤 라이브러리가 사용,작동하는지 분석하고,  공부한 내용들은 따로 글로 정리하였다.

 

우선 등록이 되기 위해서는 대분류 카테고리 선택 - 소분류 카테고리 선택 - 요청서 정보 작성의 과정이 필요하다.

요청서 등록 과정

위 과정에서 요청서 정보 작성 -> 등록 요청을 가지고 분석해보겠다.


    Spring (MVC)     

 

[스프링 MVC 흐름 정리]

 

스프링 MVC 흐름

 스프링 MVC 프로젝트 흐름 정리 DispatcherServlet web.xml에 정의되어 있으며, sevlet-context.xml 설정 파일을 읽어 구동한다. Front Controller라고도 한다. 클라이언트의 모든 Request를 받아 제어한다. Co..

nosleep.tistory.com

 

 

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)    

 

[스프링 DI 정리]

 

DI

DI(의존성 주입)를 통해서 DI를 하기 위해서는 객체를 Bean등록이 되어 있어야 한다. 객체를 보낼놈, 받을놈 전부다 등록이 되야한다. Bean 등록은 xml등록 / 어노테이션 등록으로 나누어진다. 해당

nosleep.tistory.com

 

Bean등록

Controller만 어노테이션으로 bean등록하고, 나머지는 xml로 등록했다.

 

DI(의존성 주입)

RequestController - @autowired 어노테이션을 사용하여 필드 주입

RequestService – DAO객체 수정자 주입

RequestDAO – MyBatis의 SqlSessionTemplate객체 생성자 주입

 

Bean등록과 의존성 주입을 다양한 방법으로 사용했다.

 


           JDBC / OJDBC / DBCP / MyBatis         

 

[ JDBC / SQL Mapper / ORM / DBCP 정리]        

 

JDBC / SQL Mapper / ORM / DBCP

 JDBC / DBCP / SQL Mapper / ORM / DBCP 각 DB와의 연결을 드라이버를 통해 하고 있으며 이 때문에 어떤 한 DB에 종속적으로 적용되지 않는다. DB를 바꿔야 할 때, 드라이버만 바꿔준다면, 코드의 수정이

nosleep.tistory.com

 

OJDBC를 통해 Oracle DB와 연동이 되고, Connection은 DBCP로 관리한다. 그리고 MyBatis를 통해 쿼리를 작성한다.

DTO를 통해서 데이터를 받고 requestSQL.xml파일에 insert쿼리문이 실행되고, DB에 insert된다.


       Spring (DI)    

 

[스프링 DI 정리]

 

DI

DI(의존성 주입)를 통해서 DI를 하기 위해서는 객체를 Bean등록이 되어 있어야 한다. 객체를 보낼놈, 받을놈 전부다 등록이 되야한다. Bean 등록은 xml등록 / 어노테이션 등록으로 나누어진다. 해당

nosleep.tistory.com

 

Bean등록

Controller만 어노테이션으로 bean등록하고, 나머지는 xml로 등록했다.

 

DI(의존성 주입)

RequestController - @autowired 어노테이션을 사용하여 필드 주입

RequestService – DAO객체 수정자 주입

RequestDAO – MyBatis의 SqlSessionTemplate객체 생성자 주입

 

Bean등록과 의존성 주입을 다양한 방법으로 사용했다.

 


    JSP / EL    

View페이지는 jsp파일로 만들어졌고, Javascript를 사용하여 alert창으로 클라이언트에게 응답을 한다.

alert창에 보여질 데이터와 alert창 종료 후, 이동할 페이지 url데이터를 Model에서 가져와 EL표기법으로 작성했다.

 

 

 

 

 

 

댓글