博客
关于我
SpringMVC---使用
阅读量:335 次
发布时间:2019-03-04

本文共 2229 字,大约阅读时间需要 7 分钟。

关键词解析

@RequestMapping

在Spring MVC中,@RequestMapping注解用于定义控制器方法的URL映射。通过在方法或类中添加该注解,可以将浏览器发送的请求 URL 与控制器中的方法相关联。例如:

public class TestController {    @RequestMapping("/one")    public String handleRequest() {        return "success";    }}

当访问 http://localhost:8080/one 时,会调用 handleRequest 方法,返回的字符串会被视图解析器解析并跳转到相应的页面。

@ResponseBody

@ResponseBody注解用于将方法返回的数据直接作为HTTP响应体发送到客户端,而不是映射到视图解析器。例如:

public class TestController {    @ResponseBody    @RequestMapping("/api/data")    public Map
getData() { return new HashMap<>(); }}

如果没有使用@ResponseBody,返回的数据会被视图解析器处理,通常会转换为视图文件。


实现转发和重定向

在Spring MVC中实现转发和重定向有两种常用方式:redirectforward

  • redirect:用于重定向,返回一个新的URL。例如:
  • public class TestController {    @RequestMapping("/test-redirect")    public String redirectAction() {        return "redirect:/other-url";    }}
    1. forward:用于转发,会将请求转发到指定的URL。例如:
    2. public class TestController {    @RequestMapping("/test-forward")    public String forwardAction() {        return "forward:/another-url";    }}

      需要注意的是,forward 返回的字符串会被视图解析器拼接到当前请求的URL上。


      没有视图解析器的情况

      如果没有启用视图解析器,可以直接在方法返回字符串或路径来实现转发或重定向。例如:

      public class TestController {    @RequestMapping("/test")    public String forward() {        return "/path/to/forward.jsp";    }}

      默认情况下,返回字符串会被视图解析器处理,因此需要禁用解析器才能直接返回路径。


      数据处理

      传递参数

      如果需要将前端传递的数据传递给控制器,可以使用@ModelAttribute 或直接在方法参数中定义。例如:

      public class UserController {    @RequestMapping("/user")    public String showUser(@ModelAttribute User user) {        System.out.println("显示用户:" + user.getName());        return "user-page";    }}

      User对象需要有相应的字段(如 nameage),前端需要通过查询参数传递这些数据。

      提交域名名称与处理方法参数不一致

      如果前端提交的域名名称与方法参数名称不一致,可以使用@RequestParam注解指定域名字段名。例如:

      public class UserController {    @RequestMapping("/user")    public String showUser(@RequestParam("username") String name) {        System.out.println("用户名:" + name);        return "user-page";    }}

      乱码问题

      为了解决中文乱码问题,可以在web.xml中配置Spring提供的CharacterEncodingFilter。例如:

      CharacterEncodingFilter
      org.springframework.web.filter.CharacterEncodingFilter
      encoding
      UTF-8
      CharacterEncodingFilter
      /*

      通过以上配置,可以确保请求参数和响应内容都使用UTF-8编码。

    转载地址:http://crlq.baihongyu.com/

    你可能感兴趣的文章
    python 列表函数
    查看>>
    Python 列表删除相同的元素
    查看>>
    python 列表生成式
    查看>>
    Python 列表解析 大文件
    查看>>
    python 列表转字典方法
    查看>>
    Python 列表(List)概述-ChatGPT4o作答
    查看>>
    Python网络爬虫基础进阶到实战教程
    查看>>
    Python 初学者需要知道的四条建议
    查看>>
    Python 判断字符串是否包含子字符串
    查看>>
    python 判断当前时间是否为零点
    查看>>
    python 利用pandas读取本地中CSV文件的指定列 列名重命名 并保存回本地
    查看>>
    python 利用pyspark读取HDFS中CSV文件的指定列 列名重命名 并保存回HDFS
    查看>>
    python 利用pyttsx3文字转语音
    查看>>
    python 利用已有Ner模型进行数据清洗合并
    查看>>
    python 到大数据开发工程师_如何成为一个大数据开发工程师?
    查看>>
    python 加密解密(base64, AES)
    查看>>
    Python 包管理器和 Node.js
    查看>>
    python 启动提示IDLE's subprocess didn't make conne...
    查看>>
    Python 和 OpenCV.如何检测图像中的所有(填充)圆形/圆形对象?
    查看>>
    Python 和 RabbitMQ - 聆听来自多个渠道的消费事件的最佳方式?
    查看>>