SpringMVC
(1)SpringMVC是什么?
为了简化基于MVC架构的web应用程序的开发而推出的一个框架。 SpringMVC是Spring整个大的框架的一部分。
(2)SpringMVC的五大组件
a.DispatcherServlet 前端控制器
b.HandlerMapping 映射处理器
c.Controller 处理器
d.ModelAndView 存放处理结果
e.ViewResolver 视图解析器
(3)五大组件的关系:
step1.DispatcherServlet负责接收请求,收到请求之后,依据
HandlerMapping的配置调用对应的Controller来处理。
step2.Controller返回处理结果(处理结果会封装成一个Model
AndView对象)给DispatcherServlet。
step3.DispatcherServlet依据ViewResolver的解析,调用对应的jsp。
springmvc.png
(4)编程步骤
step1.导包。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.2.8.RELEASE</version>
</dependency>
step2.添加Spring的配置文件。
step3.配置DispatcherServlet。(web.xml)
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<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>springmvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
step4.添加Controller类。
public class HelloController implements Controller{
public ModelAndView handleRequest(
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
System.out.println(
"HelloController的handleRequest方法");
/*
* ModelAndView用来封装处理结果。
* 该类有两个构造器:
* ModelAndView(String viewName)
* ModelAndView(String viewName,Map data)
* 注:
* viewName:视图名。
* data:数据。
*/
return new ModelAndView("hello");
}
}
step5.添加jsp。
step6.在Spring配置文件里面,配置HandlerMapping、ViewResolver。
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/hello.do">helloController</prop>
</props>
</property>
</bean>
<bean id="helloController"
class="controller.HelloController"/>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/"/>
<property name="suffix" value=".jsp"/>
</bean>
(5)执行过程
hello.png