Java

SpringMVC-杂碎汇总

2020-06-14  本文已影响0人  张明学

获取HttpServletRequest与HttpServletResponse

  1. 在Controller中的方法参数中添加HttpServletRequest与HttpServletResponse
@RequestMapping("/info")
@ResponseBody
public BaseResponse info(HttpServletRequest request, HttpServletResponse response) {
    
}
  1. 通过Spring注入
@Autowired
private HttpServletRequest mRequest;

@Autowired
private HttpServletResponse mResponse;
  1. 通过RequestContextHolder获取
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
        HttpServletRequest httpServletRequest = servletRequestAttributes.getRequest();
        HttpServletResponse httpServletResponse = servletRequestAttributes.getResponse();

重定向与转发

  1. 原生的重定向与转发
// 重定向
response.sendRedirect("/info.jsp");
// 转发
request.getRequestDispatcher("/list.jsp").forward(request, response);
  1. SpringMVC的重定向与转发
@RequestMapping("/info")
public String info() {
    // 重定向,默认是redirect
    return "redirect:info";
}

@RequestMapping("/info")
public ModelAndView info() {
    // 重定向,默认是redirect
    return new ModelAndView("redirect:info");
}

@RequestMapping("/info")
public String info() {
    // 转发
    return "forward:list";
}

@RequestMapping("/info")
public ModelAndView info() {
    // 转发
    return new ModelAndView("forward:info");
}

ModelAndView

// 设置视图名称
public ModelAndView(String viewName) {
        this.view = viewName;
}
// 设置显示的视图如:MappingJackson2JsonView
public ModelAndView(View view) {
        this.view = view;
}
// 设置属性
public ModelAndView addObject(String attributeName, @Nullable Object attributeValue) {
        getModelMap().addAttribute(attributeName, attributeValue);
        return this;
}
上一篇 下一篇

猜你喜欢

热点阅读