第63节:Java中的Spring MVC简介笔记

栏目: Java · 发布时间: 7年前

内容简介:前端控制器用于分发调度,而控制器用于业务数据抽取,

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

第63节:Java中的Spring MVC简介笔记

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
复制代码
第63节:Java中的Spring MVC简介笔记

坐标 Coordinates

groupId
artifactId
version
packaging
复制代码

maven 安装

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

(M2_HOME,Path)

第63节:Java中的Spring MVC简介笔记
第63节:Java中的Spring MVC简介笔记
第63节:Java中的Spring MVC简介笔记
第63节:Java中的Spring MVC简介笔记
第63节:Java中的Spring MVC简介笔记
第63节:Java中的Spring MVC简介笔记
第63节:Java中的Spring MVC简介笔记
第63节:Java中的Spring MVC简介笔记

配置文件:

第63节:Java中的Spring MVC简介笔记
%HOME%\.m2
复制代码

复制 settings.xml 文件到 .m2

第63节:Java中的Spring MVC简介笔记

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

第63节:Java中的Spring MVC简介笔记

配置:

第63节:Java中的Spring MVC简介笔记
<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

第63节:Java中的Spring MVC简介笔记

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
复制代码
第63节:Java中的Spring MVC简介笔记

点击回车键-都回车键

第63节:Java中的Spring MVC简介笔记

项目

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

第63节:Java中的Spring MVC简介笔记
第63节:Java中的Spring MVC简介笔记
第63节:Java中的Spring MVC简介笔记
第63节:Java中的Spring MVC简介笔记
第63节:Java中的Spring MVC简介笔记
第63节:Java中的Spring MVC简介笔记
@Controller
@RequestMapping("/hello")
public class HelloMvcController{
 @RequestMapping("/mvc");
 // host:8080/hello/mvc
 public String helloMvc(){
  return "home";
 }
}
复制代码
第63节:Java中的Spring MVC简介笔记
mvn jetty:run
复制代码

spring mvc 操作

DispatcherServlet
WebApplicationContext
WebApplication
复制代码
第63节:Java中的Spring MVC简介笔记
controller
model
service
复制代码
@Controller
@RequestMapping("/courses")
public class CourseController {
 private static Logger log = LoggerFactory.getLogger(CourseController.class);
 private CourseService courseService;
}
复制代码
第63节:Java中的Spring MVC简介笔记
第63节:Java中的Spring MVC简介笔记
第63节:Java中的Spring MVC简介笔记

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";
}
复制代码
第63节:Java中的Spring MVC简介笔记
package com.model;
复制代码
第63节:Java中的Spring MVC简介笔记

FileUpload 单文件上传

文件上传:

第63节:Java中的Spring MVC简介笔记
<dependency>
 <groupId> commons-fileupload </groupId>
 <artifactId> commons-fileupload </artifactId>
 <version>1.3.1</version>
</dependency>
复制代码

JSON

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

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Usability for the Web

Usability for the Web

Tom Brinck、Darren Gergle、Scott D. Wood / Morgan Kaufmann / 2001-10-15 / USD 65.95

Every stage in the design of a new web site is an opportunity to meet or miss deadlines and budgetary goals. Every stage is an opportunity to boost or undercut the site's usability. Thi......一起来看看 《Usability for the Web》 这本书的介绍吧!

html转js在线工具
html转js在线工具

html转js在线工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换