SpringMVC MVC架構(gòu)原理及實(shí)現(xiàn)方法詳解
SpringMVC
ssm:Mybatis+Spring+SpringMVC MVC三層架構(gòu)
JavaSE:認(rèn)真學(xué)習(xí),老師帶,入門快
JavaWeb:認(rèn)真學(xué)習(xí),老師帶,入門快
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ù)、顯示分離的方法來組織代碼;
- 降低了視圖與業(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)包含在父依賴
編寫一個(gè)Servlet類,用來處理用戶的請(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.頁面跳轉(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);
}
}
編寫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ù)器上?。。?/p>
MVC框架要做哪些事情?
- 將url映射到j(luò)ava類或類中的方法;
- 封裝用戶提交的數(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)文章
Java8函數(shù)式接口的基礎(chǔ)學(xué)習(xí)教程
這篇文章主要給大家介紹了關(guān)于Java8函數(shù)式接口基礎(chǔ)學(xué)習(xí)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
基于apache poi根據(jù)模板導(dǎo)出excel的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄赼pache poi根據(jù)模板導(dǎo)出excel的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06
spring?retry實(shí)現(xiàn)方法請(qǐng)求重試的使用步驟
這篇文章主要介紹了spring?retry實(shí)現(xiàn)方法請(qǐng)求重試及使用步驟,本文分步驟通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07
java 中sleep() 和 wait() 的對(duì)比
這篇文章主要介紹了java 中sleep() 和 wait() 的對(duì)比的相關(guān)資料,需要的朋友可以參考下2017-04-04
maven關(guān)于pom文件中的relativePath標(biāo)簽使用
在Maven項(xiàng)目中,子工程通過<relativePath>標(biāo)簽指定父工程的pom.xml位置,以確保正確繼承父工程的配置,這個(gè)標(biāo)簽可以配置為默認(rèn)值、空值或自定義值,默認(rèn)情況下,Maven會(huì)向上一級(jí)目錄尋找父pom;若配置為空值2024-09-09

