一、使用Spring MVC只需要在web.xml配置DispatcherServlet,再定义视图解析器和业务逻辑处理流程即可,所以主要看DispatchServlet;
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:config/spring-mvc.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
DispatchServlet继承了HttpServlet,在Servlet的init()调用时DispatchServlet执行Spring MVC的初始化工作
{
//初始化MultipartResolver,用于文件上传服务
//处理应用的国际化问题
//定义用户设置的请求映射关系
//根据Handler类型定义不同的处理规则
//将指定的ViewName按照定义的RequestToViewNameTranslator替换成想要的格式,并加上前缀或后缀
//将View解析成页面
}
二、Spring MVC必须定义和扩展的组件有三个:
定义URL映射规则;
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
实现业务逻辑的Handler实例对象;
渲染模板资源。
<!-- 避免IE在ajax请求时,返回json出现下载 -->
<bean id="jacksonMessageConverter"
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
<bean id="stringConverter"
class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
</list>
</property>
</bean>
<!-- 附送 上传配置 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!--100*1024*1024*1024即1G 指定所上传文件的总大小不能超过1G。注意maxUploadSize属性的限制不是针对单个文件,而是所有文件的容量之和 -->
<property name="maxUploadSize" value="1073741824" />
<property name="defaultEncoding" value="utf-8" />
<!-- 最大内存大小 (1G) -->
<!-- <property name="maxInMemorySize">
<value>1073741824</value>
</property> -->
</bean>
<!-- 输出对象转JSON支持 -->
<bean id="jsonConverter"
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="stringConverter" />
<ref bean="jsonConverter" />
</list>
</property>
</bean>
<!-- 对模型视图添加前后缀 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/view/" p:suffix=".jsp" />
说了Spring MVC就稍微再说下前后台jsp数据交互的吧
1、Model
@RequestMapping("/test")
public String list(HttpServletRequest request, Model model) throws Exception {
model.addAttribute("id", "");
model.addAttribute("name", "");
return "test/test";//跳转jsp页面
}
2、ModelAndView
类似Model
3、@SessionAttributes({” “,”“})
// 基本不用