记录学习中碰到的几个基本单词。

1.Maven

是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。
Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。从2020年开始,Maven或Gradle通常是Java构建工具的选择。2020年的主要版本是3。
Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金会主持的独立 Apache 项目。

约定配置
Maven提倡使用一个共同的标准目录结构:
< 目录 >                   < 目的 >
${basedir}                存放pom.xml,和所有的子目录
${basedir}/src/main/java         项目的java源代码
${basedir}/src/main/resources        项目的资源,比如说property文件,springmvc.xml
${basedir}/src/test/java         项目的测试类,比如说Junit代码
${basedir}/src/test/resources       测试用的资源
${basedir}/src/main/webapp/WEB-INF   web应用文件目录,web项目的信息,比如存放web.xml、本地图片、jsp视图页面
${basedir}/target             打包输出目录
${basedir}/target/classes           编译输出目录
${basedir}/target/test-classes         测试编译输出目录
Test.java                Maven只会自动运行符合该命名规则的测试类
~/.m2/repository              Maven默认的本地仓库目录位置

2.POM

Maven的设置在一个名为pom.xml的XML文件中记载。POM是“项目对象模型”的缩写。
Maven以项目单位管理构建。

3.Spring Tool Suite

Spring Tool Suite(简称:STS)是 Spring Source 开发团队在基于 Eclipse 基础上为 Spring 应用的开发专门定制的一款集成开发环境,
对于 Spring 应用的编码实现、调试、部署等各个流程,
集成了包括 Pivotal tc Server、Pivotal Cloud Foundry、Git、Maven、AspectJ 等工具,极大提供了开发效率。

4.SpringMVC
 From:https://zhuanlan.zhihu.com/p/69033746 SpringMVC-基础篇(一) 非常好的文章,这里作为学习笔记,如有版权问题请联系。

   4.1 基本概念

SpringMVC就是一个Spring内置的MVC框架。采用了松散耦合可插拔组件结构,比其他 MVC 框架更具扩展性和灵活性。
MVC框架,如Struts2,springMVC。它解决WEB开发中常见的问题(参数接收、文件上传、表单验证、国际化、等等),而且使用简单,与Spring无缝集成。
支持 RESTful风格的 URL 请求 。

MVC模式:(Model-View-Controller):为了解决页面代码和后台代码的分离。
模型model(javabean), 视图view(jsp/img) 控制器Controller(Action/servlet)
C存在的目的.就是为了保证M和V的一致性,当M发生改变时,C可以把M中的新内容更新到V中。

SpringMVC底层就是的Servlet,SpringMVC就是对Servlet进行更深层次的封装。

JavaMaven Archetype和Spring lnitializr的区别 maven和spring的关系_sed

   4.2 SpringMVC执行流程和原理

SpringMVC流程:

01、用户发送出请求到前端控制器DispatcherServlet。
 ※前端控制器DispatcherServlet(不需要程序员开发),由框架提供,在web.xml中配置。
  作用:接收请求,响应结果,相当于转发器,中央处理器。
02、DispatcherServlet收到请求调用HandlerMapping(处理器映射器)。
03、HandlerMapping找到具体的处理器(可查找xml配置或注解配置),生成处理器对象及处理器拦截器(如果有),再一起返回给DispatcherServlet。
 ※处理器映射器HandlerMapping(不需要程序员开发),由框架提供。
  作用:根据请求的url查找Handler(处理器/Controller),可以通过XML和注解方式来映射。
04、DispatcherServlet调用HandlerAdapter(处理器适配器)。
05、HandlerAdapter经过适配调用具体的处理器(Handler/Controller)。
 ※处理器适配器HandlerAdapter(不需要程序员开发),由框架提供。
  作用:按照特定规则(HandlerAdapter要求的规则)去执行Handler。

处理器Handler(也称之为Controller,需要工程师开发)
  注意:编写Handler时按照HandlerAdapter的要求去做,这样适配器才可以去正确执行Handler。
  作用:接受用户请求信息,调用业务方法处理请求,也称之为后端控制器。
06、Controller执行完成返回ModelAndView对象。
07、HandlerAdapter将Controller执行结果ModelAndView返回给DispatcherServlet。
08、DispatcherServlet将ModelAndView传给ViewReslover(视图解析器)。
09、ViewReslover解析后返回具体View(视图)。
 ※视图解析器ViewResolver(不需要程序员开发),由框架提供
  作用:进行视图解析,把逻辑视图名解析成真正的物理视图。
  SpringMVC框架支持多种View视图技术,包括:jstlView、freemarkerView、pdfView等。

视图View(需要工程师开发)
  作用:把数据展现给用户的页面
  View是一个接口,实现类支持不同的View技术(jsp、freemarker、pdf等)
10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。
11、DispatcherServlet响应用户。

JavaMaven Archetype和Spring lnitializr的区别 maven和spring的关系_xml_02

JavaMaven Archetype和Spring lnitializr的区别 maven和spring的关系_MVC_03