spring MVC 简介
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。
Spring MVC 体系结构:
控制器:DispatcherServlet,Controller
映射处理器:HandlerMapping
模型和视图组件:ModelAndView
视图解析器:ViewResolver
spring MVC 工作流程
1) 客户端发送请求,请求到达DispatcherServlet主控制器
2) DispatcherServlet控制器调用HandlerMapping处理
3) HandlerMapping负责维护请求和Controller组件对应关系,HandlerMapping根据请求调用对应的Controller组件处理
4) 执行Controller组件的业务处理方法,需要访问数据库可调用DAO等
5) Controller业务方法处理完毕后,会返回一个ModelAndView对象。该组件封装了模型数据和视图标识
6) Servlet主控制器调用ViewResolver组件根据ModelAndView信息处理。定位视图资源,生成视图响应信息。
7) 控制器将响应信息为客户端输出
<context:component-scan/> 扫描指定的包中的类上的注解,常用的注解有:
@Controller 声明Action组件
@Service 声明Service组件@Service("myMovieLister")
@Repository 声明Dao组件
@Component泛指组件, 当不好归类时.
@RequestMapping("/menu")请求映射
@Resource 用于注入,( j2ee提供的 ) 默认按名称装配,@Resource(name="beanName")
@Autowired 用于注入,(srping提供的) 默认按类型装配
@Transactional( rollbackFor={Exception.class}) 事务管理
@Scope("prototype") 设定bean的作用域
下面是一个入门实例:实现登录功能(注解方式)
web.xml配置:如下图所示:
bean:user 如图:
controller:如图:
login.ftl 如图:
main.ftl如下图:
在浏览器中输入:http://localhost:8080/SpringMVCDemo2/toLogin 如下图:
输入tom 1234 点击登录 如图:
输入错误信息点击登录 如图: