摘要:構建應用程序映射請求到控制器透明地綁定表單參數校驗表單提交跟蹤的請求發起請求攜帶請求和表單信息到前端控制器查詢處理器映射發送給選中的控制器將請求連同模型和視圖名發送回使用視圖解析器來將邏輯視圖名匹配為一個特定的視圖實現視圖的實現
構建Spring Web應用程序
映射請求到Spring控制器
透明地綁定表單參數
校驗表單提交
跟蹤Spring MVC的請求發起請求->攜帶請求URL和表單信息到前端控制器(DispatcherServlet)->查詢處理器映射(handler mapping)->
發送給選中的控制器->將請求連同模型和視圖名發送回DispatcherServlet ->使用視圖解析器(view resolver)來將邏輯視圖名
匹配為一個特定的視圖實現->視圖的實現(可能是JSP),使用模型數據渲染輸出返回客戶端
DispatcherServlet的任務是將請求發送給Spring MVC控制器(controller),是Spring MVC的核心
處理器映射會根據請求所攜帶的URL信息來進行決策
控制器處理用戶提交的信息,并打包模型數據輸出到視圖
http://sishuok.com/forum/uplo...
http://sishuok.com/forum/uplo...
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; /** * 配置DispatcherServlet */ public class SpittrWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { /** * 根配置定義 */ @Override protected Class>[] getRootConfigClasses() { return new Class>[]{RootConfig.class }; } /** * 指定配置類 */ @Override protected Class>[] getServletConfigClasses() { return new Class>[]{WebConfig.class}; } /** * 將DispatcherServlet映射到 "/" */ @Override protected String[] getServletMappings() { return new String[]{ "/" }; } } import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.ViewResolver; import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import org.springframework.web.servlet.view.InternalResourceViewResolver; @Configuration //開啟配置 @EnableWebMvc //啟用Spring MVC @ComponentScan("com.leaf.u_spring.chapter05") //掃描的包 public class WebConfig extends WebMvcConfigurerAdapter { /** * 配置JSP視圖解析器 * @return */ @Bean public ViewResolver viewResolver(){ InternalResourceViewResolver resolver = new InternalResourceViewResolver(); resolver.setPrefix("/WEB-INF/views/"); resolver.setSuffix(".jsp"); resolver.setExposeContextBeansAsAttributes(true); return resolver; } /** * 配置靜態資源的處理,DispatcherServlet將對靜態資源的請求轉發到Servlet容器中默認的Servlet上 */ @Override public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { configurer.enable(); } } import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.ComponentScan.Filter; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.FilterType; import org.springframework.web.servlet.config.annotation.EnableWebMvc; @Configuration @ComponentScan(basePackages={"com.leaf.u_spring"}, excludeFilters={@Filter(type=FilterType.ANNOTATION, value=EnableWebMvc.class)}) public class RootConfig { }搭建Spring MVC
配置DispatcherServlet:在web.xml中配置或Java代碼配置(SpittrWebAppInitializer)
Spring MVC允許多種方式將客戶端中的數據傳送到控制器的處理器方法中:
查詢參數(Query Parameter)
表單參數(Form Parameter)
路徑參數(Path Parameter)
Java校驗API所提供的校驗注解
@AssertFalse 所注解的元素必須是Boolean類型,并且值為false
@AssertTrue 所注解的元素必須是Boolean類型,并且值為true
@DecimalMax 所注解的元素必須是數字,并且它的值要小于或等于給定的BigDecimalString值
@DecimalMin 所注解的元素比誰數字,并且它的值要大于或等于給定BigDecimalString值
@Digits 所注解的元素必須是數字,并且它的值必須有指定的位數
@Future 所注解的元素的值必須是一個將來的日期
@Max 所注解的元素必須是數字,并且它的值要小于或等于給定的值
@Min 所注解的元素必須數數字,并且它的值要大于或等于給定的值
@NotNull 所注解的元素的值不能為null
@Null 所注解的元素的值必須為null
@Past 所注解的元素的值必須是一個已經過去的日期
@Pattern 所注解的元素的值必須匹配給定的正則表達式
@Size 所注解的元素的值必須是String、集合或數組,并且它的長度要符合給定的范圍
引用:《Spring In Action 4》第5章
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/71164.html
摘要:指南無論你正在構建什么,這些指南都旨在讓你盡快提高工作效率使用團隊推薦的最新項目版本和技術。使用進行消息傳遞了解如何將用作消息代理。安全架構的主題指南,這些位如何組合以及它們如何與交互。使用的主題指南以及如何為應用程序創建容器鏡像。 Spring 指南 無論你正在構建什么,這些指南都旨在讓你盡快提高工作效率 — 使用Spring團隊推薦的最新Spring項目版本和技術。 入門指南 這些...
摘要:要使用容器上傳文件,您需要注冊一個類在中。最好不要使用內容加載應用程序的文件系統。允許用戶上傳文件的表單從后端提供的文件列表調整文件上傳限制配置文件上傳時,設置文件大小限制通常很有用。 本指南將指導您完成創建可以接收HTTP多文件上傳服務器應用程序的過程。 你要構建什么 您將創建一個接受文件上傳的Spring Boot Web應用程序。您還將構建一個簡單的HTML界面來上傳測試文件。 ...
摘要:一旦最基本的應用創建好了,你可以給他加上安全防護。一旦成功登出了,我們的應用程序重定向到到并顯示相應的登陸成功的消息。這標記該應用程序是一個應用程序,并激活一些關鍵行為,比如創建一個。一旦應用程序啟動,用瀏覽器訪問。 原網頁 https://spring.io/guides/gs/securing-web/ 本指南將引導您完成創建一個資源由Spring Security的保護的一個簡單...
摘要:構建系統強烈建議你選擇一個支持依賴管理的構建系統,并且可以使用發布到中心存儲庫的工件。例如,要升級到另一個,你可以將以下元素添加到你的在前面的示例中,我們指定了一個,但是任何依賴類型都可以以相同的方式被覆蓋。 13. 構建系統 強烈建議你選擇一個支持依賴管理的構建系統,并且可以使用發布到Maven中心存儲庫的工件。我們建議你選擇Maven或Gradle,可以讓Spring Boot與其...
摘要:構建服務本指南將引導你完成使用創建服務的過程。接下來,你將創建將為這些問候語提供服務的資源控制器。告訴在包中查找其他組件配置和服務,允許它找到控制器。顯示日志輸出,該服務應在幾秒內啟動并運行。 構建RESTful Web服務 本指南將引導你完成使用Spring創建hello world RESTful Web服務的過程。 將要構建什么 你將構建一個接受HTTP GET請求的服務: ht...
摘要:編寫一個接口創建命名為根據實際情況修改創建類,內容如下啟動主程序,使用等工具發起請求,可以看到頁面返回編寫單元測試用例打開的下的測試入口類。 簡介 在您第1次接觸和學習Spring框架的時候,是否因為其繁雜的配置而退卻了?在你第n次使用Spring框架的時候,是否覺得一堆反復黏貼的配置有一些厭煩?那么您就不妨來試試使用Spring Boot來讓你更易上手,更簡單快捷地構建Spring應...
閱讀 1303·2021-11-11 10:57
閱讀 3718·2021-09-07 10:10
閱讀 3442·2021-08-03 14:03
閱讀 3067·2019-08-30 13:45
閱讀 681·2019-08-29 11:19
閱讀 1040·2019-08-28 18:07
閱讀 3100·2019-08-26 13:55
閱讀 809·2019-08-26 12:17