- N +

spring mvc啟動(dòng)流程(object類的常用6個(gè)方法)

大家好,今天小編來為大家解答spring mvc啟動(dòng)流程這個(gè)問題,object類的常用6個(gè)方法很多人還不知道,現(xiàn)在讓我們一起來看看吧!

mvc為什么先進(jìn)入

設(shè)置在web-inf里面就是為了防止用戶惡意訪問,比如跳過登錄界面直接進(jìn)入。SpringMVC的運(yùn)行流程是:通過dispatcherservlet(總控制器),根據(jù)用戶訪問地址分別映射到對(duì)應(yīng)的contorller(控制器),然后進(jìn)行與數(shù)據(jù)庫的交互,最后將數(shù)據(jù)展示在jsp又瀏覽器解析為html返回給用戶。

springmvc是什么

spring是框架,mvc是一種設(shè)計(jì)模式。,M代表model;V代表View;C代表controller從字面意思你也可以看出來M是指模型一般指DAO和service;view代表顯示一般指頁面eg:jsp,htmlftl等c值得是控制器,比如struts和springMVC中的action與controller而springMVC嚴(yán)格意義上指的是前端控制器,就是每次客戶端與服務(wù)器交互都要經(jīng)過springMVC的controller。

如何快速上手Spring boot

推薦以SpringBoot教程與SpringCloud教程的詳細(xì)開源項(xiàng)目“SpringBoot-Learning”此項(xiàng)目?jī)?nèi)容為SpringBoot教程程序樣例,對(duì)于SpringBoot的初學(xué)者來說非常有用,文末也列出了Spring相關(guān)開源項(xiàng)目,供大家交流學(xué)習(xí)。

1.SpringBoot-Learning部分樣例:

快速入門

chapter1:基本項(xiàng)目構(gòu)建(可作為工程腳手架),引入web模塊,完成一個(gè)簡(jiǎn)單的RESTfulAPI使用Intellij中的SpringInitializr來快速構(gòu)建SpringBoot/Cloud工程

工程配置

chapter2-1-1:配置文件詳解:自定義屬性、隨機(jī)數(shù)、多環(huán)境配置等

Web開發(fā)

chapter3-1-1:構(gòu)建一個(gè)較為復(fù)雜的RESTfulAPI以及單元測(cè)試chapter3-1-2:使用Thymeleaf模板引擎渲染web視圖chapter3-1-3:使用Freemarker模板引擎渲染web視圖chapter3-1-4:使用Velocity模板引擎渲染web視圖chapter3-1-5:使用Swagger2構(gòu)建RESTfulAPIchapter3-1-6:統(tǒng)一異常處理

數(shù)據(jù)訪問、日志管理等等,項(xiàng)目地址:程序猿DD/SpringBoot-Learning-碼云Gitee.com

2.項(xiàng)目名稱:springboot實(shí)踐學(xué)習(xí)案例springboot-learning-example

項(xiàng)目結(jié)構(gòu):

a.『基礎(chǔ)-入門篇』

springboot-helloworld《SpringBoot之HelloWorld詳解》springboot-properties《SpringBoot之配置文件詳解》

b.『基礎(chǔ)-Web業(yè)務(wù)開發(fā)篇』

springboot-restful《Springboot實(shí)現(xiàn)Restful服務(wù),基于HTTP/JSON傳輸》《SpringBoot之RESRfulAPI權(quán)限控制》springboot-freemarker《SpringBoot集成FreeMarker詳解案例》springboot-validation-over-json《SpringBootHTTPoverJSON的錯(cuò)誤碼異常處理》

c.『基礎(chǔ)–數(shù)據(jù)存儲(chǔ)篇』

springboot-mybatis《Springboot整合Mybatis的完整Web案例》springboot-mybatis-annotation《SpringBoot整合MybatisAnnotation注解的完整Web案例》springboot-mybatis-mutil-datasource《SpringBoot整合Mybatis實(shí)現(xiàn)Druid多數(shù)據(jù)源詳解》

d.『基礎(chǔ)–數(shù)據(jù)緩存篇』

springboot-mybatis-redis《SpringBoot整合Redis實(shí)現(xiàn)緩存操作》springboot-mybatis-redis-annotation《SpringBoot注解實(shí)現(xiàn)整合Redis作為緩存》

e.『其他篇』

springboot-elasticsearch《SpringBoot整合Elasticsearch,實(shí)現(xiàn)functionscorequery權(quán)重分查詢》springboot-dubbo-serverspringboot-dubbo-clientDubbo服務(wù)提供者工程和Dubbo服務(wù)消費(fèi)者工程《Springboot整合Dubbo/ZooKeeper詳解SOA案例》《SpringBoot中如何使用DubboActivate擴(kuò)展點(diǎn)》

SpringDataES篇

spring-data-elasticsearch-crud《SpringDataElasticsearch-基本案例》spring-data-elasticsearch-queryspring-data-elasticsearch-實(shí)戰(zhàn)案例詳解

項(xiàng)目地址:泥沙磚瓦漿木匠/springboot-learning-example-碼云Gitee.com

Spring相關(guān)項(xiàng)目推薦:

1.項(xiàng)目名稱:基于Spring+SpringMVC+Mybatis分布式敏捷開發(fā)系統(tǒng)架構(gòu)

項(xiàng)目?jī)?nèi)容:基于Spring+SpringMVC+Mybatis分布式敏捷開發(fā)系統(tǒng)架構(gòu),提供整套公共微服務(wù)服務(wù)模塊:集中權(quán)限管理(單點(diǎn)登錄)、內(nèi)容管理、支付中心、用戶管理(支持第三方登錄)、微信平臺(tái)、存儲(chǔ)系統(tǒng)、配置中心、日志分析、任務(wù)和通知等,支持服務(wù)治理、監(jiān)控和追蹤,努力為中小型企業(yè)打造全方位J2EE企業(yè)級(jí)開發(fā)解決方案。

項(xiàng)目地址:shuzheng/zheng-碼云Gitee.com

2.項(xiàng)目名稱:模塊化開發(fā)系統(tǒng)ybg-spring-fast

項(xiàng)目簡(jiǎn)介:以SpringBoot為中心,模塊化開發(fā)系統(tǒng),用戶可以隨意刪減除權(quán)限框架外任意的系統(tǒng)模塊。復(fù)用,組裝性強(qiáng)主要應(yīng)用技術(shù):springSecurity+Ehcache+quartz+swagger2+Mysql5.6+springjdbc+druid+springsocial+springsession+layerui+vue.js等。

項(xiàng)目地址:YYDeament/ybg-spring-fast-碼云Gitee.com

3.項(xiàng)目名稱:JAVA分布式快速開發(fā)平臺(tái)iBase4J

項(xiàng)目?jī)?nèi)容:JAVA分布式快速開發(fā)平臺(tái):SpringBoot,SpringMVC,Mybatis,mybatis-plus,motan/dubbo分布式,Redis緩存,Shiro權(quán)限管理,Spring-Session單點(diǎn)登錄,Quartz分布式集群調(diào)度,Restful服務(wù),QQ/微信登錄,Apptoken登錄,微信/支付寶支付;日期轉(zhuǎn)換、數(shù)據(jù)類型轉(zhuǎn)換、序列化、漢字轉(zhuǎn)拼音、身份證號(hào)碼驗(yàn)證、數(shù)字轉(zhuǎn)人民幣、發(fā)送短信、發(fā)送郵件、加密解密、圖片處理、excel導(dǎo)入導(dǎo)出、FTP/SFTP/fastDFS上傳下載、二維碼、XML讀寫、高精度計(jì)算、系統(tǒng)配置工具類等等。

項(xiàng)目地址:iBase4J/iBase4J-碼云Gitee.com

4.項(xiàng)目名稱:JavaEE(J2EE)快速開發(fā)框架ThinkGem

項(xiàng)目?jī)?nèi)容:JavaEE(J2EE)快速開發(fā)框架,基于經(jīng)典技術(shù)組合(SpringMVC、ApacheShiro、MyBatis、BootstrapUI),包括核心模塊如:組織機(jī)構(gòu)、角色用戶、權(quán)限授權(quán)、數(shù)據(jù)權(quán)限、內(nèi)容管理、工作流等。雖說很長(zhǎng)時(shí)間沒有大的更新了,但它的架構(gòu)精良易于擴(kuò)展深受大家喜愛,依然是中小企業(yè)的首選,它的功能設(shè)計(jì)、底層架構(gòu)也非常具有參考意義、是學(xué)習(xí)入門的首選。關(guān)注我ThinkGem開源中國博客了解4.0最新動(dòng)態(tài)。

項(xiàng)目地址:ThinkGem/JeeSite-碼云Gitee.com

5.項(xiàng)目名稱:Java快速開發(fā)平臺(tái)MCMS

項(xiàng)目?jī)?nèi)容:完整開源,Java快速開發(fā)平臺(tái)。基于Spring、SpringMVC、Mybatis架構(gòu),MStore提供更多好用的插件與模板(文章、商城、微信、論壇、會(huì)員、評(píng)論、支付、積分、工作流、任務(wù)調(diào)度等,同時(shí)提供上百套免費(fèi)模板任意選擇),價(jià)值源自分享!銘飛系統(tǒng)不僅一套簡(jiǎn)單好用的開源系統(tǒng)、更是一整套優(yōu)質(zhì)的開源生態(tài)內(nèi)容體系。

項(xiàng)目地址:銘飛/MCMS-Gitee

6.項(xiàng)目名稱:基于SpringCloud微服務(wù)化開發(fā)平臺(tái)AG-Admin

項(xiàng)目?jī)?nèi)容:AG-Admin是國內(nèi)首個(gè)基于SpringCloud微服務(wù)化開發(fā)平臺(tái),具有統(tǒng)一授權(quán)、認(rèn)證后臺(tái)管理系統(tǒng),其中包含具備用戶管理、資源權(quán)限管理、網(wǎng)關(guān)API管理等多個(gè)模塊,支持多業(yè)務(wù)系統(tǒng)并行開發(fā),可以作為后端服務(wù)的開發(fā)腳手架。代碼簡(jiǎn)潔,架構(gòu)清晰,適合學(xué)習(xí)和直接項(xiàng)目中使用。核心技術(shù)采用Eureka、Fegin、Ribbon、Zuul、Hystrix、JWTToken、Mybatis等主要框架和中間件,前端采用vue-element-admin組件。

項(xiàng)目地址:老A/AG-Admin-碼云Gitee.com

7.項(xiàng)目名稱:輕量級(jí)的SpringBoot快速開發(fā)平臺(tái)renren-fast

項(xiàng)目簡(jiǎn)介:renren-fast是一個(gè)輕量級(jí)的SpringBoot快速開發(fā)平臺(tái),其設(shè)計(jì)目標(biāo)是開發(fā)迅速、學(xué)習(xí)簡(jiǎn)單、輕量級(jí)、易擴(kuò)展;使用SpringBoot、Shiro、MyBatis、Redis、Bootstrap、Vue2.x等框架,包含:管理員列表、角色管理、菜單管理、定時(shí)任務(wù)、參數(shù)管理、代碼生成器、日志管理、云存儲(chǔ)、API模塊(APP接口開發(fā)利器)、前后端分離等。

本地SpringMVC工程,Tomcat成功啟動(dòng),成功進(jìn)入靜態(tài)歡迎頁面,但是訪問其他卻是404

因?yàn)槟銢]有設(shè)置好跳轉(zhuǎn),其次是配置也沒有配置完成,所以導(dǎo)致訪問其他頁面是404的一個(gè)頁面,還有就是你在運(yùn)行的時(shí)候沒有選擇全部運(yùn)行,而是選擇局部運(yùn)行。

spring框架最簡(jiǎn)單講解

回答如下:Spring框架是一個(gè)開源的Java開發(fā)框架,它提供了一種簡(jiǎn)化企業(yè)級(jí)應(yīng)用開發(fā)的方式。它的核心思想是基于依賴注入(DI)和面向切面編程(AOP)。

依賴注入是指Spring框架通過配置文件或注解的方式,自動(dòng)將對(duì)象之間的依賴關(guān)系注入到對(duì)象中,而不需要手動(dòng)創(chuàng)建和管理這些對(duì)象。這樣可以降低開發(fā)者的工作量,并且使得代碼更加靈活和可維護(hù)。

面向切面編程是指Spring框架可以在不改變?cè)写a的情況下,通過添加額外的功能來增強(qiáng)應(yīng)用程序的功能。例如,可以通過AOP在方法調(diào)用前后添加日志記錄、事務(wù)管理等功能,而不需要修改原有的業(yè)務(wù)邏輯代碼。

除了依賴注入和面向切面編程,Spring框架還提供了眾多的模塊和功能,如SpringMVC用于開發(fā)Web應(yīng)用程序、SpringJDBC用于數(shù)據(jù)庫訪問、SpringSecurity用于安全認(rèn)證和授權(quán)等等。這些模塊可以根據(jù)需要選擇使用,使得開發(fā)者能夠更加高效地開發(fā)出高質(zhì)量的應(yīng)用程序。

總的來說,Spring框架的核心思想是通過依賴注入和面向切面編程來簡(jiǎn)化企業(yè)級(jí)應(yīng)用開發(fā),提高開發(fā)效率和代碼質(zhì)量。

spring的工作流程

spring工作的流程

流程如下:

1、用戶發(fā)起請(qǐng)求到前端控制器(DispatcherServlet),該控制器會(huì)過濾出哪些請(qǐng)求可以訪問Servlet、哪些不能訪問。就是url-pattern的作用,并且會(huì)加載springmvc.xml配置文件。

2、前端控制器會(huì)找到處理器映射器(HandlerMapping),通過HandlerMapping完成url到controller映射的組件,簡(jiǎn)單來說,就是將在springmvc.xml中配置的或者注解的url與對(duì)應(yīng)的處理類找到并進(jìn)行存儲(chǔ),用map<url,handler>這樣的方式來存儲(chǔ)。

3、HandlerMapping有了映射關(guān)系,并且找到url對(duì)應(yīng)的處理器,HandlerMapping就會(huì)將其處理器(Handler)返回,在返回前,會(huì)加上很多攔截器。

4、DispatcherServlet拿到Handler后,找到HandlerAdapter(處理器適配器),通過它來訪問處理器,并執(zhí)行處理器。

5、執(zhí)行處理器

6、處理器會(huì)返回一個(gè)ModelAndView對(duì)象給HandlerAdapter

7、通過HandlerAdapter將ModelAndView對(duì)象返回給前端控制器(DispatcherServlet)

8、前端控制器請(qǐng)求視圖解析器(ViewResolver)去進(jìn)行視圖解析,根據(jù)邏輯視圖名解析成真正的視圖(jsp),其實(shí)就是將ModelAndView對(duì)象中存放視圖的名稱進(jìn)行查找,找到對(duì)應(yīng)的頁面形成視圖對(duì)象

9、返回視圖對(duì)象到前端控制器。

10、視圖渲染,就是將ModelAndView對(duì)象中的數(shù)據(jù)放到request域中,用來讓頁面加載數(shù)據(jù)的。

11、通過第8步,通過名稱找到了對(duì)應(yīng)的頁面,通過第10步,request域中有了所需要的數(shù)據(jù),那么就能夠進(jìn)行視圖渲染了。最后將其返回即可。

OK,本文到此結(jié)束,希望對(duì)大家有所幫助。

返回列表
上一篇:
下一篇: