@RestController
//返回的是字符串,不会被视图解析器解析

@RequestMapping("/hello")//返回的是视图,会被视图解析器解析

通过SpringMVC来实现转发和重定向 - 无需视图解析器;

测试前,需要将视图解析器注释掉

  • 默认为forward转发(也可以加上

redirect转发需特别加

复制代码
@Controller
public class ResultSpringMVC {
   @RequestMapping("/rsm/t1")
   public String test1(){
       //转发
       return "/index.jsp";
  }

   @RequestMapping("/rsm/t2")
   public String test2(){
       //转发二
       return "forward:/index.jsp";
  }

   @RequestMapping("/rsm/t3")
   public String test3(){
       //重定向
       return "redirect:/index.jsp";
  }
}
复制代码

@ResponseBody//他就不会走视图解析器,会直接返回一个 字符串

Controller返回JSON数据

Jackson应该是目前比较好的json解析工具了

当然工具不止这一个,比如还有阿里巴巴的 fastjson 等等。

我们这里使用Jackson,使用它需要导入它的jar包;

1.导入依赖

  • <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
    <dependency>
       <groupId>com.fasterxml.jackson.core</groupId>
       <artifactId>jackson-databind</artifactId>
       <version>2.9.8</version>
    </dependency>
    
    

    2.乱码统一解决 我们可以在springmvc的配置文件上添加一段消息StringHttpMessageConverter转换配置!

  • 复制代码
    <mvc:annotation-driven>
       <mvc:message-converters register-defaults="true">
           <bean class="org.springframework.http.converter.StringHttpMessageConverter">
               <constructor-arg value="UTF-8"/>
           </bean>
           <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
               <property name="objectMapper">
                   <bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean">
                       <property name="failOnEmptyBeans" value="false"/>
                   </bean>
               </property>
           </bean>
       </mvc:message-converters>
    </mvc:annotation-driven>
    复制代码

    3.写个ObjectMapper对象将实体对象转化为Json

  • 复制代码
    @Controller
    public class UserController {
    @RequestMapping("/j1")
        @ResponseBody//他就不会走视图解析器,会直接返回一个 字符串
        public String json1() throws JsonProcessingException {
            //jackson,ObjectMapper
            ObjectMapper mapper = new ObjectMapper();
    
            //创建一个对象
            User user = new User(1, "秦疆一号", 12);
            //System.out.println(user);
    
            String str = mapper.writeValueAsString(user);
            return str;
        }
    复制代码

     

posted on   upupup-999  阅读(141)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南



点击右上角即可分享
微信分享提示