[Spring] 스프링/MVC(미완)

이유은·2023년 10월 22일
0

[Spring]

목록 보기
1/3

🔥 스프링 다운 받기

https://drive.google.com/drive/folders/11wtLzaQU1-LJJIPs_I1JNbdBUBySNnzI?usp=sharing

or

https://spring.io/

스프링 3버전?

https://github.com/spring-attic/toolsuite-distribution/wiki/Spring-Tool-Suite-3


스프링 설치후

실행



윈도우 - 프리퍼런스


🔥 MVC 패턴

  • xml 은 경로가 아님 -> 인덱스 실행전에 미리 메모리에 저장돼있음

<게시판목록 보기 가기>

  • index.jsp -> 보드서블릿으로 감! cmd값을 구해서 -> 보드커맨드팩토리로 감
  • cmd값에 따른 -> 커맨드 if 값 반납 -> 보드서블릿 -> 리스트 보드 커맨드 -> 보드서블릿 -> 웹 아인보드리스트.jsp


🎈 mvc

  • index.jsp -> 보드서블릿 ->보드커맨드팩토리
                    -> 보드서블릿 -> 리스트보드 커맨드
                    -> 보드서블릿 -> 웹inf/board/list.jsp


🎈 spring mvc 패턴

  • index.jsp -> DispatcherServlet -> handlemapping(cmd값을 이용해서 핸들러매핑에보내면 / 얘까 다음 가야할 / 커맨드(컨트롤러) 반환해줌

(다음가야될 컨트롤러를 얘가 알수 있어? 자동으로 갈수 없음 설정해줘야함. 스프링이 제공해주는xml파일로 넣어두기만 하면 됨 )
(내가 객체를 안만들어도 얘가 알아서 만들고. xmlㅌ오해서 하면됨 ) 서비스운영될때도 상관x

-> DispatcherServlet -> LIstBoardController
-> DispatcherServlet -** 가는방향 두가지
-> View로 가도되고
-> viewResolver(가야되는페이지 알려줌/ 길잡이)


🎈 스프링 mvc 패턴

1. DispatcherServlet
   1) org.springframework.web.servlet.DispatcherServlet


2.HandlerMapping(org.springframework.web.servlet.handler)
   1) BeanNameUrlHandlerMapping : default(알아서 만들어준다)
   2) SimpleUrlHandlerMapping

3.Controller(org.springframework.web.servlet.mvc) : 실제구현하는 곳

    1) Controller(interface)
   2) AbstractController
   3) AbstractCommandController
   4) SimpleFormController

4.ViewResolver(org.springframework.web.servlet.view)

    1) InternalResourceViewResolver : default(알아서 만들어준다)
   2) ResourceBundleViewResolver
   3) velocity.VelocityViewResolver : 외부프레임워크를 통해 결과를 본다

5.View(org.springframework.web.servlet.view) : 실제 보여지는 객체

    1) InternalResourceView : default(알아서 만들어준다)
   2) JstlView
   3) VelocityView


이 자료들 복사해!!


학생관리 살펴보자!

1. 웹컨텐트 - 인덱스 생성 /student.do ->로 보내자!
2. 웹아엔에프 - 스튜던트 폴더 - student.jsp /
3. 웹 inf - web.xml / 디스파처서블릿 / 가장 먼저 요청을 먼저 받고, 적절하게 처리할 함수, 즉 컨트롤러를 찾아서 정해주는 역
4. 웹 inf - springStudent-servlet.xml 생성

-> id 확인 / 비교후 맞으면 studentController 클래스로 이동한다
-> 핸들러매핑? 자동연결해주는놈

5. 자바소스 - student패키지 - studnetController 생성
/ 컨트롤러는 인터페이스다 /

  • 컨트롤러를 상속받자!
  • 오버라이드 -> 모델앤뷰!!
  • 모델앤뷰 mav = 뉴 모델앤뷰(); -> 디폴트
    mav.addObject(key,value) : 값 설정해서 넘기는 거 (리퀘스트처럼)
    mav.setViewName(이동할페이지) : 다음 페이지 주소
  • 모델앤뷰 mav = new 모델앤뷰(이동할페이지); + 값 넘길거 잆음 addObject로
  • 모델앤뷰 mav = new 모델앤뷰(이동페이지, key, value) -> 한번에 만들어서 객체 생성
  • return은 뉴로 만들어서 보내도되고~ mav값을 넘겨도 되고 . 자유롭게
    ++ 모델앤뷰로 저장하면 , request에 저장되므로, 꺼낼때는 requestScope로 꺼내면됨

스튜던트 해보장~!

web.xml 만들때 ->
설정해줌 / 다른이름으로 만들겠다. / 설정값을 안주면 / 이이름으로 시작되는 네개의 xml파일을 읽어서 실행함 / 주로 서블릿을 쓰니까

디스패쳐 역할 -> 스트링 스투던트로

스프링 스투던트 -> 자바 파일 만듦 / 설정안해줘도 알아서 매핑해서 옴

스튜던트.xml 서블릿 -> 만들어둔 빈 -> 커맨드랑 똑같? / 스튜던트두 cmd랑비교
맞으면 저 클래스 넘겨줌!!

클래스에서는 뭘하든 -> 모델앤뷰 로 리터? / 리퀘스트랑 똑같다
세가지 방법. 저위에 읽어봐

애드오브젝트에 적어두면 / 리퀘스트에 저장됨 꺼낼때도 리퀘스트로~
모델앤뷰가 통채로 나감~ -> 어디로? 디스파처 서블릿으로~ -> 뷰~ 페이지로 넘겨줌
넘겨줄때 뷰리절브를 통해서 작업 가능 다시 스튜던트스프링서블릿xml로가서

뷰리저버 사용전에는 잘 가짐!!

지금 저렇게 바꾸고는 에러뜸 -! 왜냐면

페이지를 찾을 수 없다고 나옴!!!

살을 붙이니까 ! 뷰리저버에의해서 밸류 붙고. 확장자 .jsp가 붙임!!!

그걸 붙여주겠다 하는게 뷰리저버가 하는일

이동할 경로 지정해버리기!

바꿀거면 클래스도 셋뷰네임바꿈

profile
우당탕코딩

0개의 댓글