zoukankan      html  css  js  c++  java
  • SpringMVC中的@requestMapping问题与controller方法的返回值问题

    @requestMapping

    1、url映射

      定义controller方法对应的url,进行处理器映射使用

      @RequestMapping("/items")

      public class ItemsController {...}

    2、窄化请求映射

    3、限制http请求方法

    出于安全性考虑,对http的链接进行方法限制。

    如果限制请求为post方法,进行get请求,报错:

    但是因为method={}是数组,所以可以把POST与GET方法都写进去

    controller方法的返回值

    1、返回ModelAndView

      需要方法结束时,定义ModelAndVIew,将Model 和View分别进行设置:

    modelAndView.addObject("item", itemsCustom);

    modelAndView.setViewName("editItem");

    2、返回string

      若controller方法返回string

    a.表示返回逻辑视图名(所谓逻辑视图名即:在springMMVC里配置了前缀和后缀,所以具体路径简化为去掉前缀和后缀的路径)

    真正视图(jsp路径)=前缀+逻辑视图名+后缀

    b、redirect重定向

     商品修改提交后,重定向到商品查询列表。

     redirect重定向特点:浏览器地址栏中的url会变化。修改提交的request数据无法传到重定向的地址。因为重定向后重新进行requestrequest无法共享)

    c、forward页面转发

    通过forward进行页面转发,浏览器地址栏url不变,request可以共享。

    3、返回void

    controller方法形参上可以定义requestresponse,使用requestresponse指定响应结果:

    a、使用request转向页面,如下:

    request.getRequestDispatcher("页面路径").forward(request, response);

    b、也可以通过response页面重定向:

    response.sendRedirect("url")

    c、也可以通过response指定响应结果,例如响应json数据如下:

    response.setCharacterEncoding("utf-8");

    response.setContentType("application/json;charset=utf-8");

    response.getWriter().write("json串");

     

  • 相关阅读:
    LVS负载均衡软件使用及(LVS简介、三种工作模式、十种调度算法)
    Nginx+Tomcat实现负载均衡!
    Nginx实现HTTP及TCP负载均衡
    Nginx 反向代理报400错误解决方法!
    Session服务器之Session复制!
    反射、内置方法和元类
    多态和绑定方法
    封装和继承
    面向对象编程
    软件目录规范下的AMT+购物车(简易版)的实现
  • 原文地址:https://www.cnblogs.com/lxc116317/p/9431056.html
Copyright © 2011-2022 走看看