MVC
MVC模型
M-Model模型
处理业务逻辑.包含两层:业务数据和业务处理。实体类、DAO、Service
V-View视图
显示界面和用户交互.
C-Controller控制器
M和V交互桥梁
Spring Web MVC
Spring框架的功能模块.
核心组件
1.DispatcherServlet(控制器,请求入口)
在web.xml配置DispatcherServlet
2.HandlerMapping(控制器,请求派发)
在Controller类或方法上使用@RequestMapping注解指定对应的http请求
3.Controller(控制器,请求处理流程)
Controller执行具体业务,可调用DAO,实现Controller接口及约定方法
public class HelloController implements Controller{
public ModelAndView handleRequest(
HttpServletRequest req,HttpServletResponse res
)throws Exception{
System.out.println("Hello Spring!");
return new ModelAndView("hello");
}
}
4.ModelAndView(模型,封装业务处理结果和视图)
ModelAndView(String viewName)
ModelAndView(String viewName,Map model)
viewName是jsp页面的名字
model的数据存储到request的attribute中
5.ViewResolver(视图,视图显示处理器)
InternalResourceViewResolver使用
<bean id="标识符" class="org.springframework.web.servlet.view.InternalResourceViewResolver>
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
Controller注解应用
在spring的xml配置中开启组件扫描
<context:component-scan base-package="包名" />
RequestMapping注解应用
开启@RequestMapping注解映射,需要在Spring的xml配置
1.Spring 3.1之前
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" />
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandleAdapter" />
2.Spring 3.2后
<mvc:annotation-driven />