前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Java中的Spring MVC简介笔记

Java中的Spring MVC简介笔记

作者头像
达达前端
发布于 2022-04-29 02:08:00
发布于 2022-04-29 02:08:00
84200
代码可运行
举报
文章被收录于专栏:达达前端达达前端
运行总次数:0
代码可运行

前言

感谢! 承蒙关照~

Java中的Spring MVC简介笔记

MVC简介

  1. Spring MVC 基本概念
  2. Spring MVC 项目搭建

maven

使用Spring MVC进行开发

实现数据绑定和文件上传

MVC

mvc是开发web架构的通用方式.

Front Controller(MVC)前端控制器,Front controllerControllerView template,用户页面.

前端控制器

前端控制器用于分发调度,而控制器用于业务数据抽取,view template用于页面呈现.

MVC的本质

mvc的本质是将业务数据的抽取与业务逻辑的呈现想分离.(数据和呈现分离).

什么是所谓的mvc

mvc - Model-View-Controller

程序中的view是视图层,用于提供ui,是用来呈现数据的.模型层是业务数据的信息的表示.

模型层:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 业务信息的构成
public class Course {
 private Integer courseId;
 private String title;
 private Integer learningNum;
 private Integer level;
 private String imgPath;
 
 private List<Chapter> chapterList;
 public Integer getCourseId(){
  return courseId;
 }
 public void setCourseId(Integer courseId){
  this.courseId = courseId;
 }
 public String getTitle(){
  return title;
 }
 public void setTitle(String title){
  this.title = title;
 }
 public Integer getLearningNum(){
  return learningNum;
 }
}

视图和模型- Controller控制器,控制层,作用是将数据传递给视图层,用于呈现.

mvc是一种架构模式,用于呈现的分层,分工合作,模型层,视图层,控制层.

spring mvc概念:

DispatcherServlet

图片说明

controller - HandlerAdapter表现形式

集合

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DispatcherServlet
Controller
HandlerAdapter
HandlerInterceptor
HandlerMapping
HandlerExecutionChain
ModelAndView
ViewResolver
View

DispatcherServlet重点

View Controller DispatcherServlet -> Request -> HandlerMapping -> Controller -> HandlerInterceptor -> Hander/HandlerAdapter

ModelAndView -> DispatcherServlet -> ViewResolver -> View -> Response

结构

DispatcherServlet

Common Services ->

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Locale Resolution
Theme Resolution
Multipart(File Upload) Handing

Controller

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
HandlerMapping
HandlerInterceptor
Handler
-Data Binding
-Validation, Type Conversion, Formatting
-Invoke Service Layer
-Update Model and State
HandlerExceptionResolver

View

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ViewResolver
View

spring mvc项目搭建-maven

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// maven
pom(project object model) - an xml file(pom.xml)
// contains information
dependency management
coordinates

图片说明

坐标Coordinates

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
groupId
artifactId
version
packaging

maven安装

下载解压maven,配置环境变量,(M2_HOME,Path),配置maven配置文件.

(M2_HOME,Path)

图片说明

图片说明

图片说明

图片说明

图片说明

图片说明

图片说明

图片说明

配置文件:

图片说明

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
%HOME%\.m2

复制settings.xml文件到.m2

图片说明

打开.m2下文件settings.cml文件

图片说明

配置:

图片说明

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<mirror>
        <id>UK</id>
        <name>UK Central</name>
        <url>http://uk.maven.org/maven2</url>
        <mirrorOf>central</mirrorOf>
     </mirror>

maven创建项目

eclipse -> eclipse kepler sr2 packages

图片说明

eclipse -> window -> preferences -> maven -> Installations -> add -> 'maven-apache-maven-x.x.x->user settings`中确保路径正确.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mvn archetype:generate -DgroupId=dashucoding-arthur -DartifactId=spring-mvc-study
-DarchetypeArtifactId=maven-archetype-webapp

图片说明

点击回车键-都回车键

图片说明

项目

Import -> maven -> existion maven projects -> spring-mvc-study /pom.xml

spring-mvc-study -> properties -> java build path -> spring-mvc-study/src/main/java(missing)

main -> folder -> java -> pom.xml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
packaging: jar

点击pom.xml

图片说明

图片说明

图片说明

图片说明

图片说明

图片说明

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Controller
@RequestMapping("/hello")
public class HelloMvcController{
 @RequestMapping("/mvc");
 // host:8080/hello/mvc
 public String helloMvc(){
  return "home";
 }
}

图片说明

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mvn jetty:run

spring mvc操作

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DispatcherServlet
WebApplicationContext
WebApplication

图片说明

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
controller
model
service
@Controller
@RequestMapping("/courses")
public class CourseController {
 private static Logger log = LoggerFactory.getLogger(CourseController.class);
 private CourseService courseService;
}

图片说明

图片说明

图片说明

Controller

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Controller
@RequestMapping
URL template(@RequestParam and @PathVarialbe)
HttpServletRequest and / or HttpSession

Binding绑定

是将请求中的字段按照名字匹配的原则填入模型对象.

CourseController.java

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@RequestMapping(value="/admin", method=RequestMethod.GET, params="add")
public String createCourse(){
 return "course_admin/edit";
}

图片说明

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package com.model;

图片说明

FileUpload单文件上传

文件上传:

图片说明

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
 <groupId> commons-fileupload </groupId>
 <artifactId> commons-fileupload </artifactId>
 <version>1.3.1</version>
</dependency>
JSON
json是一种轻量级的格式
ContentNegotiatingViewResolver
ResponseEntity
@ResponseBody/@ResquestBody

知识点

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@RequestMapping
@PathVariable
@Controller
redirect/forward
MultipartFile
@ModelAttribute
@ResquestBody
@RequestParam
@ResponseBody
enctype="multipart/form-data"
multipartResolver
ResponseEntity

达叔小生:往后余生,唯独有你 You and me, we are family ! 90后帅气小伙,良好的开发习惯;独立思考的能力;主动并且善于沟通 简书博客: 达叔小生 https://www.jianshu.com/u/c785ece603d1

结语

  • 下面我将继续对 其他知识 深入讲解 ,有兴趣可以继续关注
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-12-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
第63节:Java中的Spring MVC简介笔记
Front Controller(MVC)前端控制器,Front controller到Controller到View template,用户页面.
达达前端
2019/07/03
5310
第63节:Java中的Spring MVC简介笔记
手写了一个Spring MVC
我们先手写一个Spring MVC,让你对Spring MVC的整体实现有一个基本的认识
Java识堂
2021/01/05
3710
手写了一个Spring MVC
【整理】Spring MVC专题
    Spring MVC是Spring提供的一个强大而灵活的web框架。借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单。这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中。
江中散人_Jun
2023/10/16
2390
【整理】Spring MVC专题
_Spring MVC简介附入门案例
接下来我们写一个SpringMVC的入门案例,此时我们新建一个模块即可,首先使用maven创建web项目,补齐包结构 ,
会洗碗的CV工程师
2023/11/18
1680
_Spring MVC简介附入门案例
Spring MVC框架
前端控制器是DispatcherServlet;应用控制器其实拆为处理器映射器(Handler Mapping)进行处理器管理和视图解析器(View Resolver)进行视图管理;页面控制器/动作/处理器为Controller接口(仅包含ModelAndView handleRequest(request, response) 方法)的实现(也可以是任何的POJO类)。
用户2909867
2018/08/22
7660
Spring MVC框架
Spring MVC 3 深入总结
大家好,Spring3 MVC是非常优秀的MVC框架,由其是在3.0版本号公布后,如今有越来越多的团队选择了Spring3 MVC了。Spring3 MVC结构简单,应了那句话简单就是美,并且他强大不失灵活,性能也非常优秀。
全栈程序员站长
2022/07/05
3850
Spring MVC 3 深入总结
你真的了解SpringMVC吗?
用户通过视图层发送请求到服务器,在服务器中请求被Controller接收,Controller 调用相应的Model层处理请求,处理完毕将结果返回到Controller,Controller再根据请求处理的结果 找到相应的View视图,渲染数据后最终响应给浏览器
用户11097514
2024/05/30
900
你真的了解SpringMVC吗?
Spring学习笔记(5)一SpringMVC处理请求原理
我们开发springmvc 的web,主要代码就是controller,使用《Spring学习笔记(3)一SpringMVC快速入门》例子:
黄规速
2022/04/14
5400
Spring学习笔记(5)一SpringMVC处理请求原理
IDEA 新建 Spring MVC 工程项目与 SpringMVC 运行流程
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ajianyingxiaoqinghan/article/details/80727200
剑影啸清寒
2019/05/29
3.8K0
Spring Web MVC
在一个项目中,如果业务流程比较简单的时候,可以把控制器的功能交给视图,项目架构中只有视图和模型,没有控制器。
xiaozhangStu
2023/08/23
2310
【Spring】Spring MVC原理及配置详解
【Spring】Spring MVC原理及配置 1.Spring MVC概述: Spring MVC是Spring提供的一个强大而灵活的web框架。借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单。这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中。 Spring MVC主要由DispatcherServlet、处理器映射、处理器(控制器)、视图解析器、视图组成。他的两个核
Java学习123
2018/06/07
1.6K0
460道Java后端面试高频题答案版【模块十:SpringMVC】
对于 SpringMVC 并没有太多的学习经验分享给大家,因为我是通过某培训机构的视频学习的 SpringMVC。我个人认为 SpringMVC 的高频面试点有以下几个:
乔戈里
2019/10/09
9500
460道Java后端面试高频题答案版【模块十:SpringMVC】
【小家Spring】Spring MVC容器启动时,web九大组件初始化详解(Spring MVC的运行机制)
为了更好的去理解Spring MVC的工作机制,这边博文我们主要讲述Spring MVC在初始化的时候(容器启动的时候),做的一些准备工作。
YourBatman
2019/09/03
1.8K0
【小家Spring】Spring MVC容器启动时,web九大组件初始化详解(Spring MVC的运行机制)
Spring MVC中HandlerMapping和HandlerAdapter是怎么工作的?
3月份的时候由于疫情被裁员,换了一家公司,结果来了这个公司一看代码就晕了,我熟悉的@RequestMapping注解哪去了?不用@RequestMapping注解怎么做映射啊?然后看了一波文档,原来映射规则是这样做的,有如下一个Controller类
Java识堂
2020/05/18
1.2K0
spring MVC的工作流程,组件的功能和作用,不这么设计的话会怎样
Spring MVC 基于前端控制器模式,通过组件化分工实现请求处理的高效解耦。以下是其核心流程
麦辣鸡腿堡
2025/03/18
1070
Spring-MVC 整理
今日看《spring解密》书中,看完spring ioc内容,看到书的后面介绍了spring mvc 的内容,觉得书中spring细分知识挺详细且多的,想换个思路再继续看aop,就看了看 作者讲的Spring -mvc知识,结果看的过瘾,把之前学Spring -mvc时的知识感觉串联了起来, 书是2009年出版的sping 的版本 就到了2.5,如今spring 已经5.x了,整理一下自己的笔记写出来。文章为记录型不是教程型,读者注意些,想看详细具体的教程,网上挺多的,不必在我这花时间。
猎户星座1
2020/06/15
5500
Spring MVC介绍(二)之 Spring MVC 执行流程解析
此时启动容器,访问 http://localhost:8080/spring_mvc/beanName ,可以看到显示的是我们control返回的数据。
zoro
2019/04/11
5140
Spring MVC介绍(二)之 Spring MVC 执行流程解析
自己手写一个Spring MVC框架
Spring框架对于Java后端程序员来说再熟悉不过了,以前只知道它用的反射实现的,但了解之后才知道有很多巧妙的设计在里面。
用户1093975
2018/08/03
5170
自己手写一个Spring MVC框架
Spring系列十:Spring MVC深度学习
Spring MVC 虽然整体流程复杂,但是实际开发中很简单,大部分的组件不需要开发人员创建和管理,只需要通过配置文件的方式完成配置即可,真正需要开发人员进行处理的只有 Handler(Controller) 、View 、Model。
叶秋学长
2022/07/30
3950
Spring系列十:Spring MVC深度学习
徒手撸一个Spring MVC框架
今天我们来仿写一个 Spring MVC 框架,用到的技术比较简单,只需要 XML 解析+反射就可以完成,不需要 JDK 动态代理。
南风
2019/08/20
4720
徒手撸一个Spring MVC框架
相关推荐
第63节:Java中的Spring MVC简介笔记
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文