Spring MVC
1.三层架构:表现层、业务层、数据访问层
2.MVC:
- Model:模型层
- View:视图层
- Controller:控制层
3.核心组件:前端控制器:DispatcherServlet
图片来自spring官网
4.注意MVC和三层架构是无法对应上的,MVC主要解决的是表现层的问题
5.浏览器向服务器传参有两种方式,一是在通过get请求,在路径后加问号携带参数,如/xxx?id=1。另一种是通过post请求,在request请求体中携带表单中的参数,这种参数在路径上是看不到的。这两种方式所传的参数,在服务端都可以通过request.getParameter(参数名)这样的方式来获取。而@RequestParam注解,就相当于是request.getParameter(),是从request对象中获取参数的。有时利用请求路径本身来传参,即将参数拼到路径里,如/xxx/1,这里的1就是参数,那么在解析路径的时候,也能获取到这个参数的。而@PathVarible就是解析路径,从中获得对应级次的参数。更多Spring MVC注解见Spring官方手册Web Servlet的部分。
6.在控制器的方法中可以直接使用Request、Response对象处理请求与响应;ModelAndView对象既可以存储模型数据,又可以存储模板路径;Model对象可以被自动实例化;默认情况下,Spring MVC会从/templates目录下加载模板,在/static目录下加载静态资源
7.记录一个错误,pom.xml中这里如果没有添加版本的话会报错,参考博客添加版本号解决:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.2.6.RELEASE</version>
</plugin>
</plugins>
</build>