一、学习指南
1.基础知识:
1)什么是springMVC;
2)springMVC框架原理(掌握);
3)springMVC入门程序;
- a.非注解的处理器映射器,非注解的处理器适配器;
- b.注解的处理器映射器,注解的处理器适配器;
- 目的:学习前段控制器,处理器映射器,处理器适配器,视图解析器;
4)springMVC与Mybatis整合(掌握);
5)springMVC注解开发:
- 常用的注解学习;
- 参数绑定(简单类型,pojo,集合类型);
- 自定义参数绑定(掌握)(CTO常设计);
6)springMVC与struts2的区别;
2.高级应用:
1)参数绑定(集合类型);
2)数据回显;
3)上传图片;
4)json数据交互;
5)RESTful支持;
6)拦截器;
二、springMVC框架:
1.什么是springMVC:
springMVC是spring框架的一个模块,springMVC和spring无需中间整合层进行整合;
springMVC是一个基于MVC的web框架;
2.什么是MVC:
MVC是一个设计模式,为了更好把系统框架框架维护扩展;
MVC在b/s系统的应用:
3.springMVC框架:
三、程序开发:
1.配置前端控制器:(web.xml)
<!--配置springMVC的dispatcherServlet-->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--contextConfigLocation配置springMVC加载的配置文件,
如果不配置contextConfigLocation,默认加载的是/WEB-INF/servletname-servlet.xml(springmvc-servlet.xml)-->
<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>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<!--配置参数:
1)*.action,访问以.action结尾由DispatcherServlet进行解析;
2)/,所有访问的地址都由DispatcherServlet进行解析,对于静态文件的解析需要配置不让DispatcherServlet解析,使用此种方式可以实现RESTful风格的url;
3)/*,此种配置错误;-->
2.配置注解的处理器适配器与处理器映射器:(springmvc.xml)
- 不常用:
<!--注解映射器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
<!--注解适配器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
- 实际开发时使用:
<!-- 使用 mvc:annotation-driven代替上边注解映射器和注解适配器配置
mvc:annotation-driven默认加载很多的参数绑定方法,
比如json转换解析器就默认加载了,如果使用mvc:annotation-driven不用配置上边的RequestMappingHandlerMapping和RequestMappingHandlerAdapter-->
<mvc:annotation-driven></mvc:annotation-driven>
3.开发Handler:
实现Controller接口;
在controller中需要在类前添加注解@Controller (标识让容器管理创建对象)和在要处理url请求的方法前添加@Requestmapping("/requestURL");
4.视图编写
jsp文件,html文件等前端界面;
5.配置Handler:(springmvc.xml)
对于注解的Handler可以进行单个配置,实际开发中建议使用组件扫描。
1)单个配置:
<bean class="com.honey.ssm.controller.TestController"/>
2)组件扫描:(可以扫描controller,service等)
<context:component-scan base-package="com.honey.ssm.controller"></context:component-scan>
6.配置视图解析器:(springmvc.xml)
- jsp解析器:
<!-- 视图解析器这里配置前缀为jsp,vm所在的路径,后缀配置为jsp,vm,
所以在Controller中返回的时候只需要进行返回文件的名称就可以了,视图解析器会找到该名称的文件进行渲染 -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 配置jsp路径的前缀 -->
<property name="prefix" value="/WEB-INF/jsp/"/>
<!-- 配置jsp路径的后缀 -->
<property name="suffix" value=".jsp"/>
</bean>
- html解析器:
<!-- html视图解析器 必须先配置freemarkerConfig,注意html是没有prefix前缀属性的-->
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPath">
<value>/WEB-INF/view/html</value>
</property>
</bean>
<bean id="htmlviewResolver"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="suffix" value=".html" />
<property name="contentType" value="text/html;charset=UTF-8"></property>
</bean>
详见:https://blog.csdn.net/superdog007/article/details/56488550