SpringMVC MVC架構(gòu)原理及實(shí)現(xiàn)方法詳解
SpringMVC
ssm:Mybatis+Spring+SpringMVC MVC三層架構(gòu)
JavaSE:認(rèn)真學(xué)習(xí),老師帶,入門(mén)快
JavaWeb:認(rèn)真學(xué)習(xí),老師帶,入門(mén)快
SSM框架:研究官方文檔,鍛煉自學(xué)能力,筆記能力,項(xiàng)目能力
SpringMVC+Vue+SpringBoot+SpringCloud+Linux
SSM = JavaWeb做項(xiàng)目;
Spring:IOC和AOP
SpringMVC:SpringMVC的執(zhí)行流程!【重點(diǎn)】
SpringMVC:SSM框架整合!
1. 回顧MVC
什么是MVC?
- Model+View+Controller=MVC
- 將業(yè)務(wù)邏輯、數(shù)據(jù)、顯示分離的方法來(lái)組織代碼;
- 降低了視圖與業(yè)務(wù)邏輯間的雙向耦合
- 不是設(shè)計(jì)模式,是一種架構(gòu)模式。
新建一個(gè)Maven工程當(dāng)作父工程!pom依賴!
<!--依賴--> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.1.9.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api --> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <version>2.3.1</version> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet/jstl --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> </dependencies>
建立一個(gè)Moudle:springmvc-01-servlet,添加web app的支持。
導(dǎo)入servlet和jsp依賴:已經(jīng)包含在父依賴
編寫(xiě)一個(gè)Servlet類(lèi),用來(lái)處理用戶的請(qǐng)求
public class HelloServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //1.獲取前端參數(shù) String method = req.getParameter("method"); if(method.equals("add")){ req.getSession().setAttribute("msg","執(zhí)行了add方法"); } if(method.equals("delete")){ req.getSession().setAttribute("msg","執(zhí)行了delete方法"); } //2.調(diào)用業(yè)務(wù)層 //3.頁(yè)面跳轉(zhuǎn) req.getRequestDispatcher("/WEB-INF/jsp/test.jsp").forward(req,resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req,resp); } }
編寫(xiě)Hello.jsp,在WEB-INF目錄下新建一個(gè)jsp的文件夾,新建hello.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> #{msg} </body> </html>
在web.xml中注冊(cè)servlet
<servlet> <servlet-name>hello</servlet-name> <servlet-class>com.kuang.servlet.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping>
配置Tomcat,并啟動(dòng)測(cè)試!localhost:8080?hello/method=addlocalhost:8080?hello/method=delete
注意點(diǎn):
每個(gè)模塊需要配置到tomcat-deployment,必須部署到服務(wù)器上?。?!
MVC框架要做哪些事情?
- 將url映射到j(luò)ava類(lèi)或類(lèi)中的方法;
- 封裝用戶提交的數(shù)據(jù);
- 處理請(qǐng)求---調(diào)用相關(guān)業(yè)務(wù)處理--封裝響應(yīng)數(shù)據(jù);
- 將響應(yīng)數(shù)據(jù)進(jìn)行渲染 .jsp/html等顯示層數(shù)據(jù)。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
springboot項(xiàng)目整合druid數(shù)據(jù)庫(kù)連接池的實(shí)現(xiàn)
這篇文章主要介紹了springboot項(xiàng)目整合druid數(shù)據(jù)庫(kù)連接池的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04MyBatis-Plus實(shí)現(xiàn)字段自動(dòng)填充功能的示例
本文主要介紹了MyBatis-Plus實(shí)現(xiàn)字段自動(dòng)填充功能的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11Java static(靜態(tài)變量)和私有化功能與用法分析
這篇文章主要介紹了Java static(靜態(tài)變量)和私有化功能與用法,結(jié)合具體實(shí)例形式分析了Java static(靜態(tài)變量)和私有化的相關(guān)概念、原理、使用方法及操作注意事項(xiàng),需要的朋友可以參考下2019-07-07mybatis resultType自帶數(shù)據(jù)類(lèi)型別名解讀
MyBatis為了簡(jiǎn)化開(kāi)發(fā),通過(guò)org.apache.ibatis.type.TypeAliasRegistry為常見(jiàn)類(lèi)定義了別名,這些別名包括基本數(shù)據(jù)類(lèi)型及其數(shù)組、集合類(lèi)型等,如string對(duì)應(yīng)java.lang.String,int對(duì)應(yīng)java.lang.Integer等,此外,還有特殊前綴的別名如_int對(duì)應(yīng)int類(lèi)型2024-10-10mybatis中mapper代理的生成過(guò)程全面分析
這篇文章主要為大家介紹了mybatis中mapper代理的生成過(guò)程全面分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09基于Java隨機(jī)生成手機(jī)短信驗(yàn)證碼的實(shí)例代碼
這篇文章主要介紹了Java隨機(jī)生成手機(jī)短信驗(yàn)證碼的實(shí)例代碼,代碼分為哦簡(jiǎn)單版和復(fù)雜版,需要的朋友可以參考下2019-04-04SpringCloud Gateway自定義filter獲取body中的數(shù)據(jù)為空的問(wèn)題
這篇文章主要介紹了SpringCloud Gateway自定義filter獲取body中的數(shù)據(jù)為空,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10