MVC
-
Configuration File 설정Spring-diary/WEB 2020. 2. 12. 10:04
Configuratin File을 다수 설정할 수 있다. 환경설정 하는 Configuration 파일 하나와 Controller를 설정하는 파일 하나로 조정할 수 있다. Web.xml Configuration 파일 위치 설정 Web.xml에서 Configuration 파일의 위치를 설정해 줄때 두개로 잡아준다. Web.xml에 설정한 경로와 이름대로 파일을 만들어준다. namespace MVC이용해 resolver 설정 namespace 설정 Tag 설정 context:component-scan Controller 사용시 일일이 Bean으로 등록해 사용하는 불편함을 줄이는 context:component-scan을 사용한다. 패키지에 있는 controller를 찾아서 자동으로 등록해준다. 대신에 Anno..
-
Annotation으로 Controller Interface 구현하기Spring-diary/WEB 2020. 2. 11. 12:28
Annotation으로 하지 않으면 controller 하나당 한개의 페이지만 할당되는데 Annotation을 사용하면 하나의 Controller로 여러개의 페이지를 관리할 수 있다.(메소드 여러개 사용가능) Bean을 하나만 생성해 가독성을 높일 수 있다 Annotation을 주어 Controller를 Implements하지 않고도 사용할 수 있다. Class에는 @Controller Annotation을 주고 Method에는 특정 주소형식으로 오면 이 Method로 오라는 @RequestMapping("특정주소")를 명시한다. Annotation 표현 이름을 자유롭게 사용해도 된다. Return 값을 String으로 줄 수 있다. Return 값은 View의 이름이다. *정석 표현은 다음과 같다 an..
-
[Eclipse][Sts][XML] DispatcherSpring-diary/WEB 2020. 2. 11. 09:33
Dispatcher에 템플릿 등록하기(다른 xml 동일) 컨트롤 +스페이스를 누르면 나오는 목록중에 자주 쓰는 템플레이트를 사용자가 직접 지정하여 저장 할 수가 있다. Window ->preference ->xml->Template ->new -> 이름과 코드를 고르고 All XML로 설정후 등록해 사용한다. Dispatcher 특징 Dispatcher에는 HandlerMapping을 해주는 Bean이 없어도 Default handler Mapping이 있다.
-
Web-INF에 VIEW를 넣어야 하는 이유Spring-diary/WEB 2020. 2. 10. 23:34
브라우저 주소창에 쓰는것과 실제 파일이 있는 위치가 다르다. 요청이 들어오는것과 진짜 자원이 있는 곳을 분리시켜야만 보안상 안전하다. 즉 자원이 어디 있는지 Client 측에선 예측을 못하도록 한다. web-inf에 있는 주소는 찍어도 가지 못한다. spring이 우회시켜서 들어가야만 완성되는 것이지 브라우저상에서는 못들어간다. 때문에 맨 마지막에 프로젝트 마무리할 때 web-inf에 두도록 한다. web-contents밑에 두다가 마무리 할 때가 되면 Web-INF로 view 폴더를 옮겨준다. Dispatcher의 View resolver의 경로 설정도 다르게 해주어야 한다.
-
Spring MVC 구조Spring-diary 2020. 2. 10. 22:42
client가 서버에 필요한 정보를 요청한다.Dispatcher Servlet이 요청을 받는다. Dispatcher Servlet이 Handler Mapping에게 요청 해석을 부탁한다. 요청을 해석한 후에 어디 Controller로 찾아가야하는지 알려준다. 요청을 가지고 Controller로 찾아간다. 요청에 맞는 2가지 정보를 다시 Dispatcher Servlet에게 전달한다. -Data+view ->ModelView 전달- 어디로 View로 찾아가야하는지 ModelView에 대한 해석을 부탁한다. 어디 View로 찾아가야 하는지 알려준다. 해당 View로 Model을 가지고 찾아간다. 알맞게 처리한 후에 Dispatcher Servlet에게 전달한다. 다시 Client에게 전달한다.