一、通过配置文件开发
1、绑定DispatcherServlet
<servlet>
<servlet-name>MVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springMVC-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>MVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
2、配置适配器、视图解析器、映射器
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
<!--视图解析器:DispatcherServlet给他的ModelAndView-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver">
<!--前缀-->
<property name="prefix" value="/WEB-INF/jsp/"/>
<!--后缀-->
<property name="suffix" value=".jsp"/>
</bean>
3、编写Controller类
public class HelloController implements Controller {
@Override
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
ModelAndView mv = new ModelAndView();
mv.addObject("msg","HelloSpringMVC");
mv.setViewName("hello");
return mv;
}
}
4、配置Controller类
<bean id="/hello" class="Controller.HelloController"></bean>
二、通过注解开发
1、配置扫描路径
<context:component-scan base-package="Controller"></context:component-scan>
2、利用Controller和RequestMapping注解进行Controller类开发
@Controller
public class HelloController{
@RequestMapping(value = "/hello")
public ModelAndView index(HttpServletRequest request, HttpServletResponse response) throws Exception {
ModelAndView mv = new ModelAndView();
mv.addObject("msg","HelloSpringMVC");
mv.setViewName("hello");
return mv;
}
}
3、利用注解开发整体流程介绍
浏览器发送请求,若请求地址符合前端控制器中的url-pattern,该请求就会被前端控制器DispatcherServlet处理,前端控制器会读取SpringMVC的核心配置文件,通过扫描组件找到控制器,将请求地址和控制器中@RequestMapping注解的value属性进行匹配,若匹配成功,则进入该控制器方法,然后将结果返回视图解析器。