SpringMVC系列知識:(二)什麼是springMVC,為什麼要使用springMVC
為什麼學springMVC?
之前的程式碼存在一個問題
① 每個功能都要宣告對應的Servlet,麻煩。
② 在Servlet中獲取請求資料比較麻煩。
③ 響應的方式的程式碼其實只想宣告對應的響應資料。
現在使用springMVC,就是一個框架,就是將Servlet進行了封裝,提供一個公共的Servlet。該Servlet可以根據請求動態的呼叫對應的邏輯方法完成請求處理。
既然要在web.xml裡面寫很多的路徑,那麼現在就加一層,沒有什麼是加一層解決不了的,這個新加 的一層就是中心控制器,有了這個控制器,以後就不需要我們在web.xml裡面加那麼多的路徑轉發了,這個中心控制器就給我們解決了。
快速搭建一個springMVC的專案,我們和servlet專案做一個對比
1 先建立一個maven專案
2 新增web的支援
之前我們在web.xml裡面要配置很多的路徑才可以轉發到servlet的java程式碼裡面。現在因為加了一層,也就是使用了springMVC 就給我們加了一層,我們只需要匯入springMVC 的依賴,就可以使用這一層,將這一層配置到web.xml裡面就代替了之前web.xml裡面寫的那麼多的程式碼了,那麼現在我們需要在web.xml裡面寫什麼呢?
3 匯入springmvc的依賴
匯入這個,springmvc的依賴就匯入了
4 註冊DispatcherServlet 也就是在這個專案裡面加了一層,在web.xml裡面寫
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<!--1.註冊DispatcherServlet-->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--關聯一個springmvc的配置檔案:【servlet-name】-servlet.xml-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-servlet.xml</param-value>
</init-param>
<!--啟動級別-1--> 伺服器一啟動,這個springMVC就啟動
<load-on-startup>1</load-on-startup>
</servlet>
<!--/ 匹配所有的請求;(不包括.jsp)-->
<!--/* 匹配所有的請求;(包括.jsp)-->
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
之後還要寫一個springmvc-servlet.xml 配置檔案,這個裡面的就是springMVC的配置檔案。和springMVC的配置相關的就在這個配置檔案裡面寫就可以了。
裡面具體寫什麼呢?
<?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:mvc="http://www.springframework.org/schema/mvc"
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/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
">
<!-- 新增 處理對映器 這個是springMVC依賴裡面的,我們拿過來就可以-->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<!-- 新增 處理器介面卡 這個是springMVC依賴裡面的,我們拿過來就可以-->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
<!--檢視解析器:DispatcherServlet給他的ModelAndView-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver">
<!--字首-->
<property name="prefix" value="/WEB-INF/jsp/"/>
<!--字尾-->
<property name="suffix" value=".jsp"/>
</bean>
</beans>
也就是前端控制器之後要走處理對映器,處理器介面卡,檢視解析器 。我們在web.xml裡面配置了前端控制器.DispatcherServlet,在springmvc-servlet.xml裡面就要配置處理對映器,處理器介面卡,檢視解析器。
以上的配置就寫完了,之後寫java程式碼的controller層
相關文章
- SpringMVC-01 什麼是SpringMVCSpringMVC
- SpringMVC系列之SpringMVC快速入門 MVC設計模式介紹+什麼是SpringMVC+ SpringMVC的作用及其基本使用+元件解析+註解解析SpringMVC設計模式元件
- SpringMVC的View模組用什麼實現?SpringMVCView
- 什麼是知識
- 初識 SpringMVCSpringMVC
- 【SpringMVC】SpringMVC搭建框架SpringMVC框架
- 【知識分享】伺服器為什麼要測壓需要注意什麼伺服器
- 為什麼要虛擬化,為什麼要容器,為什麼要Docker,為什麼要K8S?DockerK8S
- SpringMVC 解析(二)DispatcherServletSpringMVCServlet
- SpringMVC 乾貨系列:從零搭建 SpringMVC+mybatis(二):springMVC 原理解析及常用註解 | 掘金技術徵文SpringMVCMyBatis
- springMVC基本使用SpringMVC
- Python是什麼?為什麼要掌握python?Python
- 什麼是Docker?為什麼使用docker?Docker
- SpringMVC系列原始碼:DispatcherServletSpringMVC原始碼Servlet
- 【知識分享】香港伺服器的IPMI是什麼?為什麼需要它?伺服器
- SpringMvc - SpringMvc的執行流程SpringMVC
- Python優勢是什麼?為什麼要學習?Python
- SpringBoot,Springmvc Spring 知識總結Spring BootSpringMVC
- [SpringMVC]SpringMVC
- SpringMVCSpringMVC
- SpringMVC 框架系列之初識與入門例項SpringMVC框架
- TypeScript是什麼,為什麼要使用它?TypeScript
- springMVC使用freemarkerSpringMVC
- SpringMVC原始碼分析1:SpringMVC概述SpringMVC原始碼
- SpringMVC---IDEA 搭建SpringMVC工程SpringMVCIdea
- SpringMVC-08-SpringMVC層編寫SpringMVC
- 面試問到springmvc不會怎麼辦?看這篇就夠了,springmvc面試SpringMVC
- 學習SpringMVC必知必會(3)~springmvc的請求和響應SpringMVC
- 什麼是技術債,為什麼要還技術債?
- 什麼是前端開發?為什麼要學前端開發?前端
- Python到底是什麼?為什麼要學Python?Python
- Koala Framework是什麼?我為什麼要寫這個框架?Framework框架
- 什麼是介面?為什麼使用介面? 什麼時候使用介面?(轉)
- 【知識分享】伺服器cdn是什麼有什麼功能伺服器
- 【知識分享】代理伺服器是什麼有什麼用伺服器
- 【知識分享】asp伺服器是什麼有什麼用途伺服器
- 為什麼要學習python中的高階知識Python
- SpringMVC入門就這麼簡單SpringMVC