티스토리 뷰

Maven repository사이트에서 Spring MVC를 받는다.

pom.xml에 넣으면 라이브러리에 포함이 된다.



이 라이브러리중 방금 포함한 Spring-webmvc 안에 DispatcherServlet을 사용할 것이다.
스프링에서 프론트 컨트롤러역할을 하기위한  서블릿이라 할 수 있다.


오른클릭 후 -> Copy Qualified Name 를 눌러 이름을 카피해준다

프론트 컨트롤러역할을 하기위한  서블릿이라 할 수이다.


잠깐 멈춰 이야기하자면

jsp처럼 컨트롤러 영역에서 모든걸 다 해결하는 것이아닌

가장 앞에서 요청을 받는 프론트컨트롤러로  DispatcherServlet을 사용하는 것이기 때문에

web.xml안에 servlet으로 지정해준다

이때 복사한 경로이름에 .class는 지워줘야한다


그다음 컨트롤러의 주소를 적어줘야한다. 이때 /*로 두는 이유는  모든 주소는 일단 이 프론트 컨트롤러가 받는다는 의미가된다.


그 뒤에 동일한 이름(servelt-name)으로 servlet을 이어주면 된다.

하지만 이제 프로그램을 돌려 jsp파일을 불러와도 오류가 뜰것인데


이렇게 web-inf 안에 dispatcher-servlet이 없다는 말을 할 것이다.

web.xml에서 설정한 dispatchr + -servlet 파일인데 (네임이 aaa라면 aaa-servlet이 된다.)
이게 필요한 이유는 모든 url은 디스패처에서 받고 실행되기 때문에

매핑해줄 매핑주소가 필요하기 때문이다.


그럼 web-inf안에 dispatcher-servlet.xml를 생성해준다.


이제 이 xml안에 들어갈 내용을 어떻게 넣는지는

스프링쪽에서 제공한 것을 따라야한다

http://docs.spring.io/spring-framework/docs/로 가면 (바뀔 수 있다)


자신의 스프링 버전으로 가서 spring-framwork-reference를 누르고 core로간다


configuration metadata를

복사한다. 그리고 서블릿 xml에 붙여넣는다


여기서 bean이라는 설정을 통해 클래스를 설정하게되면


얘를 객체화해서 ioc컨테이너안에 담게된다

여기서 id는 이 class로 지정된 것을 꺼내서 사용할때 쓴다

지금 아이디로 넣을 것은 url을 넣는다

class에는 사용할 indexController의 경로를 적는다

이제 id와맞는 요청이 오면 class경로에 있는 것을 객체화해서 꺼내주는 것이다


이제 컨트롤러에서 implements를 이용해서 컨트롤러를 상속한다

그럼 오버라이드로 handleRequest 를 불러올 수 있다.


여기에 오브젝트와 뷰네임을 설정해주자

뷰는 페이지, 오브젝트는 모델로써 데이터를 의미한다

하지만 실행해도 오류가 뜰것인데
이건 뷰에대한 설정이 dispatcher-servlet.xml에 없기 때문이다.


이때 web.xml 에서 url-pattern에 *을 뺀다

그럼 처음 사용자의 요청이 들어오고 설정을 통해 
디스패처 -> 컨트롤러까지 가서

리턴으로 온 mv로 뷰페이지를 찾을때에  dispatcher-servlet.xml을 다시 둘러보지만

없는것은 리소스를 다시 요청하게 된다

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함