
HttpRequestHandlerํธ๋ค๋ฌ(์ปจํธ๋กค๋ฌ)๋ ์๋ธ๋ฆฟ๊ณผ ๊ฐ์ฅ ์ ์ฌํ ํํ์ ํธ๋ค๋ฌ์ด๋ค. public interface HttpRequestHandler {
void handleRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException;
}
@Component("/springmvc/request-handler")
public class MyHttpRequestHandler implements HttpRequestHandler {
@Override
public void handleRequest(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
System.out.println("MyHttpRequestHandler.handleRequest");
}
}
- HandlerMapping ์ ์์๋๋ก ์คํํด์, ํธ๋ค๋ฌ๋ฅผ ์ฐพ๋๋ค.
- ์ด ๊ฒฝ์ฐ ๋น ์ด๋ฆ์ผ๋ก ํธ๋ค๋ฌ๋ฅผ ์ฐพ์์ผ ํ๊ธฐ ๋๋ฌธ์ ์ด๋ฆ ๊ทธ๋๋ก ๋น ์ด๋ฆ์ผ๋ก ํธ๋๋ฌ๋ฅผ ์ฐพ์์ฃผ๋
BeanNameUrlHandlerMapping๊ฐ ์คํ์ ์ฑ๊ณตํ๊ณ ํธ๋ค๋ฌ์ธMyHttpRequestHandler๋ฅผ ๋ฐํํ๋ค.
HandlerAdapter์supports()๋ฅผ ์์๋๋ก ํธ์ถํ๋ค.HttpRequestHandlerAdapter๊ฐHttpRequestHandler์ธํฐํ์ด์ค๋ฅผ ์ง์ํ๋๋ก ๋์์ด ๋๋ค.
- ๋์คํจ์ฒ ์๋ธ๋ฆฟ์ด ์กฐํํ
HttpRequestHandlerAdapter๋ฅผ ์คํํ๋ฉด์ ํธ๋ค๋ฌ ์ ๋ณด๋ ํจ๊ป ๋๊ฒจ์ค๋ค.HttpRequestHandlerAdapter๋ ํธ๋ค๋ฌ์ธMyHttpRequestHandler๋ฅผ ๋ด๋ถ์์ ์คํํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ค.
HttpRequestHandler ํธ๋ค๋ฌ๋งคํ, ์ด๋ํฐ
MyHttpRequestHandler๋ฅผ ์คํํ๋ฉด์ ์ฌ์ฉ๋ ๊ฐ์ฒด
HandlerMapping = BeanUrlHandlerMappingHandlerAdapter = HttpRequestHandlerAdapter
- ์คํ๋ง ๋ถํธ๋
InternalResourceViewResolver๋ผ๋ ๋ทฐ ๋ฆฌ์กธ๋ฒ๋ฅผ ์๋์ผ๋ก ๋ฑ๋กํ๋๋ฐ, ์ด๋application.properties์ ๋ฑ๋กํspring.mvc.view.prefix,spring.mvc.view.suffix์ค์ ์ ๋ณด๋ฅผ ์ฌ์ฉํด์ ๋ฑ๋กํ๋ค.- ์ฐธ๊ณ ๋ก ๊ถ์ฅํ์ง๋ ์์ง๋ง ์ ์ฒด๊ฒฝ๋ก๋ก ์ฃผ์ด๋ ๋์ํ๊ธฐ๋ ํ๋ค.
return new ModelAndView("/WEB-INF/views/new-form.jsp");

| 1 | BeanNameViewResolver : ๋น ์ด๋ฆ์ผ๋ก ๋ทฐ๋ฅผ ์ฐพ์์ ๋ฐํํ๋ค. (ex : excel ํ์ผ ์์ฑ ๊ธฐ๋ฅ์ ์ฌ์ฉ) |
|---|---|
| 2 | InternalResourceViewResolver : JSP๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ ๋ทฐ๋ฅผ ๋ฐํํ๋ค. |
new-form์ด๋ผ๋ ๋
ผ๋ฆฌ ๋ทฐ ์ด๋ฆ์ ํ๋new-form์ด๋ผ๋ ๋ทฐ ์ด๋ฆ์ผ๋ก viewResolver๋ฅผ ์์๋๋ก ํธ์ถ์ฐธ๊ณ
InternalResourceViewResolver๋ ๋ง์ฝ JSTL ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์ผ๋ฉดInternalResourceView๋ฅผ ์์๋ฐ์JstlView๋ฅผ ๋ฐํํ๋ค.JstlView๋ JSTL ํ๊ทธ ์ฌ์ฉ์ ์๊ฐ์ ๋ถ๊ฐ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋๋ค.
- ๋ค๋ฅธ ๋ทฐ๋ ์ค์ ๋ทฐ๋ฅผ ๋ ๋๋งํ์ง๋ง, JSP์ ๊ฒฝ์ฐ
forward()ํตํด์ ํด๋น JSP๋ก ์ด๋(์คํ)ํด์ผ ๋ ๋๋ง์ด ๋๋ค.- JSP๋ฅผ ์ ์ธํ ๋๋จธ์ง ๋ทฐ ํ ํ๋ฆฟ๋ค์
foward()๊ณผ์ ์์ด ๋ฐ๋ก ๋ ๋๋ง ๋๋ค.
Thymeleaf๋ทฐ ํ ํ๋ฆฟ์ ์ฌ์ฉํ๋ฉดThymeleafViewResolver๋ฅผ ๋ฑ๋กํด์ผ ํ๋ค.- ์ต๊ทผ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ง ์ถ๊ฐํ๋ฉด ์คํ๋ง ๋ถํธ๊ฐ ์ด๋ฐ ์์ ๋ค๋ ๋ชจ๋ ์๋ํํด์ค๋ค.