JSP의 경로
정적파일과 동적파일 동작하는 방법 : https://gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html
따로 관리하는 이유 -> 정적파일을 빨리 실행시키기 위해서
JSP는 어떻게 인식되서 작동되는가???
JSP 파일 자체를 브라우저로 전송하면 인식x, 톰캣 컨테이너에 의해 브라우저로 전송되기 전 실행 단계를 거쳐야 인식o
이 과정을 거치면 브라우저로 전송됨, 전송될때 jsp 파일은 html/css/js로 변환된 파일임
=================
tiles란 개념도 존재하기에 좀 복잡하다.
일단 타일즈 먼저
pom.xml 에 tiles 관련 dependency 추가
servlet-context.xml 파일에 타일즈 View Resolver 를 추가
tiles 관련 설정 xml 추가
기본 레이아웃 jsp 추가
<세세하게 다시 정리>
pom.xml
<!-- Tiles 관련 -->
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-jsp</artifactId>
<version>2.2.2</version>
</dependency>
여기서 의문
pom.xml은 뭐지? 프로젝트 실행 흐름에 없는애였다. 그럼 이건.. 메이븐! 메이븐 라이브러리 업데이트
스프링 안에서 그냥, 서버와 관계없이 흘러가는 xml
Maven (빌드툴 ※ 그레들, 엔트)
개발된 프로젝트를 동작 할 수 있는 파일로 만들어주는 기능
java -> jar // Web(정적파일) -> war(동적파일)
원하는 라이브러리를 직접 다운 받지 않고 사용 할 수 있는 기능
(사실 특정 코드 넣으면 알아서 다운 받음)
이런 설정들을 pom.xml 에서 해 준다.
기본적으로 사용하는 라이브러리들은 C:/[userPc]/.m2 폴더에 저장 된다.
<세세하게 다시 정리>
https://velog.io/@ehdrms2034/%EC%8A%A4%ED%94%84%EB%A7%81-MVC-Spring-MVC-%EA%B5%AC%EC%A1%B0
사용자 -> 요청(url) -> DispatcherServlet -> handlermapping을 통해 해당 요청을 매핑한 컨트롤러가 있는지 찾음 -> controller 도착 (서비스,dao,mapper 등장) -> 요청 처리 후 결과를 출력할 view의 이름을 리턴 -> servlet.xml에서viewResolver를 통해 jsp 찾아냄 -> view -> 사용자 끝, 주의 주의 jsp보다 tiles가 우선이다 tiles 설정 했는지 꼭 확인
사용자 -> 요청(url) 을 예로들어 /list.do 라고 해보자
그럼 스프링에서 얘는 이걸 어떻게 인식을 하는가?
web.xml
<!-- action이라는 이름을 가진 DispatcherServlet을 등록 -->
<servlet-name>action</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 서블릿 컨테이너는 *.do라는 경로의 요청이 있어야 DispatcherServlet 객체를 생성 -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/config/springmvc/common-*.xml
</param-value>
</init-param>