Spring Framework _ 3

ayleen·2022년 1월 13일
0




톰캣 서버가 연결되는 절차


  1. 시작버튼을 누르면 web.xml파일을 가장 먼저 읽는다.(xml = 작업지시서)

    Spring Container를 생성시킨다.(객체가 생성되고 관리되는 영역 https://steady-coding.tistory.com/459)
    : 자바 객체의 생명 주기를 관리하며, 생성된 자바 객체들에게 추가적인 기능을 제공하는 역할을 한다. IoC와 DI의 원리가 적용된다.
  • bean : 자바 객체. 객체 하나하나를 가르킴. 콩깍지 안의 콩처럼 하나하나 독립적인 것을 의미함.
  • DI : Dependency Injection(의존성 주입)
  • Listener : 서버에서 가장 먼저 구동되는 클래스. ContextLoaderListener
    -> root-context.xml을 로딩함. > HikariConfig(DB연결) / HikariDataSource(DBCP) / SqlSesstionFactoryBean

  1. 요청을 프로세싱
  • DispatcherServlet : Spring에서 제공하는 Frontcontroller
    -> servlet-context.xml = POJO, view resolver

    ▲ 활성화시켜주는 역할

    ▲ 어노테이션들이 붙어있는 클래스들을 스캔해서 스프링 컨테이너에 자동으로 bean(객체)을 만든다.

    ▲ 생성된 객체를 자동으로 연결

    ▲ 맵핑을 하는 별도의 클래스를 만듦.

  • ViewResolver : 리턴값에 접두사와 접미사를 붙여서 경로를 만들어준다. 만들어진 경로를 jsp에 forwording 해준다. JSP는 'requset.setAttribute("list", list);'를 꺼내온다.




Controller → Mapper 메서드 실행 → SQL실행 → 리턴해서 list데이터 가져옴 → request로 객체바인딩 → jsp로 넘겨줌 → jsp경로를 resolve해서 view로 꺼내와서 client에게 전송




글쓰기


  1. 글쓰는 버튼 만들어주기.

2.jsp에 글쓰기 화면 만들기
(부트스트랩에서 forms 가져왔음)

-> 비율을 가르킴. Label이 2이고 div(input)이 10

  1. 파라미터 수집
    전에 썼던 방식은 vo나 dto에 수집하는 방식

지금은
알아서 스프링이 객체생성(new Board();)
-> vo에 생성한 생성자가 없기 때문에 디폴트로 만들어진 생성자에 저장된다.

SQL문 만들어주기



그 전에는 '?(물음표)'로 파라미터를 표시했지만, 스프링에서는 '#{ }'로 표시한다.

  • parameterType : 어떤 파라미터에 담아줄지
  • ↓↓ 만약 여기서 생성자를 만들고 싶다면 반드시 디폴트를 만들어줘야한다. ↓↓
  1. sendRedirect

    sendRedirect로 페이지를 돌려준다.
    이때, 리턴값에 그냥 /boardList.do로 써주면 resolver가 자동으로 접두사와 접미사를 붙이기 때문에 이상한 주소가 되어버린다.

    앞에 'redirect:'를 붙여준다.

인코딩



web.xml에 넣어준다. 위치는 상관 없음.



profile
asdf

5개의 댓글

comment-user-thumbnail
2022년 1월 16일
  1. 앞에 'redirect:'를 붙여줄때는 어느때인가요?

저보다 훨씬 이해력이 좋으신데요? ㅋㅋㅋㅋㅋㅋㅋ

3개의 답글