springMVC
(1).什么是springMVC?
是一个mvc框架,是spring框架整个的一部分,用来简化基于mvc架构的web应用开发
(2).五大组件
DispatcherServlet(前端控制器)
springMVC的核心组件,接收请求,依据HandlerMapping的配置调用相应得模型来处理
HandlerMapping
包含了请求路径和模型之间的对相应关系
Controller(处理器)
Model,即M层,处理业务逻辑
ModelAndView
封装了处理结果
注意:处理结果除了数据之外,还有可能有视图名称
ViewResolver
DispatcherServlet依据ViewResolver的解析,调用真正的视图对象来生成相应的页面
(3).SpringMVC核心执行流程
注:五大组件的关系
a. DispatcherServlet收到请求之后,一句HandlerMapping的配置,调用相应的Controller来处理
b. Controller将处理结果封装成ModelAndView对象然后返回给DispatchServlet
c. DispatcherSerclet依据ViewResolver来解析。调用相应的视图对象(比如某个jsp)来生成相应的页面
(4). 编程步骤
- step1. 导包
- step2. 添加spring配置文件
- step3. 配置 DispatcherServle t控制器
<!--web.xml文件中-->
<servlet>
<servlet-name>SpringMVC01</servlet-name>
<servlet-name>org.springframework.web.servlet.DispatcherServlet</servlet-name>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>SpringMVC01</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
- step4. 编写Controller处理器(Model层),负责业务逻辑的处理,需要实现Controller接口
public class HelloControler implements Controller {
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
System.out.println("HelloController");
/*
* ModelAndView有两个构造器
* (1)MoDelAndView(String viewName)
* viewName是视图名
* (2)MoDelAndView(String viewName,Map data),Map用于封装处理的结果
*/
return new ModelAndView("hello");
}
}
-
step5. 编写视图.jsp文件
-
step6. 在spring配置文件中添加以下配置
a. 配置HandlerMapping映射
b.配置对应的处理器Controller
c. 配置viewResolver视图解析器
案例运行结果:
上述案例执行过程
http://ip:port/springmvc01/hello.do