springMVC源碼分析--HttpRequestHandlerAdapter(四)

轉載 https://blog.csdn.net/qq924862077/article/details/53843251

上一篇博客springMVC源碼分析--HandlerAdapter(一)中我們主要介紹了一下HandlerAdapter接口相關的內容,實現類及其在DispatcherServlet中執行的順序,接下來我們詳細介紹一下其實現類HttpRequestHandlerAdapter,同前幾篇博客一樣HttpRequestHandlerAdapter的本質還是調用HttpRequestHandler的HttpRequestHandler方法。


supports方法就是判斷handler是否是Servlet

getLastModified直接值

handle方法本質是執行HttpRequestHandler.handleRequest方法。

 

public class SimpleServletHandlerAdapter implements HandlerAdapter {
 
	@Override
	public boolean supports(Object handler) {
		return (handler instanceof Servlet);
	}
	
	//執行Servlet的service方法
	@Override
	public ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object handler)
			throws Exception {
		//本質還是執行Servlet的service方法
		((Servlet) handler).service(request, response);
		return null;
	}
 
	@Override
	public long getLastModified(HttpServletRequest request, Object handler) {
		return -1;
	}
 
}

這樣springMVC中就提供了執行Servlet的適配器,如果可以的話我們是否也可以自己寫一個適配器類然後注入到springMVC 的容器中。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章