1. MVC概念
- Model:模型 Java Bean
- View:视图 jsp
- Controller:控制器 Servlet
2. SpringMVC流程图
helloworld工程的运行流程:
- 客户端发送请求
- 来到tomcat服务器
- 前端控制器收到所有请求
- 看请求地址和哪个@RequestMapping的标注匹配,来找到哪个类和哪个方法
- 前端控制器找到目标处理类和处理方法,直接利用反射执行目标方法
- 方法执行完产生返回值,作为页面的跳转地址
- 视图解析器对返回值进行拼串,得到完整的页面地址
- 前端控制器根据页面地址转发到页面
3. 包含模块
优点:分工明确,扩展灵活
1. 前端控制器(DispatcherServlet)
- 拦截所有请求,并智能派发,在web.xml中配置。
2. 请求到处理器映射(HandlerMapping)
3. 处理器适配器(HandlerAdapter)
4. 视图解析器(ViewResolver)
- 解析页面地址,可以简化方法的返回值,返回值就是目标页面地址,自动拼接前缀、返回值和后缀字符串
5. 处理器或页面控制器(Controller)
6. 验证器( Validator)
7. 命令对象(Command)
- 请求参数绑定到的对象就叫命令对象
8. 表单对象(Form Object)
- 提供给表单展示和提交到的对象就叫表单对象
4. 配置细节
- 在web.xml中指定前端控制器的配置文件,如果不指定会去默认找一个文件,在WEB-INF下创建一个 前端控制器名-servlet.xml文件
- servlet-mapping中的url-pattern标签
/:拦截所有请求,但不拦截jsp页面
/*:拦截所有请求,包括jsp