您好,登錄后才能下訂單哦!
這篇文章主要講解了“Spring MVC注解式開發案例分析”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Spring MVC注解式開發案例分析”吧!
用 RequestMapping 注解式開發開發設置一個項目,實現在瀏覽器中輸入 http://localhost:8080/springmvc02/first/show,輸出網頁內容 “我的第一個注解式 Spring MVC 開發程序!”。
在 IDea 中新建一個項目 springmvc02,創建如下圖所示的目錄結構:
項目創建好之后,打開 pom.xml 文件,添加依賴內容如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.kgc.springmvc02</groupId> <artifactId>springmvc02</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>springmvc02 Maven Webapp</name> <url>http://maven.apache.org</url> <!--第1步:添加需要的 JAR 包--> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.19</version> </dependency> </dependencies> <build> <finalName>springmvc02</finalName> </build> </project>
在 web.xml 文件里配置 DispatcherServlet 前端控制器,項目 webapp/WEB-INF 目錄里的 web.xml 文件配置如下:
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Archetype Created Web Application</display-name> <!--第2步:配置前端控制器--> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-config.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
客戶端發出的 URL 請求都會被 DispatcherServlet(前端控制器)攔截 ,DispatcherServlet 再交給 spring-config.xml 進行處理。
配置 handlerMapping 處理器映射器。
在 src/main/resources 目錄下新建一個 xml 文件,命名為 spring-config.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:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd"> <!--配置處理器映射器--> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"></bean> </beans>
上面代碼意思是創建一種類型為 RequestMappingHandlerMapping 的處理器映射器,即定義一種 “請求/響應” 映射規則,客戶端的 Url 請求如果跟某一個 bean 的 name 屬性匹配,則由該 bean 的 class 屬性指定的控制器 Controller 類進行響應處理。
配置 HandlerAdapter 處理器適配器。
配置完處理器映射器后,接著在 spring-config.xml 中插入如下內容(插入位置在處理器映射器下方,節點 </beans> 的上方):
<!--配置處理器適配器--> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"></bean>
該代碼的意思是創建一種處理器適配器,類型為 RequestMappingHandlerAdapter,用于對上述指定的控制器 Controller 類的 handleRequest() 方法的調用與執行。
配置 視圖解析器。
視圖解釋器 用來解釋控制器返回的邏輯視圖的真實路徑,這樣更方便,易于擴展。在 spring-config.xml 中輸入代碼:
<!--配置視圖解析器--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!--前綴配置--> <property name="prefix" value="/"></property> <!--后綴配置--> <property name="suffix" value=".jsp"></property> </bean>
上面代碼的意思是控制器 Controller 返回的邏輯視圖,需要加上 前綴 “/” 和 后綴 “.jsp”,最后拼接成完整的視圖路徑。比如本例中,Controller 返回的視圖為 “show”,視圖解釋器將為它加上前綴后綴,最終構成完整路徑為 “/ show.jsp”。視圖解釋器不是非要不可,如果沒有視圖解釋器,則 Controller 返回的視圖必須打上完整路徑的視圖名稱。
配置 組件掃描器
<!--開啟包掃描 base-package 設置需要掃描的包 --> <context:component-scan base-package="cn.kgc.springmvc02"></context:component-scan>
在 cn.kgc.springmvc02.controller 下新建一個類 TestController,代碼如下:
package cn.kgc.springmvc02.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller @RequestMapping("first") public class TestController { @RequestMapping("show") private String show(){ return "show"; } }
第一個注解 @Controller 表示將本類定義為一個控制器類,這個類無須再實現 Controller 接口。
第二個注解 @RequestMapping(“first”) 表示定義一種 “請求/響應” 的映射關系,即如果客戶端瀏覽器發出 “first” 的 url 請求則由該注解下面的 show() 方法來響應,即瀏覽器通過 url 路徑+“first/show” 就可訪問到本方法,url 請求能夠直接映射到控制器類的方法級別。這樣一個簡單的注解,就輕松的取代了之前的處理器映射器和 bean 的配置,大大減少了配置工作量。
在 webapp 目錄下創建文件 show.jsp 頁面,內容如下:
<%-- Created by IntelliJ IDEA. To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <h2>我的第一個注解式 Spring MVC 開發程序!</h2> </body> </html>
啟動運行 Tomcat,打開瀏覽器后,運行 “http://localhost:8080/springmvc02/first/show”,運行效果如下:
感謝各位的閱讀,以上就是“Spring MVC注解式開發案例分析”的內容了,經過本文的學習后,相信大家對Spring MVC注解式開發案例分析這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。