1.Spring mvc概述
spring mvc是spring提供給web應用框架設計,實際上MVC框架是一個設計理念。它不僅存在java世界中而且廣泛在於各類語言和開發中,包括web的前端應用。對於spring mvc而言,他的流程和各個組件的應用和改造是springmvc的根本。
1.2 springmvc都做了什麼
- Controller爲中心完成對系統流程的控制管理
- 從請求中搜集數據
- 對傳入的參數進行驗證
- 將結果返回給視圖
- 針對不同的視圖提供不同的解決方案
- 針對jsp視圖技術提供標籤庫
- 攔截器
- 上傳文件
1.3 spring-mvc結構
1 DispatcherServlet:中央控制器,把請求給轉發到具體的控制類
2 Controller:具體處理請求的控制器(配置文件方式需要配置,註解方式不用配置)
3 handlerMapping:映射處理器,負責映射中央處理器轉發給controller時的映射策略
4 ModelAndView:服務層返回的數據和視圖層的封裝類(無論是配置文件還是註解都不需要配置)
5 ViewResolver & View:視圖解析器,解析具體的視圖
6 Interceptors :攔截器,負責攔截我們定義的請求然後做處理工作(無論是配置文件方式還是註解都需要先創建再配置)
紅色的是需要自己創建,黑色的需要配置。
1.4 mvc模式
1.5spring-mvc流程
2.spring-mvc的第一個例子
1. 創建一個web工程
2. 導入依賴包
3.創建springmvc的配置文件 (web.xml)
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>springMvcDome</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<!-- 配置springmvc中央控制器 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
4.配置spring mvc核心配置文件
文件的命名規則:中央控制器(servlet的名稱)的名稱+“-servlet.xml”
默認位置:WEB-INF下
配置:controller和視圖解析器
1 <?xml version="1.0" encoding="UTF-8"?>
2 <beans xmlns="http://www.springframework.org/schema/beans"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
4 xmlns:context="http://www.springframework.org/schema/context"
5 xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
6 xsi:schemaLocation="http://www.springframework.org/schema/beans
7 http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
8 http://www.springframework.org/schema/mvc
9 http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
10 http://www.springframework.org/schema/context
11 http://www.springframework.org/schema/context/spring-context-4.3.xsd
12 http://www.springframework.org/schema/aop
13 http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
14 http://www.springframework.org/schema/tx
15 http://www.springframework.org/schema/tx/spring-tx-4.3.xsd ">
16
17 <!-- 配置controller 默認使用BeanNameurlHandelMapping 根據hello.do來找到controller-->
18 <bean id="myController" name="/hello.do" class="com.springmvc.mycontroller.MyController"></bean>
19 <!-- 配置視圖解析器 -->
20 <bean
21 class="org.springframework.web.servlet.view.InternalResourceViewResolver">
22 <!-- 配置前綴 -->
23 <property name="prefix" value="/WEB-INF/jsp/"></property>
24 <!-- 配置後綴 -->
25 <property name="suffix" value=".jsp"></property>
26 </bean>
27 </beans>
5.創建controller
package com.springmvc.mycontroller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
/**
* spring mvc第一個例子
* @author Administrator
*
*/
public class MyController extends AbstractController{
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {
System.out.println("hello springmvc");
return new ModelAndView("index");
}
}
6.測試成功