SpringMVC學習06:Controller配置總結
阿新 • • 發佈:2022-04-15
-
控制器:Controller:
-
控制器負責提供訪問應用程式的行為,通常通過介面定義或註解定義【推薦】2種方法實現;
-
控制器負責解析使用者的請求並將其轉換為一個模型(Model);
-
在SpringMVC中,一個控制器類可以包含多個方法;
-
在SpringMVC中,對於Controller的配置方式有很多種;
-
-
實現Controller介面:
-
Controller是一個介面,在org.springframework.web.servlet.mvc包下,介面中只有一個方法:
//實現該介面的類獲得控制器功能
public interface Controller {
//處理請求並且返回一個模型與檢視物件
ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception;
} -
測試:
-
1,新建一個Module:新增web支援,編寫web.xml中DispatcherServlet配置檔案;
-
2,新建springmvc-servlet.xml配置檔案:
-
配置檔案中添加註解:掃描包:<context:component-san />
-
添加註解:<mvc:annotation-driven/ >
-
新增過濾靜態資源註解:<mvc:default-servlet-handler/ >
-
-
3,新建JSP資料夾:新建test.jsp
-
4,新建ControllerTest類,實現Controller介面;
//只有實現了Controller的類,說明這就是一個控制器
public class ControllerTest1 implements Controller {
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
ModelAndView mv = new ModelAndView();
mv.addObject("msg","demo");
mv.setViewName("hello");
return mv;
}
} -
5,配置Tomcat,啟動測試;
-
-
註解方式實現Controller:
-
常見註解:
-
註解實現Controller:
//@Controller代表這個類會被Spring接管:這個註解的類中的所有方法:
// 如果返回值是String,並且有具體頁面可以跳轉,那麼就會被檢視解析器解析; -
可以發現,我們的2個請求都可以指向同一個檢視,但是頁面的結果是不一樣的,從這裡可以看出檢視是被複用的,而控制器與檢視直接是弱耦合關係;
-