MVC的五大核心组件
DispatcherServlet 请求入口
HandlerMapping 请求的转发 让请求和控制器建立一一对应的关系
Controller 真正处理请求的组件
ModelAndView 封装数据信息和视图信息的对象
ViewResolver 视图处理器
Spring MVC编写步骤
- 建立项目 导入jar包(ico mvc) 斌拷贝配置文件到src下 在WEB-INF下建立一个jsp页面
- 在WEB-INF下 的web.xml中 配置DispatcherServlet 并使用初始化参数 关联Spring 的配置文件contextConfigLocation
- 在Spring配置文件中 配置HandlerMapping的实现类SimpleUrlHandlerMapping 并且配置请求和控制器的对应关系
- 编写一个控制器的实现类 实现Controller接口 在接口方法中 返回ModelAndView 同时在容器中创建控制器对象
- 在Spring 配置文件中 配置 ViewResolver 的实现类 InternalResourceViewResolver 需要配置前缀和后缀
使用Spring MVC 访问WEB-INF 下的jsp
基于标注的Spring MVC
- 建立一个项目 导入jar包 (ioc aop mvc) 拷贝配置文件到src下 并在WEB-INF下建立jsp文件
- 在web.xml中配置 DispatcherServlet 并通过初始化参数 contextConfigLocation 关联Spring 配置文件
- 开启组件扫描 和 标注形式的mvc
<context:component-san base-package=”” />
<mvc:annotation-driven />
底层创建了一个 RequestMappingHandlerMapping 的组件
- 写一个java类 不用实现Controller接口
@RequestMapping(“/请求路径”);
控制器方法的返回值可以是 String 也可以是 ModelAndView 方法名随意 参数随意
在类上加上对于的标注 @Controller 可以把普通类 变成Controller对象
- 配置视图处理器
applicationContext 配置如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!-- 配置HandlerMapping的实现类--> <bean id="handerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <!-- 让请求和控制器建立一一对应关系 --> <property name="mappings"> <props> <prop key="toHello.do" >testController</prop> </props> </property> </bean>
<!-- 开启组件扫描--> <context:component-scan base-package="com.xdl"></context:component-scan> <!-- 开启标注形式的mvc--> <mvc:annotation-driven />
<!--配置视图处理器--> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/"></property> <property name="suffix" value=".jsp"></property> </bean> </beans>
|