1. 前端交互流程设计
前端交互 -> 根据需求设计前端交互流程
2. 设计 Restful 接口
什么是 Restful
- 兴起于 Rails
- 一种优雅的 URI 表述方式
- 资源的状态和状态转移
Restful 规范
- GET -> 查询操作
- POST -> 添加/修改操作
- PUT -> 修改操作
- DELETE -> 删除操作
URL 设计
/模块/资源/{标识}/集合1(名词)/...
/user/{uid}/friends -> 好友列表
/user/{uid}/followers -> 关注者列表
3. SpringMVC 整合 Spring
3.1 使用 SpringMVC 框架理论
Java 学习【框架篇(三)】SpringMVC(二) SpringMVC 执行原理 &一个 HelloSpringMVC 程序
请求方法细节处理
- 请求参数绑定
- 请求方式限制
- 请求转发和重定向
- 数据模型赋值
- 返回 json 数据
- cookie 访问
3.2 整合配置 SpringMVC 框架
webapp > WEB-INF > web.xml
Servlet 和 SpringMVC 的配置
<?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_3_1.xsd"
version="3.1"
metadata-complete="true">
<!-- 修改 servlet 版本为 3.1 -->
<!-- 配置 DispatcherServlet -->
<servlet>
<servlet-name>seckill-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 配置 SpringMVC 需要加载的配置文件
spring-dao.xml, spring-service.xml, spring-web.xml
Mybatis -> spring -> springMVC
-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/spring-*.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>seckill-dispatcher</servlet-name>
<!-- 默认匹配所有的请求 -->
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
resources > spring > spring-web.xml
SpringMVC 的配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsde
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!-- 配置 SpringMVC -->
<!-- 1:开启 SpringMVC 注解模式 -->
<!-- 简化配置:
(1)自动注册 DefaultAnnotationHandlerMapping, AnnotationMethodHandlerAdapter
(2)提供一系列:数据绑定、数字和日期的 format, @NumberFormat、@DataTimeFormat
xml, json 默认读写支持
-->
<mvc:annotation-driven/>
<!-- 2:静态资源默认 servlet 配置
1. 加入对静态资源的处理:js, gif, png
2. 允许使用"/"做整体映射
-->
<mvc:default-servlet-handler/>
<!-- 3:配置 jsp 显示 ViewResolver -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
<!-- 4: 扫描 web 相关的 bean -->
<context:component-scan base-package="org.seckill.web"/>
</beans>