Spring MVC : Spring MVC 框架是一个轻量级WEB 层框架,实现Model-View-Controller 模式来很好地将数据、业务与展现进行分离
Spring MVC 的设计是围绕DIspatcherServlet 展开的,DispatchServlet 通过可配置的 handler mappings、view resolution、locale以及theme resolution来处理请求并且转到对应的视图。
Spring MVC 工作流程
基本的WEB 请求相应模型
Spring MVC 的工作流程
入门案例
步骤:
1、创建一个动态的web项目 DynamicWebProject
2、引包
3、Web.xml
<!-- springMVC 核心servlet -->
<web-app>
<servlet>
<servlet-name>golfing</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>golfing</servlet-name>
<url-pattern>/golfing/*</url-pattern>
</servlet-mapping>
</web-app>
4、 配置文件
<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"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
</beans>
5、配置控制器
xml 相关代码:
<!-- 提供一个映射处理器 -->
<bean id="handlerMapping" class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
<!-- 提供自定义控制器 可以加通配符* -->
<bean name="/helloWorld.do" class="com.kgc.controllers.HelloWorldController"></bean>
<!-- 配置视图解析器 -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 前缀 -->
<property name="prefix" value="/WEB-INF/jsps/"/>
<!-- 后缀 -->
<property name="suffix" value=".jsp"/>
</bean>
自定义控制器 java 代码:
public class HelloWorldController implements Controller {
/*
* 处理请求
*/
@Override
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
// 提供一个返回对象(ModeAndView)
ModelAndView mav = new ModelAndView();
// 添加要在页面上显示的数据
mav.addObject("msg","hello world");
// 要返回的逻辑视图名
mav.setViewName("hello");
return mav;
}
}
注: tomcat 访问地址 :http://localhost:8080/HelloWorld/golfing/helloWorld.do
jsp页面文件存在 jsps 文件下 的 hello.jsp , 访问时用自定义控制器配置的的地址: helloWorld.do ,可在前后加 * 作为通配 符
Spring MVC 知识点
- 映射处理器
- 控制器
- 注解驱动
- 数据绑定
- 数据校验、类型转换、格式化
- 文件上传
- 拦截器
- 视图解析器
- 表单处理
- 国际化/本地化
- 异常处理
- 重定向及转发
- FlashMapManager/ SSM小案例