javaConfig下的springmvc配置

一、静态资源过滤

  • XML的配置

    1. <mvc:resources mapping="/**" location="/"/>
  • java配置

继承WebMvcConfigurationSupport 重写addResourceHandlers方法

  1. @Configuration
  2. @ComponentScan(basePackages = "org.javaboy")
  3. public class SpringMVCConfig extends WebMvcConfigurationSupport {
  4. @Override
  5. protected void addResourceHandlers(ResourceHandlerRegistry registry) {
  6. registry.addResourceHandler("/js/**").addResourceLocations("classpath:/");
  7. }
  8. }

二、视图解析器

  • xml的配置

    1. <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    2. <property name="prefix" value="/WEB-INF/jsp/"/>
    3. <property name="suffix" value=".jsp"/>
    4. </bean>
  • java配置

    继承WebMvcConfigurationSupport 重写configureViewResolvers方法

    1. @Configuration
    2. @ComponentScan(basePackages = "org.javaboy")
    3. public class SpringMVCConfig extends WebMvcConfigurationSupport {
    4. @Override
    5. protected void configureViewResolvers(ViewResolverRegistry registry) {
    6. registry.jsp("/jsp/", ".jsp");
    7. }
    8. }

三、路径映射

有的时候,我们的控制器的作用仅仅只是一个跳转,里边没有任何业务逻辑,像这种情况,可以不用定义方法,可以直接通过路径映射来实现页面访问。

  • xml的配置

    1. <mvc:view-controller path="/hello" view-name="hello" status-code="200"/>
    2. <!--这行配置,表示如果用户访问 /hello 这个路径,则直接将名为 hello 的视图返回给用户,并且响应码为 200,这个配置就可以替代 Controller 中的方法。-->
  • java配置

    继承WebMvcConfigurationSupport 重写addViewControllers方法

    1. @Configuration
    2. @ComponentScan(basePackages = "org.javaboy")
    3. public class SpringMVCConfig extends WebMvcConfigurationSupport {
    4. @Override
    5. protected void addViewControllers(ViewControllerRegistry registry) {
    6. registry.addViewController("/hello3").setViewName("hello");
    7. }
    8. }

四、Json配置

SpringMVC 中,默认提供了 Jackson 和 gson 的 HttpMessageConverter ,分别是:MappingJackson2HttpMessageConverter 和 GsonHttpMessageConverter 。

正因为如此,我们在 SpringMVC 中,如果要使用 JSON ,对于 jackson 和 gson 我们只需要添加依赖,加完依赖就可以直接使用了。具体的配置是在 AllEncompassingFormHttpMessageConverter 类中完成的

如果开发者使用了 fastjson,那么默认情况下,SpringMVC 并没有提供 fastjson 的

HttpMessageConverter ,这个需要我们自己提供,如果是在 XML 配置中,fastjson 除了加依赖,还要显式配置

HttpMessageConverter,如下:

  • xml的配置

    1. <mvc:annotation-driven>
    2. <mvc:message-converters>
    3. <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
    4. </bean>
    5. </mvc:message-converters>
    6. </mvc:annotation-driven>
  • java的配置

    1. @Configuration
    2. @ComponentScan(basePackages = "org.javaboy")
    3. public class SpringMVCConfig extends WebMvcConfigurationSupport {
    4. @Override
    5. protected void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    6. FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
    7. converter.setDefaultCharset(Charset.forName("UTF-8"));
    8. FastJsonConfig fastJsonConfig = new FastJsonConfig();
    9. fastJsonConfig.setCharset(Charset.forName("UTF-8"));
    10. converter.setFastJsonConfig(fastJsonConfig);
    11. converters.add(converter);
    12. }
    13. }

javaConfig下的springmvc配置的更多相关文章

  1. Spring-MVC配置Gson做为Message Converter解析Json

    Spring-MVC配置Gson做为Message Converter解析Json 在学习Spring的时候看到可以使用@RequestBody 和@ResponseBody注解来是的Spring自动 ...

  2. SpringMVC配置实例

    一.SpringMVC概述 MVCII模式实现的框架技术 Model--业务模型(Biz,Dao...) View--jsp及相关的jquery框架技术(easyui) Contraller--Dis ...

  3. SpringMVC配置与使用

    一.MVC概要 MVC是模型(Model).视图(View).控制器(Controller)的简写,是一种软件设计规范,用一种将业务逻辑.数据.显示分离的方法组织代码,MVC主要作用是降低了视图与业务 ...

  4. 3.2.2 SpringMVC配置式开发

    SpringMVC配置式开发 1. SpringMVC运行原理(执行过程) 2. 需求 用户提交一个请求, 服务端处理器接收到请求后, 给出一条信息,在相应页面中显示该条信息 3. 开发步骤 (1) ...

  5. SpringMVC配置多视图-内容协商原理

    SpringMVC配置多视图-内容协商原理 2014年03月06日 16:46:59 日积月累_滴水石穿 阅读数:10964更多 个人分类: SpringMVC   Spring Framework ...

  6. Spring实战第七章————SpringMVC配置的替代方案

    SpringMVC配置的替代方案 自定义DispatherServlet配置 我们之前在SpittrWebAppInitializer所编写的三个方法仅仅是必须要重载的abstract方法.但还有更多 ...

  7. Spring Boot2 系列教程(十八)Spring Boot 中自定义 SpringMVC 配置

    用过 Spring Boot 的小伙伴都知道,我们只需要在项目中引入 spring-boot-starter-web 依赖,SpringMVC 的一整套东西就会自动给我们配置好,但是,真实的项目环境比 ...

  8. springmvc配置mybatis与hibernate的不同点

    相信每个人对springmvc+hibernate或者springmvc+mybatis都不会陌生,拿来一个项目也都会开发.但是自己配置的情况下却很少,即使自己配置过,长时间不写也会忘,在这里记录一下 ...

  9. 加载自定义目录下的springmvc.xml配置文件

    在默认情况下:springmvc框架的配置文件必须叫<servlet-name>-servlet.xml 且必须放在/WEB-INF/目录下,我们可以在web.xml文件中,为Dispat ...

随机推荐

  1. 计算机体系结构:量化研究方法(中文第五版)_扫描版_23.5M.pdf

  2. 2019 SDN上机第六次作业

    1.实验拓扑 (1)实验拓扑 (2)使用python脚本完成拓扑搭建 from mininet.topo import Topo class Mytopo(Topo): def __init__(se ...

  3. Codeforces Round #554 (Div. 2) C 数论

    https://codeforces.com/contest/1152/problem/C 题意 a和b,找到k,使得lcm(a+k,b+k)最小(a,b:1e9) 题解 设gcd=gcd(a+k,b ...

  4. ORB-SLAM2初步--局部地图构建

    一.局部地图构建简介 为什么叫“局部”地图构建,我的理解是这个线程的主要任务是像地图中插入关键帧(包括地图点等信息),以及需要进行LocalBA优化一个局部地图,这是相对于回环检测时进行的全局优化来说 ...

  5. ​为什么我会选择走 Java 这条路?

    ​本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点 ...

  6. 工具类docker for k8s

    alpine-tools 安装了常用 工具,curl,telnet, wget 等 apiVersion: extensions/v1beta1 kind: Deployment metadata: ...

  7. 探索 ASP.Net Core 3.0系列三:ASP.Net Core 3.0中的Service provider validation

    前言:在本文中,我将描述ASP.NET Core 3.0中新的“validate on build”功能. 这可以用来检测您的DI service provider是否配置错误. 具体而言,该功能可检 ...

  8. resharper 8.2

    用户名:ronle注册码:ZoJzmeVBoAv9Sskw76emgksMMFiLn4NM

  9. win10挂载efi分区

    以管理员权限运行CMD然后输入:diskpart,启动diskpart工具,在diskpart的提示符下依次输入 * list disk-------------------------列出系统中拥有 ...

  10. 为什么Linux 普通用户在虚拟机界面可以reboot 用ssh 不能reboot

    应该是有 类似的权限控制. 如果是 localhost , 那么普通用户允许重启. 如果不是localhost,  比如ssh远程的,必须验证root权限.