一、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-tw/n/289364.html
微信掃一掃
支付寶掃一掃