【SpringMVC框架】註解的處理器對映器和介面卡配置
1.註解的處理器對映器和介面卡
在spring3.1之前使用org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping註解對映器。
在spring3.1之後使用org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping註解對映器。
在spring3.1之前使用org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter註解介面卡。
在spring3.1之後使用org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter註解介面卡。
2.配置註解對映器和介面卡。
在springmvc.xml中寫:
<!-- 註解對映器 --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/> <!-- 註解介面卡 --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/> <!-- 使用mvc:annotation-driven代替上邊註解對映器和註解介面卡配置 mvc:annotation-driven預設載入很多的引數繫結方法, 比如json轉換解析器就預設載入了,如果使用mvc:annotation-driven就不用配置上邊的 RequestMappingHandlerMapping和RequestMappingHandlerAdapter 實際開發時使用mvc:annotation-driven--> <!-- <mvc:annotation-driven></mvc:annotation-driven>-->
下面的開發可能就與非註解的產生了翻天覆地的變化了
3.開發註解Handler
使用註解的對映器和註解的介面卡。(註解的對映器和註解的介面卡必須配對使用)
ItemsController3:
package cn.edu.hpu.ssm.controller; import java.util.ArrayList; import java.util.List; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import cn.edu.hpu.ssn.po.Items; //註解的Handler類 //使用@Controller來標識它是一個控制器 @Controller public class ItemsController3 { //商品查詢列表 //@RequestMapping實現 對queryItems方法和url進行對映,一個方法對應一個url //一般建議將url和方法寫成一樣 @RequestMapping("/queryItems") public ModelAndView queryItems()throws Exception{ //呼叫Service查詢資料庫,查詢商品列表,這裡使用靜態資料模擬 List<Items> itemsList=new ArrayList<Items>(); //向List中填充靜態資料 Items items_1 = new Items(); items_1.setName("聯想筆記本22222222"); items_1.setPrice(6000f); items_1.setDetail("ThinkPad T430 聯想膝上型電腦!"); Items items_2 = new Items(); items_2.setName("蘋果手機22222222"); items_2.setPrice(5000f); items_2.setDetail("iphone6蘋果手機!"); itemsList.add(items_1); itemsList.add(items_2); //返回ModelAndView ModelAndView modelAndView=new ModelAndView(); //相當於request的setAttribut,在jsp頁面中通過這個來取資料 modelAndView.addObject("itemsList",itemsList); //指定檢視 modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp"); return modelAndView; } //定義其它方法 //商品新增 //商品刪除 }
這個註解的Handler的好處還有可以在類中在新增其他的方法,如商品新增、商品刪除等。
5.3在spring容器中載入Handler
<!-- 對於註解的Handler可以單個配置, 實際開發中建議使用掃描元件,因為一個一個配bean太麻煩 --> <!-- <bean class="cn.edu.hpu.ssm.controller.ItemsController3"></bean>--> <!-- 可以掃描controller、service、... 這裡讓掃描controller,指定controller的包--> <context:component-scan base-package="cn.edu.hpu.ssm.controller"></context:component-scan>
看一下最終的springmvc.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd ">
<!-- 對於註解的Handler可以單個配置,
實際開發中建議使用掃描元件,因為一個一個配bean太麻煩 -->
<!-- <bean class="cn.edu.hpu.ssm.controller.ItemsController3"></bean>-->
<!-- 可以掃描controller、service、...
這裡讓掃描controller,指定controller的包-->
<context:component-scan base-package="cn.edu.hpu.ssm.controller"></context:component-scan>
<!-- 註解對映器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
<!-- 註解介面卡 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
<!-- 使用mvc:annotation-driven代替上邊註解對映器和註解介面卡配置
mvc:annotation-driven預設載入很多的引數繫結方法,
比如json轉換解析器就預設載入了,如果使用mvc:annotation-driven就不用配置上邊的
RequestMappingHandlerMapping和RequestMappingHandlerAdapter
實際開發時使用mvc:annotation-driven-->
<!-- <mvc:annotation-driven></mvc:annotation-driven>-->
<!-- 檢視解析器
解析jsp解析,預設使用jstl標籤,classpath下的得有jstl的包
-->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
</bean>
</beans>
5.4部署除錯
訪問:http://localhost:8080/springmvcfirst1208/queryItems.action
訪問結果如圖
下一篇總結我們來分析一下springmvc中一些原始碼的分析
相關推薦
【SpringMVC框架】註解的處理器對映器和介面卡配置
下面我們來探討註解的處理器對映器和介面卡 1.註解的處理器對映器和介面卡 在spring3.1之前使用org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping註解對映器。 在
【SpringMVC框架】非註解的處理器對映器和介面卡
非註解的處理器對映器和介面卡 1.非註解的處理器對映器 之前的處理器對映器: org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping<!-- 配置Handler --> <bea
springmvc(4)--註解的處理器對映器和介面卡
1.我們在springmvc.xml中配置的介面卡和對映器,如果不配置,那麼將會載入預設的對映器和介面卡。 如圖 但是上面兩種註解方式的介面卡和對映器,是已經過時的,是spring2.5的。 ps: 在spring3.1之前使用的註解對映器是:org
springmvc(三)註解的處理器對映器和介面卡
在spring3.1之前使用org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping註解對映器。 在
JavaEE_Mybatis_SpringMVC_Spring_lesson3_註解處理器對映器與介面卡以及處理器(Controller)
註解的處理器對映器相比與非註解的處理器對映器的優勢 :可以在一個類中寫多個RequestMapping("url")的格式,不需要以實現介面的形式進行開發, 註解:可以在一個類中完成多個action, 非註解:實現介面,一個類中只能寫一個action 另外:註解的處理器
Spring MVC使用篇(三)—— 處理器對映器和介面卡
文章目錄 1、重溫請求流程 2、Spring MVC預設的註解配置 2.1 在Spring 3.1之前 2.2 在Spring 3.1之後 3、配置註解的處理器對映器和介面卡方式 3.1 第一種配置方式
第九章.處理器對映器和介面卡
本次課程在 第八章 基礎上進行的!!! 非註解的處理器對映器和介面卡 一.SimpleUrlHandlerMapping 找到springmvc.xml檔案 找到下面的程式碼進行註釋 <!-- <bean name="/que
【框架】Springmvc非註解對映器和介面卡
非註解的介面卡 1、簡單的url處理器對映器 <!-- 簡單的url處理器對映器 --> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
SpringMVC框架(1)之(1.2 入門程式—處理器對映器和處理器介面卡(註解方式))
1.DispatcherServlet載入時會預設載入 DispatcherServlet.properties 檔案,目的是為了載入裡面的處理器對映器、處理器介面卡、檢視解析器等各個元件;(所以 springmvc.xml 中 兩種處理器介面卡、兩種處理器介面卡、檢視解析器都可以省略;)
SpringMVC框架(1)之(1.2 入門程式—常用的處理器對映器和處理器介面卡)
1. 程式結構: 建立一個Web專案,匯入 Spring的 jar包: 使用 Spring3.2.0(帶SpringMVC模組) web.xml 檔案中配置 DispatcherServlet前端控制器 (DispatcherServlet作為 springmvc的中央排程
SpringMVC非註解的處理器的對映器和介面卡的配置
非註解的處理器的對映器和介面卡 對映器 1. 一個url的對映器:BeanNameUrlHandlerMapping org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping 要求編寫的H
【SpringMVC框架】前端控制器原始碼分析
前端控制器原始碼分析 雖然前面講了一些springmvc的入門程式和配置檔案中對映器和介面卡的配置,但是我們作為程式設計人員,瞭解框架的部分原始碼還是有必要的,比如前端控制器,它是如何通過Servlet的web.xml配置檔案實現攔截並跳轉至DispatcherServle
SpringMVC第四篇——處理器對映器,處理器介面卡,檢視解析器的配置
這兩個註解的作用和來源: <mvc:annotation-driven/> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"&
SpringMVC的對映器和介面卡
處理器對映器 BeanNameUrlHandlerMapping 功能:尋找Controller 根據url請求去匹配bean的name屬性url,從而獲取Controller
【重溫基礎】13.迭代器和生成器
本文是 重溫基礎 系列文章的第十三篇。 今日感受:每次自我年終總結,都會有各種情緒和收穫。 系列目錄: 【複習資料】ES6/ES7/ES8/ES9資料整理(個人整理) 【重溫基礎】1.語法和資料型別 【重溫基礎】2.流程控制和錯誤處理 【重溫基礎】3.迴圈和
【SSM-SpringMVC框架】非註解的處理器介面卡和對映器
1.非註解的處理器對映器: 1.處理器對映器:(HandlerMapping) 處理器對映器負責根據request請求找到對應Handler處理器及Intercepter攔截器,將他們封裝在
【springmvc 的請求流程二】:(springmvc 的三大元件之一)處理器對映器的配置和通過處理器對映器返回請求鏈的原始碼流程
總結 策略模式,每一種對映器方案都提供了對url 的解析的方案都是不同的 DispatcherServlet 拿著執行鏈去尋找對應的處理器介面卡(HandlerAdapter)為什麼要引入介面卡?因為處理器(Handler)有很多種,DispatcherServlet
【SpringMVC筆記】第三課 處理器映射器+處理器適配器
property lec www 映射 style user err utf 只需要 第二課的例子中,在springmvc.xml中配置使用了第一種處理器映射器和處理器適配器,如下所示。 <!-- 配置第一種處理器映射器 BeanNameUrlH
【web框架】【 Cloud-Admin學習筆記(三)】【ace-gate閘道器】
Cloud-Admin專案裡的api閘道器專案是ace-gate,採用的是Spring Cloud Gateway元件,對外提供一個統一的api入口,並實現了api鑑權的功能。 從前端專案的配置裡可以看到,所有的api請求首先都轉到localhost:8765閘道器伺服器
【持久化框架】SpringMVC+Spring4+Mybatis3整合,開發簡單Web專案+原始碼下載
上篇博文我們介紹了mybatis的基本概念與原理,這篇博文我們通過Spring與Mybatis整合,開發一個簡單使用者增刪改查的Web專案。 基本準備工作 1、安裝JDK1.6以上版本,安裝與配置 4、Spring-4.0.0的版本 5、tomacat6