Spring MVC筆記

一、Spring vs Spring MVC

Spring是一個輕量級的Java開源框架,使用它可以方便地處理各種應用程序的技術問題,同時該框架也被廣泛應用於企業級開發。

Spring MVC是Spring框架的一個擴展,用於更方便地開發Web應用程序。它提供了一個分離的MVC模型,豐富的數據驗證、處理和視圖渲染功能。

二、Spring MVC的工作流程圖

  -----------                                 --------------
 |           |        HTTP Request / Response   |            |
 | Dispatcher|-------------------------------->| Controllers|
 |  Servlet  |                                 |            |
  -----------                                 --------------
        |                                                   |
        |                                                   |
        |                                                   |
  -----------                                 --------------
 |           |        HTTP Request / Response   |    Views   |
 |   View    |<--------------------------------|  Resolver |
 |  Resolver |                                 |            |
  -----------                                 --------------

三、Spring MVC的三大特性

1. MVC架構:Spring MVC使用MVC(模型—視圖—控制器)設計模式,它使代碼更加模塊化,易於維護和測試。

2. 映射和註解:Spring MVC使用基於註解的請求處理器方法,從而更容易地將請求映射到處理器方法上,不需要使用XML文件進行配置。

3. 數據綁定和驗證:Spring MVC提供了強大的表單處理功能,可以將表單數據自動綁定到JavaBean中,同時還可以進行數據驗證和格式化。

四、簡述Spring MVC的工作流程

當用戶請求到達Dispatcher Servlet時,Dispatcher Servlet將請求分派給相應的控制器(Controller)進行處理。控制器根據業務邏輯調用服務層(Service)獲取數據,並把結果返回給視圖層(View)。視圖層使用模板引擎進行動態頁面的生成,並將結果返回給用戶。

五、Spring MVC框架搭建及詳解

1. 創建Maven項目

2. 添加Spring MVC相關的依賴

3. 編寫Spring MVC配置文件,如dispatcher-servlet.xml

4. 編寫Controller類,並添加@RequestMapping註解

5. 編寫視圖邏輯

配置文件示例:

<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"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">

<context:component-scan base-package="com.example.controller" />

<mvc:annotation-driven />

</beans>

Controller類示例:

package com.example.controller;

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

@Controller
public class HelloWorldController {

    @RequestMapping("/hello")
    public String hello() {
        return "hello";
    }
}

六、Spring MVC框架介紹

Spring MVC框架是一個MVC風格的Web應用程序框架,它使用Spring思想來開發Web應用。

Spring MVC框架具有以下優點:

1. 即插即用:Spring MVC框架提供了許多可重用的組件,可以方便地進行擴展。

2. 分離關注點:Spring MVC框架的MVC模型使應用程序各個部分之間的關注點分離得非常明顯。

3. 易於測試:Spring MVC框架的使用使得測試更加容易,因為它們是松耦合的,而且不依賴於環境或硬件限制。

七、Spring MVC筆試題

題目:Spring MVC框架中,@RequestMapping註解的作用是什麼?

答案:@RequestMapping註解用於將控制器方法映射到請求路徑或URL。

八、Spring MVC目錄

Spring MVC的目錄結構一般如下:

src/main/java/
    com.example.controller/
        HomeController.java
    com.example.model/
        UserModel.java
    com.example.service/
        UserService.java
src/main/webapp/
    WEB-INF/
        jsp/
            home.jsp
        dispatcher-servlet.xml

九、Spring MVC知識點

1. 配置Dispatcher Servlet:在web.xml文件中配置Dispatcher Servlet。

2. 使用@RequestMapping註解:使用@RequestMapping註解將控制器方法映射到請求路徑或URL。

3. 表單數據綁定:可以使用@ModelAttribute註解來綁定表單數據到JavaBean中。

4. 重定向和轉發:Spring MVC提供了重定向和轉發兩種方式,可以使用它們來導航到不同的頁面。

十、Spring MVC登錄案例

1. 配置文件:

<mvc:annotation-driven />

<context:component-scan base-package="com.example.controller" />

<bean id="viewResolver"
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/jsp/" />
    <property name="suffix" value=".jsp" />
</bean>

2. 登錄頁面:

<form:form method="post" action="login" modelAttribute="user">
    <form:input path="username" />
    <form:password path="password" />
    <input type="submit" value="Login" />
</form:form>

3. 控制器:

@RequestMapping(value = "/login", method = RequestMethod.POST)
public String login(@ModelAttribute("user") User user, Model model) {
    if (user.getUsername().equals("admin") && user.getPassword().equals("password")) {
        model.addAttribute("username", user.getUsername());
        return "success";
    } else {
        model.addAttribute("error", "Invalid login credentials");
        return "login";
    }
}

4. 成功頁面:

Welcome ${username}

Logout

以上便是關於Spring MVC的基本知識點和相關案例的介紹,希望對初學者有所幫助。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/289364.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-24 03:02
下一篇 2024-12-24 03:02

相關推薦

發表回復

登錄後才能評論