欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring MVC注解式開發(fā)示例完整過(guò)程

 更新時(shí)間:2023年02月27日 09:36:23   作者:Java Fans  
這篇文章主要介紹了Spring MVC注解式開發(fā)示例完整過(guò)程,MVC注解式開發(fā)即處理器基于注解的類開發(fā),對(duì)于每一個(gè)定義的處理器,無(wú)需在xml中注冊(cè),只需在代碼中通過(guò)對(duì)類與方法的注解,即可完成注冊(cè)

項(xiàng)目案例

  用 RequestMapping 注解式開發(fā)開發(fā)設(shè)置一個(gè)項(xiàng)目,實(shí)現(xiàn)在瀏覽器中輸入 http://localhost:8080/springmvc02/first/show,輸出網(wǎng)頁(yè)內(nèi)容 “我的第一個(gè)注解式 Spring MVC 開發(fā)程序!”。

實(shí)現(xiàn)步驟

項(xiàng)目創(chuàng)建添加依賴

  在 IDea 中新建一個(gè)項(xiàng)目 springmvc02,創(chuàng)建如下圖所示的目錄結(jié)構(gòu):

  項(xiàng)目創(chuàng)建好之后,打開 pom.xml 文件,添加依賴內(nèi)容如下:

<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文件

  在 web.xml 文件里配置 DispatcherServlet 前端控制器,項(xiàng)目 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>

  客戶端發(fā)出的 URL 請(qǐng)求都會(huì)被 DispatcherServlet(前端控制器)攔截 ,DispatcherServlet 再交給 spring-config.xml 進(jìn)行處理。

配置spring-config.xml文件

配置 handlerMapping 處理器映射器。

  在 src/main/resources 目錄下新建一個(gè) xml 文件,命名為 spring-config.xml,輸入如下關(guān)鍵內(nèi)容:

<?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>

  上面代碼意思是創(chuàng)建一種類型為 RequestMappingHandlerMapping 的處理器映射器,即定義一種 “請(qǐng)求/響應(yīng)” 映射規(guī)則,客戶端的 Url 請(qǐng)求如果跟某一個(gè) bean 的 name 屬性匹配,則由該 bean 的 class 屬性指定的控制器 Controller 類進(jìn)行響應(yīng)處理。

配置 HandlerAdapter 處理器適配器。

  配置完處理器映射器后,接著在 spring-config.xml 中插入如下內(nèi)容(插入位置在處理器映射器下方,節(jié)點(diǎn) </beans> 的上方):

 <!--配置處理器適配器-->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"></bean>

  該代碼的意思是創(chuàng)建一種處理器適配器,類型為 RequestMappingHandlerAdapter,用于對(duì)上述指定的控制器 Controller 類的 handleRequest() 方法的調(diào)用與執(zhí)行。

配置 視圖解析器。

  視圖解釋器 用來(lái)解釋控制器返回的邏輯視圖的真實(shí)路徑,這樣更方便,易于擴(kuò)展。在 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”,視圖解釋器將為它加上前綴后綴,最終構(gòu)成完整路徑為 “/ show.jsp”。視圖解釋器不是非要不可,如果沒(méi)有視圖解釋器,則 Controller 返回的視圖必須打上完整路徑的視圖名稱。

配置 組件掃描器

	<!--開啟包掃描  base-package  設(shè)置需要掃描的包 -->
    <context:component-scan base-package="cn.kgc.springmvc02"></context:component-scan>

編寫一個(gè)Controller類

  在 cn.kgc.springmvc02.controller 下新建一個(gè)類 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";
    }
}

  第一個(gè)注解 @Controller 表示將本類定義為一個(gè)控制器類,這個(gè)類無(wú)須再實(shí)現(xiàn) Controller 接口。

  第二個(gè)注解 @RequestMapping(“first”) 表示定義一種 “請(qǐng)求/響應(yīng)” 的映射關(guān)系,即如果客戶端瀏覽器發(fā)出 “first” 的 url 請(qǐng)求則由該注解下面的 show() 方法來(lái)響應(yīng),即瀏覽器通過(guò) url 路徑+“first/show” 就可訪問(wèn)到本方法,url 請(qǐng)求能夠直接映射到控制器類的方法級(jí)別。這樣一個(gè)簡(jiǎn)單的注解,就輕松的取代了之前的處理器映射器和 bean 的配置,大大減少了配置工作量。

創(chuàng)建響應(yīng)頁(yè)面

  在 webapp 目錄下創(chuàng)建文件 show.jsp 頁(yè)面,內(nèi)容如下:

<%--
  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>
    <h1>我的第一個(gè)注解式 Spring MVC 開發(fā)程序!</h1>
</body>
</html>

運(yùn)行并測(cè)試程序

  啟動(dòng)運(yùn)行 Tomcat,打開瀏覽器后,運(yùn)行 “http://localhost:8080/springmvc02/first/show”,運(yùn)行效果如下:

到此這篇關(guān)于Spring MVC注解式開發(fā)示例完整過(guò)程的文章就介紹到這了,更多相關(guān)Spring MVC注解式開發(fā)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JAVA中的字段校驗(yàn)(validation)

    JAVA中的字段校驗(yàn)(validation)

    這篇文章主要介紹了JAVA中的字段校驗(yàn)(validation)用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Java8中Stream的一些神操作

    Java8中Stream的一些神操作

    Stream是Java8中處理集合的關(guān)鍵抽象概念,它可以指定你希望對(duì)集合進(jìn)行的操作,可以執(zhí)行非常復(fù)雜的查找、過(guò)濾和映射數(shù)據(jù)等操作,這篇文章主要給大家介紹了Java8中Stream的一些神操作,需要的朋友可以參考下
    2021-11-11
  • 基于Java和GeoTools的Shapefile矢量數(shù)據(jù)縮略圖生成實(shí)踐

    基于Java和GeoTools的Shapefile矢量數(shù)據(jù)縮略圖生成實(shí)踐

    這篇文章主要介紹了基于Java和GeoTools的Shapefile矢量數(shù)據(jù)縮略圖生成實(shí)踐,需要的朋友可以參考下
    2024-08-08
  • Java方法遞歸調(diào)用實(shí)例解析

    Java方法遞歸調(diào)用實(shí)例解析

    這篇文章主要介紹了Java方法遞歸調(diào)用實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 解決分頁(yè)插件pagehelper在SpringBoot不起作用的問(wèn)題

    解決分頁(yè)插件pagehelper在SpringBoot不起作用的問(wèn)題

    這篇文章主要介紹了解決分頁(yè)插件pagehelper在SpringBoot不起作用的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 淺談java如何生成分享海報(bào)工具類

    淺談java如何生成分享海報(bào)工具類

    這篇文章主要介紹了淺談java如何生成分享海報(bào)工具類,想了解分享海報(bào)知識(shí)的同學(xué)不要錯(cuò)過(guò)哦
    2021-04-04
  • 解決springboot項(xiàng)目打成jar包后運(yùn)行時(shí)碰到的小坑

    解決springboot項(xiàng)目打成jar包后運(yùn)行時(shí)碰到的小坑

    這篇文章主要介紹了解決springboot項(xiàng)目打成jar包后運(yùn)行時(shí)碰到的小坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Mybatis查詢條件包含List的情況說(shuō)明

    Mybatis查詢條件包含List的情況說(shuō)明

    這篇文章主要介紹了Mybatis 查詢條件包含List的情況,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java JVM運(yùn)行時(shí)數(shù)據(jù)區(qū)(Run-Time Data Areas)

    Java JVM運(yùn)行時(shí)數(shù)據(jù)區(qū)(Run-Time Data Areas)

    運(yùn)行時(shí)數(shù)據(jù)區(qū),是java虛擬機(jī)定義的在程序執(zhí)行期間使用的各種運(yùn)行時(shí)的數(shù)據(jù)區(qū),通過(guò)JVM運(yùn)行時(shí)數(shù)據(jù)區(qū)圖例給大家展示的很詳細(xì),對(duì)JVM 運(yùn)行時(shí)數(shù)據(jù)區(qū)相關(guān)知識(shí)感興趣的朋友跟隨小編一起看看吧
    2021-06-06
  • HttpClient的DnsResolver自定義DNS解析另一種選擇深入研究

    HttpClient的DnsResolver自定義DNS解析另一種選擇深入研究

    這篇文章主要為大家介紹了HttpClient的DnsResolver自定義DNS解析另一種選擇深入研究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10

最新評(píng)論