欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringMVC MVC架構(gòu)原理及實(shí)現(xiàn)方法詳解

 更新時(shí)間:2020年09月03日 09:17:59   作者:CodeHuba  
這篇文章主要介紹了SpringMVC MVC架構(gòu)原理及實(shí)現(xiàn)方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

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)

    這篇文章主要介紹了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-04
  • MyBatis-Plus實(shí)現(xiàn)字段自動(dòng)填充功能的示例

    MyBatis-Plus實(shí)現(xiàn)字段自動(dòng)填充功能的示例

    本文主要介紹了MyBatis-Plus實(shí)現(xiàn)字段自動(dòng)填充功能的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Java static(靜態(tài)變量)和私有化功能與用法分析

    Java static(靜態(tài)變量)和私有化功能與用法分析

    這篇文章主要介紹了Java static(靜態(tài)變量)和私有化功能與用法,結(jié)合具體實(shí)例形式分析了Java static(靜態(tài)變量)和私有化的相關(guān)概念、原理、使用方法及操作注意事項(xiàng),需要的朋友可以參考下
    2019-07-07
  • mybatis resultType自帶數(shù)據(jù)類(lèi)型別名解讀

    mybatis 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-10
  • mybatis中mapper代理的生成過(guò)程全面分析

    mybatis中mapper代理的生成過(guò)程全面分析

    這篇文章主要為大家介紹了mybatis中mapper代理的生成過(guò)程全面分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Java多線程yield心得分享

    Java多線程yield心得分享

    前幾天復(fù)習(xí)了一下多線程,發(fā)現(xiàn)有許多網(wǎng)上講的都很抽象,所以,自己把網(wǎng)上的一些案例總結(jié)了一下
    2013-12-12
  • 詳解Jvm中時(shí)區(qū)設(shè)置方式

    詳解Jvm中時(shí)區(qū)設(shè)置方式

    這篇文章主要介紹了詳解Jvm中時(shí)區(qū)設(shè)置方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Mapreduce分布式并行編程

    Mapreduce分布式并行編程

    這篇文章主要為大家介紹了Mapreduce分布式并行編程使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 基于Java隨機(jī)生成手機(jī)短信驗(yàn)證碼的實(shí)例代碼

    基于Java隨機(jī)生成手機(jī)短信驗(yàn)證碼的實(shí)例代碼

    這篇文章主要介紹了Java隨機(jī)生成手機(jī)短信驗(yàn)證碼的實(shí)例代碼,代碼分為哦簡(jiǎn)單版和復(fù)雜版,需要的朋友可以參考下
    2019-04-04
  • SpringCloud Gateway自定義filter獲取body中的數(shù)據(jù)為空的問(wèn)題

    SpringCloud Gateway自定義filter獲取body中的數(shù)據(jù)為空的問(wèn)題

    這篇文章主要介紹了SpringCloud Gateway自定義filter獲取body中的數(shù)據(jù)為空,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10

最新評(píng)論