SpringMVC响应页面及不同类型的数据,

目录

响应页面

响应数据

文本数据

响应POJO对象

​编辑

响应生命周期

视图解析器


控制器(Controller)处理完客户端请求后,生成的并返回给客户端的结果就是响应,响应的结果可以是静态页面,数据,HTML片段等。

响应页面

在springmvc中,跳转页面非常简单,只需返回一个字符串即可。

java 复制代码
    //响应页面,跳转页面
    @RequestMapping("/toJumpPage")
    public String toJumpPage(){
        System.out.println("跳转页面");
        return "page.jsp";
    }

打开浏览器输入:localhost:8080/toJumpPage,自动跳转到page.jsp。

响应数据

文本数据

响应文本数据,需要加上@RequestBody注解

java 复制代码
    //响应文本数据
    @RequestMapping("/toText")
    @ResponseBody
    public String toText(){
        System.out.println("返回纯文本数据");
        return "response text";
    }

响应POJO对象

响应POJO对象,只需要修改方法返回值为POJO,同时也要添加上@ResponseBody注解:

java 复制代码
    @RequestMapping("/toJsonPOJO")
    @ResponseBody
    public User toJsonPOJO(){
        System.out.println("返回json对象数据");
        User user = new User();
        user.setName("springmvc");
        user.setAge(12);
        return user;
    }

返回集合对象也是如此:

java 复制代码
    @RequestMapping("/toJsonPOJOList")
    @ResponseBody
    public List<User> toJsonPOJOList(){
        System.out.println("返回json对象数据集合");
        User user = new User();
        user.setName("spring");
        user.setAge(126);
        User user1 = new User();
        user1.setName("mvcspring");
        user1.setAge(99);
        List<User> list = new ArrayList<>();
        list.add(user);
        list.add(user1);
        return list;
    }

响应生命周期

  1. 请求接收:DispatcherServlet接收HTTP请求
  2. 处理器映射:HandlerMapping找到对应的Controller方法
  3. 方法执行:执行控制器逻辑并生成响应数据
  4. 视图解析:ViewResolver解析逻辑视图名
  5. 数据转换:HttpMessageConverter处理数据序列化
  6. 响应返回:通过ServletResponse输出最终结果

视图解析器

视图解析器(ViewResolver)是 Spring MVC 的核心组件之一,负责将控制器返回的逻辑视图名称(如 "home")转换为具体的物理视图资源(如 JSP、HTML 模板等)。其核心职责包括:

  • 路径映射:将逻辑视图名映射到实际文件路径(如 /WEB-INF/views/home.jsp)
  • 模板引擎支持:适配不同的视图技术(JSP、Thymeleaf、FreeMarker 等)
  • 视图优先级管理:支持多个视图解析器共存时的优先级控制
  • 安全性增强:防止直接暴露服务器文件路径
java 复制代码
@Configuration

public class WebConfig implements WebMvcConfigurer {
    @Bean
    public ViewResolver viewResolver() {
        //InternalResourceViewResolver是Spring MVC提供的一个视图解析器实现,它用于解析JSP文件作为视图。
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/views/");  //设置视图文件的前缀路径
        resolver.setSuffix(".jsp");             //设置了视图文件的后缀
        return resolver;
    }
}
相关推荐
LHICOD2 分钟前
Linux-2
java·linux·后端·jar·vmware·svm·vm
香蕉大香蕉(06敬畏市场)3 分钟前
MySQL 单点详解(03)
java·数据库·mysql·面试·八股·大厂实习
FRing0318 分钟前
JavaScript入门到精通三十三(异常处理、call方法、apply方法、bind方法、防抖、节流)
开发语言·前端·javascript
呆呆敲代码的小Y23 分钟前
【实战精选面试题】C# 面试题详细解答,按难易程度排序
android·java·游戏·c#·游戏开发·unity面试题·c#面试题
水无痕simon38 分钟前
3、工程重构
java·spring cloud·重构
阿里云基础软件1 小时前
Agent 任务提速 10.71%,内存占用降低 21.60%|Alibaba Cloud Linux 4 重大发布
java·linux·人工智能·操作系统·agent
计算机魔术师1 小时前
OpenAI 砍掉 100 亿融资目标,AI 资本市场的温度计变了
前端
jktantan1 小时前
(二)Vue 3 的 attrs 不是响应式:el-form 扩展属性同步的三种方案
前端·javascript·vue.js·element-plus
Wang's Blog2 小时前
Java 项目实战: 交友项目 - 项目:需求分析与滑动数据设计
java·开发语言·交友
前端 贾公子2 小时前
第 5 章:Codex 从可运行程序到可交付工具
java·前端·数据库