html호출관련
- 작성자 :
- 박*성
- 작성일 :
- 2009-08-12 19:36:21
- 조회수 :
- 4,110
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
web-inf 아래에 html 소스가 있다고 할때, 호출할수 있는 방법을 가르쳐주세요.
web-inf/html/index.html일때
web-inf/html/index.html일때
A
안녕하세요
Spring MVC 는 ViewResolver 에 의해 View 를 선택하여 실행하게 됩니다.
질문하진 WEB-INF 밑으로 존재하는 html 의 경우 View interface를 구현한 것이 아니기 때문에 Controller 단에서 redirect 하는 형태로 접근해야 합니다.
아래와 같이 redirect:/hello.html 로 지정가능합니다.
@RequestMapping(value = "/hello.do")
public String redirect() {
return "redirect:/hello.html";
}
하지만 WEB-INF 에 존재하는 html 의 경우는 redirect 로 접근이 불가능합니다.
단 ViewResolver 종류 중 InternalResourceViewResolver 를 이용/확장하여 html 을 반환하게 할 수 있는데
이렇게 하는 경우 ViewResolver 에서는 해당 페이지의 유무를 체크해야 하는 불필요한 overhead 가 존재하게 됩니다.
여기서 overhead라고 말씀드리는 부분은 HtmlInternalResourceViewResolver 에서 html 페이지의 유무를 체크해야 하기 때문입니다.
<bean class="egovframework.lab.servelt.view.HtmlInternalResourceViewResolver" p:prefix="/WEB-INF/html/" p:suffix=".html" p:order="0"/>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/jsp/" p:suffix=".jsp" p:order="1"/>
따라서 html 와 같은 static resource(서버에서이용되지않으므로) 성격의 파일은 WEB-INF 아래 두지 않는 것이 좋을 것 같습니다.
그럼 수고하세요
Spring MVC 는 ViewResolver 에 의해 View 를 선택하여 실행하게 됩니다.
질문하진 WEB-INF 밑으로 존재하는 html 의 경우 View interface를 구현한 것이 아니기 때문에 Controller 단에서 redirect 하는 형태로 접근해야 합니다.
아래와 같이 redirect:/hello.html 로 지정가능합니다.
@RequestMapping(value = "/hello.do")
public String redirect() {
return "redirect:/hello.html";
}
하지만 WEB-INF 에 존재하는 html 의 경우는 redirect 로 접근이 불가능합니다.
단 ViewResolver 종류 중 InternalResourceViewResolver 를 이용/확장하여 html 을 반환하게 할 수 있는데
이렇게 하는 경우 ViewResolver 에서는 해당 페이지의 유무를 체크해야 하는 불필요한 overhead 가 존재하게 됩니다.
여기서 overhead라고 말씀드리는 부분은 HtmlInternalResourceViewResolver 에서 html 페이지의 유무를 체크해야 하기 때문입니다.
<bean class="egovframework.lab.servelt.view.HtmlInternalResourceViewResolver" p:prefix="/WEB-INF/html/" p:suffix=".html" p:order="0"/>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/jsp/" p:suffix=".jsp" p:order="1"/>
따라서 html 와 같은 static resource(서버에서이용되지않으므로) 성격의 파일은 WEB-INF 아래 두지 않는 것이 좋을 것 같습니다.
그럼 수고하세요