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

Java中的Spring MVC简介笔记

作者头像
达达前端
发布2022-04-29 10:08:00
7930
发布2022-04-29 10:08:00
举报
文章被收录于专栏:达达前端达达前端

前言

感谢! 承蒙关照~

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
复制
// 业务信息的构成
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
复制
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
复制
Locale Resolution
Theme Resolution
Multipart(File Upload) Handing

Controller

代码语言:javascript
复制
HandlerMapping
HandlerInterceptor
Handler
-Data Binding
-Validation, Type Conversion, Formatting
-Invoke Service Layer
-Update Model and State
HandlerExceptionResolver

View

代码语言:javascript
复制
ViewResolver
View

spring mvc项目搭建-maven

代码语言:javascript
复制
// maven
pom(project object model) - an xml file(pom.xml)
// contains information
dependency management
coordinates

图片说明

坐标Coordinates

代码语言:javascript
复制
groupId
artifactId
version
packaging

maven安装

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

(M2_HOME,Path)

图片说明

图片说明

图片说明

图片说明

图片说明

图片说明

图片说明

图片说明

配置文件:

图片说明

代码语言:javascript
复制
%HOME%\.m2

复制settings.xml文件到.m2

图片说明

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

图片说明

配置:

图片说明

代码语言:javascript
复制
<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
复制
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
复制
packaging: jar

点击pom.xml

图片说明

图片说明

图片说明

图片说明

图片说明

图片说明

代码语言:javascript
复制
@Controller
@RequestMapping("/hello")
public class HelloMvcController{
 @RequestMapping("/mvc");
 // host:8080/hello/mvc
 public String helloMvc(){
  return "home";
 }
}

图片说明

代码语言:javascript
复制
mvn jetty:run

spring mvc操作

代码语言:javascript
复制
DispatcherServlet
WebApplicationContext
WebApplication

图片说明

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

图片说明

图片说明

图片说明

Controller

代码语言:javascript
复制
@Controller
@RequestMapping
URL template(@RequestParam and @PathVarialbe)
HttpServletRequest and / or HttpSession

Binding绑定

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

CourseController.java

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

图片说明

代码语言:javascript
复制
package com.model;

图片说明

FileUpload单文件上传

文件上传:

图片说明

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

知识点

代码语言:javascript
复制
@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 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • MVC简介
  • maven
  • MVC
  • 前端控制器
  • MVC的本质
  • 什么是所谓的mvc
  • 集合
  • DispatcherServlet重点
  • 结构
  • 坐标Coordinates
  • maven安装
  • (M2_HOME,Path)
  • maven创建项目
  • 项目
  • spring mvc操作
  • Controller
  • Binding绑定
  • FileUpload单文件上传
  • 知识点
  • 结语
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档