jeesite學習(二)----回顧SpringMVC

小林子飛飛飛發表於2019-01-03

一、其配置檔案

  1. web.xml
    <load-on-startup>1</load-on-startup>表示啟動容器時初始化該Servlet
    <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext-springmvc.xml</param-value> </init-param>在這裡可以指定SpringMVC配置檔案的位置。
    如果不想指定位置,就預設在/WEB-INF/'名字-servlet.xml’位置,'名字’和servlet-name一樣
    <url-pattern>/</url-pattern>表示哪些請求交給Spring Web MVC處理, “/” 是用來定義預設servlet對映的。也可以是“.html”、“.jsp”
	<!-- 2.配置SpringMvc的前端控制器 攔截所有請求 -->
	<servlet>
		<!-- <description>spring mvc servlet</description> -->
		<servlet-name>dispatcherServlet</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<!-- 指定SpringMvc配置檔案的位置 如果不指定,就在web.xml同級檔案下建一個'名字-servlet.xml','名字'和servlet-name一樣 -->
		<init-param>
			<!-- <description>spring mvc 配置檔案</description> -->
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:applicationContext-springmvc.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>dispatcherServlet</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>

2.dispatcherServlet-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:task="http://www.springframework.org/schema/task"
	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 
http://www.springframework.org/schema/mvc 
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task.xsd">

	<!-- SpringMvc的配置檔案 包含 網站跳轉邏輯的控制及配置 -->
	<!-- 1.自動掃描 use-default-filters-只掃描預設的 -->
	<context:component-scan base-package="com.smxy.ssm_crud"
		use-default-filters="false">
		<!-- 只掃描控制器 -->
		<context:include-filter type="annotation"
			expression="org.springframework.stereotype.Controller" />
		<context:include-filter type="annotation"
			expression="org.springframework.web.bind.annotation.ControllerAdvice" />
	</context:component-scan>

	<!-- 2.配置檢視解析器,方便頁面返回 -->
	<bean
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/views/"></property>
		<property name="suffix" value=".jsp"></property>
	</bean>

	<!-- 3.倆個標準配置 -->
	<!-- 將mvc不能處理的請求交給tomcat,實現靜態資源也可以訪問成功 -->
	<mvc:default-servlet-handler />
	<!-- 能支援SpringMvc更高階的一下功能  	,對映動態請求,JSP303校驗,快捷的ajax -->
	<mvc:annotation-driven />
</beans>

二、執行原理
1.下圖來自黑馬程式設計師。
在這裡插入圖片描述
2.結合程式碼理解
在這裡插入圖片描述三、MVC中的註解

名稱
@Controller 定義控制器類
@RequestMapping 用來處理請求地址對映的註解,可用於類或方法上
@Resource 為J2EE提供的註解,需要匯入包javax.annotation.Resource,預設按照ByName自動注入
@Autowired 為Spring提供的註解,需要匯入包org.springframework.beans.factory.annotation.Autowired;只按照byType注入。
@ModelAttribute 傳遞和儲存資料
@SessionAttribute(s) 將值放到session作用域中,寫在class上面。
@PathVariable 將請求URL中的模板變數對映到功能處理方法的引數上,即取出uri模板中的變數作為引數
@requestParam 用於在SpringMVC後臺控制層獲取引數
@ResponseBody 用於將Controller的方法返回的物件,例如返回json、xml等等
@Component 相當於通用的註解,當不知道一些類歸到哪個層時使用,但是不建議。
@Repository 用於註解dao層,在daoImpl類上面註解

點這裡,看更多註解https://blog.csdn.net/fzy198926/article/details/78358068

相關文章