SpringMVC學習(三)--handlerMapping和handlerAdapter

基本結構和 springMVC3學習(一)--框架搭建 差不多,這裏不再用Annotation註解的方式


以下只說明需要修改的部分:

1、在Spring配置文件中配置HandlerMapping、HandlerAdapter

[html] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. <!-- HandlerMapping -->  
  2. <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>  
  3. <!-- HandlerAdapter -->  
  4. <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>  
BeanNameUrlHandlerMapping:表示將請求的 URL和Bean名字映射如URL爲“上下文/hello” ,則Spring配置文件

必須有一個名字爲“/hello”的 Bean,上下文默認忽略。

SimpleControllerHandlerAdapter:表示所有實現了org.springframework.web.servlet.mvc.Controller接口的Bean可以作爲

Spring Web MVC中的處理器。如果需要其他類型的處理器可以通過實現HadlerAdapter來解決。


2、修改頁面控制器Login

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. package com.itmyhome;  
  2.   
  3. import javax.servlet.http.HttpServletRequest;  
  4. import javax.servlet.http.HttpServletResponse;  
  5. import org.springframework.web.servlet.ModelAndView;  
  6. import org.springframework.web.servlet.mvc.Controller;  
  7.   
  8. public class Login implements Controller {  
  9.   
  10.     public ModelAndView handleRequest(HttpServletRequest arg0,  
  11.             HttpServletResponse arg1) throws Exception {  
  12.           
  13.         return new ModelAndView("welcome"); //返回welcome.jsp頁面  
  14.     }  
  15. }  

org.springframework.web.servlet.mvc.Controller:頁面控制器/處理器必須實現Controller接口,注意別

選錯了;是servlet不是portlet

public  ModelAndView  handleRequest(HttpServletRequest req, HttpServletResponse resp):

功能處理方法,實現相應的功能處理,比如收集參數、驗證參數、綁定參數到命令對象、

將命令對象傳入業務對象進行業務處理、最後返回ModelAndView對象;

ModelAndView:包含了視圖要實現的模型數據和邏輯視圖名;“mv.addObject("message", "Hello World!");

” 表示添加模型數據, 此處可以是任意POJO對象;“mv.setViewName("hello");” 表示設置邏輯視圖名爲 “hello” ,

視圖解析器會將其解析爲具體的視圖。


3、我們還需要將其添加到Spring配置文件springMVC.xml,讓其接受SpringIoC容器管理

[html] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. <!-- 處理器 -->  
  2. <bean name="/login" class="com.itmyhome.Login"></bean>  
name="/login":前邊配置的BeanNameUrlHandlerMapping,表示如果請求的URL爲“上下文/login”,

則將會交給該Bean進行處理。

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