前言

感谢! 承蒙关照~

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,是用来呈现数据的.模型层是业务数据的信息的表示.

模型层:

// 业务信息的构成
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表现形式

集合

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 ->

Locale Resolution
Theme Resolution
Multipart(File Upload) Handing

Controller

HandlerMapping
HandlerInterceptor
Handler
-Data Binding
-Validation, Type Conversion, Formatting
-Invoke Service Layer
-Update Model and State
HandlerExceptionResolver

View

ViewResolver
View

spring mvc项目搭建-maven

// maven
pom(project object model) - an xml file(pom.xml)
// contains information
dependency management
coordinates

坐标Coordinates

groupId
artifactId
version
packaging

maven安装

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

(M2_HOME,Path)

配置文件:

%HOME%\.m2

复制settings.xml文件到.m2

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

配置:

     <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`中确保路径正确.

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

packaging: jar

点击pom.xml

@Controller
@RequestMapping("/hello")
public class HelloMvcController{
@RequestMapping("/mvc");
// host:8080/hello/mvc
public String helloMvc(){
return "home";
}
}

mvn jetty:run

spring mvc操作

DispatcherServlet
WebApplicationContext
WebApplication

controller
model
service
@Controller
@RequestMapping("/courses")
public class CourseController {
private static Logger log = LoggerFactory.getLogger(CourseController.class);
private CourseService courseService;
}

Controller

@Controller
@RequestMapping
URL template(@RequestParam and @PathVarialbe)
HttpServletRequest and / or HttpSession

Binding绑定

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

CourseController.java

@RequestMapping(value="/admin", method=RequestMethod.GET, params="add")
public String createCourse(){
return "course_admin/edit";
}

package com.model;

FileUpload单文件上传

文件上传:

<dependency>
<groupId> commons-fileupload </groupId>
<artifactId> commons-fileupload </artifactId>
<version>1.3.1</version>
</dependency>

JSON

json是一种轻量级的格式
ContentNegotiatingViewResolver
ResponseEntity
@ResponseBody/@ResquestBody

知识点

@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

结语

  • 下面我将继续对 其他知识 深入讲解 ,有兴趣可以继续关注
  • 小礼物走一走 or 点赞

第63节:Java中的Spring MVC简介笔记的更多相关文章

  1. 第64节:Java中的Spring Boot 2.0简介笔记

    Java中的Spring Boot 2.0简介笔记 spring boot简介 依赖java8的运行环境 多模块项目 打包和运行 spring boot是由spring framework构建的,sp ...

  2. 第80节:Java中的MVC设计模式

    第80节:Java中的MVC设计模式 前言 了解java中的mvc模式.复习以及回顾! 事务,设置自动连接提交关闭. setAutoCommit(false); conn.commit(); conn ...

  3. 第68节:Java中的MYSQL运用从小白到大牛

    第68节:Java中的MYSQL运用从小白到大牛 前言 学习java必备要求,学会运用!!! 常见关系化数据库 BootStrap是轻量级开发响应式页面的框架,全局css组件,js插件.栅格系统是将页 ...

  4. java企业架构 spring mvc +mybatis + KafKa+Flume+Zookeeper

    声明:该框架面向企业,是大型互联网分布式企业架构,后期会介绍linux上部署高可用集群项目. 项目基础功能截图(自提供了最小部分)      平台简介        Jeesz是一个分布式的框架,提供 ...

  5. 第77节:Java中的事务和数据库连接池和DBUtiles

    第77节:Java中的事务和数据库连接池和DBUtiles 前言 看哭你,字数:8803,承蒙关照,谢谢朋友点赞! 事务 Transaction事务,什么是事务,事务是包含一组操作,这组操作里面包含许 ...

  6. Spring MVC 学习笔记1 - First Helloworld by Eclipse【& - java web 开发Tips集锦】

    Spring MVC 学习笔记1 - First Helloworld by Eclipse reference:http://www.gontu.org 1. 下载 Spring freamwork ...

  7. web环境中的spring MVC

    1. web.xml文件的简单详解 在web环境中, spring MVC是建立在IOC容器的基础上,要了解spring mvc,首先要了解Spring IOC容器是如何在web环境中被载入并起作用的 ...

  8. Java方式配置Spring MVC

    概述 使用Java方式配置Spring MVC,以及回顾一下Spring MVC的各种用法. Spring MVC简述 关于Spring MVC的介绍网上有很多,这里就不再赘述了,只是要说一下,Spr ...

  9. 第83节:Java中的学生管理系统分页功能

    第83节:Java中的学生管理系统分页功能 分页功能一般可以做成两种,一种是物理分页,另一种是逻辑分页.这两种功能是有各自的特点的,物理分页是查询的时候,对数据库进行访问,只是查一页数据就进行返回,其 ...

随机推荐

  1. leetcode26: 删除排序数组中的重复项

    给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成. 示例 1 ...

  2. vue实例的生命周期

    Vue实例的生命周期也就是这个实例从出生到死亡的过程,所以我在文档原图上把这个周期大致分为创建过程 | 运行过程 | 销毁过程三个阶段,不同结果或又分为一些小的阶段 在第一个阶段,创建阶段,会完成Vu ...

  3. Netsharp系列文章目录结构

    作者:秋时  转载须说明出处  Netsharp交流群:338963050(请有详细的请求说明) ->. 总体介绍 Netsharp总体介绍 一. Netsharp快速入门系列 Netsharp ...

  4. 【Mybatis】MyBatis之表的关联查询(五)

    本章介绍Mybatis之表的关联查询 一对一关联 查询员工信息以及员工的部门信息 1.准备表employee员工表,department部门表 CREATE TABLE `employee` ( `i ...

  5. JQUERY-事件-动画-类数组对象-添加自定义API

    正课: 1. 事件: 2. 动画: 3. 类数组对象操作: 4. 添加自定义API: 1. 事件: 1. 页面加载后执行: 2个时机 1. DOM内容加载完成: 仅包括html, js DOMCont ...

  6. 82、iOS 基本算法

    “冒泡排序.选择排序.快速排序.归并排序.逆序.二分查找.求两个整数的最大公约数和最小公倍数.” 一.冒泡排序 1.比较相邻的元素.如果第一个比第二个大,就交换他们两个. 2.对每一对相邻元素作同样的 ...

  7. JDBC学习(含转载)

    首先连接数据库: Class.forName("com.mysql.jdbc.Driver");//加载jdbc驱动 Connection conn=DriverManager.g ...

  8. JavaScript基础视频教程总结(131-140章)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  9. C语言的转义字符

    原文地址:http://blog.163.com/sunshine_linting/blog/static/44893323201181325818165/ 在字符集中,有一类字符具有这样的特性:当从 ...

  10. [f]聊天的时间格式化

    代码如下: 参数: t: 时间戳, type:返回格式(1:IM界面,其他:会话列表) function formartTime(t, type) { var oldtime = new Date(t ...