猿问

在每个请求之前进行 Spring MVC 会话检查

我正在使用 spring boot 和 mvc 开发一个网络应用程序。我有控制器,在每个控制器中我都必须检查会话是否存在。在 getAll 方法的示例中,我正在检查会话是否存在,但我必须在每个方法、每个控制器中编写此检查代码。有什么捷径可以做到吗?


@Controller

@RequestMapping("/Sale")

public class SaleController

{

    @Autowired

    private SaleRepository saleRepository;

    @GetMapping

    public ModelAndView getAll(@SessionAttribute(required=false) User user)

    {

        if(user==null)

            return new ModelAndView("redirect:/");

        else

        {

            ModelAndView modelAndView=new ModelAndView("/view/sales.jsp");

            List<Sale> sales=saleRepository.findAll();

            modelAndView.addObject("sales",sales);

            return modelAndView;

        }

    }

}


隔江千里
浏览 136回答 1
1回答

神不在的星期二

您可以使用过滤器并将其应用于所有请求或仅应用于与特定模式匹配的请求。要检查会话,您可以使用HttpServletRequest.getSession(false)并检查是否为空。
随时随地看视频慕课网APP

相关分类

Java
我要回答