2021. 12. 1. 18:18ㆍ[프론트엔드]_/[Javascript]_ES6
1. 저번에는 개발 환경을 만들어 보았다
이번에는 추후 로그인 페이지를 대비하여 빌드 후 원하는 jsp 파일을 호출하도록 해봤다.
그전에 알아둬야할 것 - Controller
Spring 에서 controller의 시작점은 서버가 실행 될 때 전부 메모리에 올라간 뒤에 서버가 시작된다.
controller의 특징
다양한 타입의 파라미터 처리, 다양한 타입의 리턴 타입을 사용 가능하다.
대규모 프로젝트로 갈 수록 서비스가 많아지는데 이걸 하나의 클래스에서 처리하는 것이 아니라
controller 라는 중간 제어자 역활을 하는 것을 만들어서 각각 호출하게 만들 수 있다.
MVC 패턴에 포함된다. 이는 유지보수가 용이하다.
우선 homeController 안에 다음과 같은 코드를 작성한다.
@Controller 가 붙은 모든 것이 프로젝트가 실행될 때 전부 메모리에 올라간다고 생각하면된다. (매핑)
@RequestMapping을 이용하여 뒤에 붙은 괄호 안의 경로가 호출 될 때 아래의 메소드가 호출된다. (상시대기)
괄호 안의 url을 잠시 해석하자면
/** : 경로의 모든 하위 경로(디렉토리) 매핑
/* : 경로의 바로 하위에 있는 모든 경로 매핑.
여기에서는 모든 디렉토리의 파일 안에서 .view 라고 호출되는 모든 경로를 말합니다.
모든 파일 경로 안에서 .view가 호출이 되면 해당 메소드는 확장자명(.view) 를 지우고 "" 공백으로 만들어서 반환합니다.
변환해줄 Controller는 준비가 되었고, 이제 전체적인 흐름을 보겠습니다.
해당 디렉토리에서 매핑이 끝난 이후 web.xml이 실행됩니다.
해당 폴더의 코드를 위에서부터 보면,
classpath 의 경로의 Context.xml를 호출하고
/WEB-INF/spring/servlet-context.xml 를 호출하고
아래의 welcome-file의 index.jsp가 호출됩니다.
Context.xml은 아직 코드를 작성한 것이 없고
servlet-context.xml을 보겠습니다.
위의 코드에서 볼 것은 prefix 와 suffix입니다. 앞 뒤의 해당 value의 경로와 확장명을 자동으로 검색하게 해줍니다.
그리고 나서는 마지막의 welcome-file이 실행되면서 index.jsp가 호출됩니다.
해달 코드에서는 jsp:forward를 사용하여 page에 작성한 경로로 연결해줍니다.
이를 사용하는 이유는 다음과 같습니다.
url에 해당 주소를 입력하지 않아도 화면을 보여 줄 수있습니다.
index.jsp페이지에서 사용하던 request 객체와 response 객체를 login.jsp에 함께 전달합니다.
또한 index.jsp는 화면에 호출되지 않습니다.
해당 화면이 대신 출력되고 다음과 같은 화면을 얻을 수 있습니다.
'[프론트엔드]_ > [Javascript]_ES6' 카테고리의 다른 글
[IntelliJ]_jQuery 라이브러리 추가, 적용 (1) | 2021.12.03 |
---|---|
[TypeScript]_IntelliJ Spring_lib.dom.ts 외부 라이브러리 가져오기 (0) | 2021.12.02 |
[IntelliJ]_빠른 테스트 (0) | 2021.12.01 |
[IntelliJ]_Spring 개발환경 설정 (feat.Tomcat) (0) | 2021.11.30 |
[_IntelliJ ]_ 코드 작성 시간을 줄여주는 단축키 (0) | 2021.11.30 |