参考:
0. RESTFUL 使用规范
传统的url:GET
: /user/findById?id=21
,这种写法可行,但是太过繁琐。
RESTFUL原则:
- 定义:
GET
查询;POST
添加;PUT
全字段更新;PATCH
部分字段更新;DELETE
删除 - 使用复数名词,如
user
->users
- 请求和响应时指定accept:
@RequestBody
,response:@ResponseBody
- 资源唯一标识在传递参数时使用路径传参:
users?id=21
->users/21
;而具体业务传参可以是:sort?=bubble
、?page=1
1. 第一个SpringMVC程序
实现SpringMVC分为两种方式:
一、配置版(繁琐,适合用来理解原理逻辑)
二、注解版(快捷,适合运用在实际开发中)
使用配置文件,需要我们手动配置控制器映射器,控制器适配器和视图解析器;使用注解,不用再配置控制器映射器和控制器适配器,而只需要配置视图解析器。
web.xml
在SpringMVC里,只需要配置DispathcerServlet
这一个Servlet
即可。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<!-- 以下代码,可以通用,不要重复写 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 关联一个SpringMVC的配置文件:[servlet-name]-servlet.xml -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-servlet.xml</param-value>
</init-param>
<!-- 启动级别1 -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
springmvc-servlet.xml
这个文件里的代码也基本固定。做了四件事:
- 打开
component-scan
- 设置让Spring MVC不处理静态资源
- 打开注解
- 配置视图解析器
注意这里我们开启了component-scan
,这样就无需把每一个bean都注册到Spring的XML配置文件中,因为每个类的@Component
注解会被扫描到并将该类自动标记在Spring中注册成bean。
<?xml version="1.0" encoding="UTF-8"?>