美文网首页
6. 处理器

6. 处理器

作者: 月影追猎者 | 来源:发表于2019-10-25 16:55 被阅读0次

映射请求

@Controller
@RequestMapping("请求映射信息,可选")
public class Controller类 {
    @RequestMapping("细节映射信息")
    public ModelAndView 方法() {
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("key", value);
        modelAndView.setViewName("请求转发目标位置");
        return modelAndView;
    }
}

Controller方法参数类型:

  1. HttpServletRequest
    通过request对象获取请求信息
  2. HttpSession
    通过Session获取对象
  3. Model或ModelMap
    ModelMap是Model接口的实现类,将model数据填充到request域,向页面传递数据

Controller方法返回值类型:

  1. ModelAndView
    定义ModelAndView类对象并返回,对象可添加model数据,指定view视图。
  2. String
    可返回逻辑视图名、redirect重定向、forward请求转发
    重定向 return "redirect:重定向url";
    请求转发 return "forward:转发url";
  3. void
    可以在形参列表中定义request与response并指定响应结果。
request.getRequestDispatcher("url").forward(request, response);
response.sendRedirect("url");
response.setCharacterEncoding("utf-8");
response.setContentType("application/json;charset=utf-8");
response.getWriter().write("json字符串");

参数绑定
从客户端请求key / value数据,经过参数绑定,将数据绑定至controller方法的形参。
默认支持类型:HttpServletRequest、HttpServletResponse、HttpSession、Model或ModelMap
简单类型绑定:支持整型、字符串、浮点数(单精度/双精度)、布尔型,当请求参数与处理器形参一致时,请求参数与处理器形参将进行绑定。

// 处理器方法:
public String editItem(Model model, Integer id) {}
// 请求url?id=ID值

或通过@RequestParam对简单类型参数进行绑定。

public String editItem(Model model, @RequestParam(value="id", defaultValue="默认值") Integer id) {}

简单POJO绑定:POJO对象属性与传入参数对应

public String editItem(Item item) {}

集合类型绑定:支持数组、List、Map

// 批量删除
public String delItems(Integer[] items) {}

跳转与传值
通过处理器方法的返回值实现跳转

// 无返回值,需要配合HttpServletResponse使用,否则404错误
public void handler() {}
// 返回String类型,请求转发
public String handler() {
    return "forward:/跳转视图名";
}
// 返回String类型,重定向
public String handler() {
    return "redirect:/跳转视图名";
}
// 返回ModelAndView类型,请求转发,可携带数据
public ModelAndView handler() {
    ModelAndView modelAndView  = new ModelAndView();
    modelAndView.addObject("attr", Object); // 相当于request.setAttribute("attr", Object);
    modelAndView.setViewName("视图名");
    return modelAndView;
}

处理Ajax请求
Ajax请求在服务器端不需要跳转,只需要返回数据,即将需要返回的数据作为处理器方法的返回值,使用@ResponseBody注解表示该方法返回数据而非跳转。对于复合对象或集合,在处理器方法中返回。

相关文章

  • 6. 处理器

    映射请求 Controller方法参数类型: HttpServletRequest通过request对象获取请求信...

  • JMeter-前置处理器

    Jmeter执行顺序0.配置元件1.前置处理器2.定时器3.取样器4.后置处理器5.断言6.监听器 一、JSR22...

  • jmeter第一篇_组件的执行顺序

    执行顺序 1.配置元件 2.前置处理器 3.定时器 4.采样器 5.后置处理器 6.断言 7.监控器 组件的作用域...

  • JMeter性能测试工具快速入门教程9处理器

    简介 处理器用于修改其范围内的采样器。 有两种类型的处理器:预处理器和后处理器 预处理器: 预处理器在进行采样器请...

  • spring的后置处理器

    spring的后置处理器有两类,bean后置处理器,bf(BeanFactory)后置处理器。bean后置处理器作...

  • 进程与线程

    处理器架构 主要有两种选择:单个多核处理器和多个单核处理器。 核心 处理器核心是CPU重要组成部分。处理器所有的计...

  • 【第22篇】Netty解码器剖析与入站出站处理器

    Netty的处理器重要概念 1、Netty的处理器可以分为两大类:入站处理器与出站处理器 2、入站处理器的顶层是C...

  • 什么是内存栅栏

    现代多核处理器中,每个处理器内核都可能有一层或者多层缓存用来改善处理器性能。在处理器层面,内存模型定义了一个处理器...

  • Anroid APT

    前言 APT:Annotation Processor Tool(注解处理器) 什么时注解处理器 注解处理器是(A...

  • JMeter处理器09

    前言 在jmeter中提供了两种处理器,用于修改请求数据或处理响应数据。 前置处理器 后置处理器 前置处理器 前置...

网友评论

      本文标题:6. 处理器

      本文链接:https://www.haomeiwen.com/subject/cbvsvctx.html