首页 > 其他分享 >Spring MVC学习随笔-Spring MVC介绍

Spring MVC学习随笔-Spring MVC介绍

时间:2023-11-25 13:57:09浏览次数:28  
标签:控制器 SpringMVC Spring MVC 开发 跳转 随笔

学习视频:孙哥说SpringMVC:结合Thymeleaf,重塑你的MVC世界!|前所未有的Web开发探索之旅

第一章、SpringMVC的引言

1.1什么是SpringMVC

  1. 概念:SpringMVC是基于Spring Framework衍生而来的MVC框架,主要解决了原有MVC框架开发过程中,控制器(Controller)的问题
  • SpringMVC是一个MVC框架
    1. MVC是一个架构思想,在JavaEE开发中多用于Web开发。

    2. 应用MVC架构思想开发应用,会把一个项目划分为了3个层次,M(model)模型层,V(View)视图层,C(Controller)控制层

      View JSP

      Model Service+DAO

      Controller Servlet

    3. MVC这种分层开发,体现了面向对象各司其职的设计思想,也更加有利于后续的项目维护(修改)。

  • 为什么要基于Sping Framework
    • 通过工厂(容器)创建对象,解耦合(IOC DI)。
    • 通过AOP的方式,为目标类(原始类)增加额外功能
    • 方便与第三方框架的集成
      • MyBatis
      • JPA
      • MQ
  • 原有MVC开发中控制器存在的问题
    1. 原有MVC开发中的控制器通过哪些技术实现的?
    2. 这些技术在实现控制器时,存在着哪些问题

实现技术:1.Servlet[基于Java Model2模式]

Servlet实现控制器存在的问题:

  • 控制器的核心作用
    1. 接收用户的请求,调用业务功能(Service),并根据处理结果控制程序的运行流程。

  • 控制器的核心代码
    1. 接收client参数
    2. 调用业务对象(Service)
    3. 流程跳转(页面跳转)

  • 控制器存在的问题
    • 接收client请求参数方面

      1. 代码冗余
      2. 只能接受字符串类型的数据,需要手工进行类型转换
      3. 无法自动封装对象

    • 调用业务对象(Service)方面

      UserService userService = new UserServiceImpl();//耦合代码
      boolean isLogin = userService.login(name,password);
      

      通过new的方式获得业务对象(service)存在耦合

    • 流程跳转(页面跳转)

      1. 跳转路径耦合

      2. 与视图层技术的耦合

1.2 SpringMVC课程的学习要点

1.2.1 SpringMVC的三种开发模式

  • 传统视图开发【基础课程讲解】
    1. 通过作用域(request,session)进行数据的传递
    2. 通过视图层技术进行数据的展示(JSP,FreeMarker,Thymeleaf)
  • 前后端分离开发【MVC高级课程讲解】
    1. 多种新的请求发送方式
    2. Restful的访问(Url的访问方式)
    3. 通过HttpMessageConverter进行数据响应
  • Spring5 WebFlux开发【独立课程讲解】
    1. 替换传统JavaWeb开发的一种新的Web开发方式
    2. 通过NettyServer,进行Web通信

1.2.2控制器开发步骤

  1. 接受client请求参数
  2. 调用业务对象
  3. 流程跳转

标签:控制器,SpringMVC,Spring,MVC,开发,跳转,随笔
From: https://www.cnblogs.com/eyewink/p/17855440.html

相关文章

  • spring boot工业互联网高精度位置信息服务平台源码
    UWB定位系统源码,UWB人员定位系统全套源码行业背景工业企业多存在很多有毒有害、高危高压等生产环境,带电设备众多,容易发生安全事故;人员只能凭记忆遵守各项生产安全规范,如某些危险区域范围、带电体的安全距离、各项作业的规范;一旦疏忽后果严重,安全作业无后盾;生产安全的重点区域,无全方......
  • .NET Core MVC基础之页面传值方式
    .NETCoreMVC基础之页面传值方式......
  • 【SpringBoot应用篇】SpringBoot: 事件的发布和监听
    【SpringBoot应用篇】SpringBoot:事件的发布和监听应用场景概述自定义事件发布和监听pom自定义事件源和实体发布事件监听类使用ApplicationListener方式监听类使用@EventListener方式Spring事件最佳实践通用泛型类事件发布事件类事件监听类异步监听处理事......
  • Spring 中的拦截器、过滤器有什么区别,有什么关系吗
    在Spring框架中,拦截器(Interceptor)和过滤器(Filter)是两个不同的概念,它们在框架中的作用和实现方式略有不同。拦截器(Interceptor):拦截器是Spring框架提供的一种机制,用于拦截HTTP请求的处理过程。在SpringMVC中,拦截器是基于HandlerInterceptor接口实现的,它可以在请求的处理过程中......
  • springcloud学生选课系统
    开发技术:jdk1.8,mysql5.7,idea,nodejs,vscodespringcloudspringbootmybatisvueelementui功能介绍:学生:登录,统计分析,选课(查看课程及选择),我的成绩老师:登录,统计分析,课程管理:课程信息维护成绩管理:成绩信息发布管理员:登录统计分析:统计成绩学生管理:学生增删改查老师管理:老师增删改查班级管......
  • stm32学习随笔23.11.24
    探索TIM2两个PWM输出视频:B站BV1vb4y1T72LMain.C主函数部分节选#include"stm32f10x.h"                 //Deviceheader#include"Delay.h"#include"OLED.h"#include"TestLED.h"#include"PWM.h"#include"KEY.h"#incl......
  • 10.配置优先级,bean的管理,SpringBoot原理
    配置优先级,bean的管理,SpringBoot原理配置优先级:优先级(低->高):application.ymlapplication.ymlapplication.propertiesjava系统属性(-Dxxx=xxx)命令行参数(--xxx=xxx)例子-设置springboot项目端口号:java系统属性:-Dserver.port=9000命令行参数:--server.por......
  • Spring工具类-路径匹配(AntPathMatcher)
     1.介绍Spring(SpringBoot)框架的路径解析都是按照Ant的风格。Spring中的具体实现:org.springframework.util.AntPathMatcher?匹配1个字符/dir/app?匹配:/dir/app1、/dir/app2不匹配:/dir/app、/dir/app12、index/*匹配0到多个字符/dir/app*......
  • ASP.NET MVC5 Bundling and Minification
    代码varmyScriptBundle=newScriptBundle("~/bundles/script").Include("~/Scripts/myscript.js");bundles.Add(myScriptBundle);varmyStyleBundle=newStyleBundle("~/Content/css").Include("~/Content/Login/mycss.css")......
  • 基于springboot,vue的教务管理系统源码 学生信息管理系统
    项目源码获取方式放在文章末尾处项目技术数据库:Mysql5.7数据表:9张开发语言:Java(jdk1.8)开发工具:idea前端技术:Vue后端技术:SpringBoot 项目源码获取方式放在文章末尾处功能简介该项目是一个教务管理系统,角色分为管理员,教师,学生三个角色,具体功能菜单如下:管理员端    登录    ......