• <dd id="weawc"></dd>
  • 1. SpringMVC 簡介
    2022-05-31 17:23:41

    SpringMVC 是一種基于 Java 的實現 MVC 設計模型的請求驅動類型的輕量級 Web 框架,屬于 SpringFrameWork 的后續產品,已經融合在 Spring Web Flow 中。 SpringMVC 已經成為目前最主流的MVC框架之一,并且隨著Spring3.0 的發布,全面超越 Struts2,成為最優秀的 MVC 框架。它通過一套注解,讓一個簡單的 Java 類成為處理請求的控制器,而無須實現任何接口。同時 它還支持 RESTful 編程風格的請求。

    ?

    需求:客戶端發起請求,服務器端接收請求,執行邏輯并進行視圖跳轉。

    開發步驟:

    ① 導入SpringMVC相關坐標

    ② 配置SpringMVC核心控制器DispathcerServlet

    ③ 創建Controller類和視圖頁面

    ④ 使用注解配置Controller類中業務方法的映射地址

    ⑤ 配置SpringMVC核心文件 spring-mvc.xml

    ⑥ 客戶端發起請求測試

    ?

    我們開始實操一下:

    ① 導入Spring和SpringMVC的坐標

    <!--Spring坐標-->
    ????????<dependency>
    ????????????????<groupId>org.springframework</groupId>
    ????????????????<artifactId>spring-context</artifactId>
    ????????????????<version>5.0.5.RELEASE</version>
    ????????</dependency>
    ????????<!--SpringMVC坐標-->
    ????????<dependency>
    ????????????????<groupId>org.springframework</groupId>
    ????????????????<artifactId>spring-webmvc</artifactId>
    ????????????????<version>5.0.5.RELEASE</version>
    ????????</dependency>

    ?

    別忘記導入Servlet和Jsp的坐標

    <!--Servlet坐標-->
    <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.3</version>
    </dependency>
    <!--Jsp坐標-->
    <dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>jsp-api</artifactId>
    <version>2.1</version>
    </dependency>

    ?

    ② 在web.xml配置SpringMVC的核心控制器

    我們要用SpringMVC的前端控制器 那么我們是不是需要設置它Servlet 所以現在設置一下 前端控制器【分發器】的Servlet:

    注意了 下面代碼寫死的東西就是寫死的 說什么都沒用

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

    <!--?這里配置一個Servlet?-->
    ??<servlet>
    <!--??名字你隨便?就是和以前配置的一樣即可??-->
    ????<servlet-name>DispatcherServlet</servlet-name>
    <!--??這個寫死的?是SpringMVC的前端控制器(分發器)??-->
    ????<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!--??配置初始化參數??-->
    ????<init-param>
    <!--???初始化參數名?【寫死的】???-->
    ??????<param-name>contextConfigLocation</param-name>
    <!--??初始化參數值??SpringMvc的配置文件(容器)?-->
    ??????<param-value>classpath:spring-mvc.xml</param-value>
    ????</init-param>

    <!--?優先級?、?這個隨便加不加?一般都是加上?1?最先.?-->
    ????<load-on-startup>1</load-on-startup>
    ??</servlet>

    <!--?就是說?全部網址請求過來?都要經過這個前端控制器(分發器)?-->
    ??<servlet-mapping>
    ????<servlet-name>DispatcherServlet</servlet-name>
    ????<url-pattern>/</url-pattern>
    ??</servlet-mapping>
    </web-app>

    ?

    ③ 創建Controller和業務方法?

    創建個 控制器包 包下隨便寫個控制器類,其實這個控制器 就相當于是一個 Servlet ,但是這個控制器(分發器) 要一些注解:

    TestController?.java:
    package?com.bihu.Controller;

    import?org.springframework.stereotype.Controller;
    import?org.springframework.web.bind.annotation.RequestMapping;

    @Controller
    public?class?TestController?{

    ????@RequestMapping("/go")
    ????public?String?GoUrl(){
    ????????System.out.println("執行了Controller的GoUrl方法?證明你訪問了?xxx/go");
    ????????//返回字符串?會自動跳轉到?s1.jsp?頁面!
    ????????return?"s1.jsp";
    ????}

    }

    ?

    然后你得寫個s1.jsp 可以給他跳轉:

    s1.jsp:

    ??

    <%@?page?contentType="text/html;charset=UTF-8"?language="java"?%>
    <html>
    <head>
    ????<title>ok!</title>
    </head>
    <body>
    ????<h2>恭喜你!?體驗了SpringMVC?最基本簡單的?一個?流程!?</h2>
    </body>
    </html>

    ?

    然后你得配置一下SpringMVC容器,設置一下他掃描注解的范圍:【記得配置Context頭部哪里】

    <?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?http://www.springframework.org/schema/context/spring-context.xsd">
    ????<!--??配置注解掃描器?注意這個是SpringMVC的配置文件??配置文件要分開?規范點!??-->
    ????<context:component-scan?base-package="com.bihu"/>
    </beans>

    ?

    所以呢 重點還是 SpringMVC 容器的配置 和 web.xml 的配置,該寫死的就得寫死哦?

    ?

    因為報錯過幾次 所以知道了 他的原理就是 一個 監聽器 然后 默認的方式是Get請求

    ?

    1. SpringMVC 簡介_mvc

    ?


    作者:??咸瑜??


    本文摘自 :https://blog.51cto.com/u


    更多科技新聞 ......

    日本成人三级A片
  • <dd id="weawc"></dd>