我正在使用spring boot和mvc开发一个web应用程序。我有控制器,在每个控制器中我都要检查session是否存在。在getAll方法的示例中,我正在检查session是否存在,但我必须在每个方法,每个控制器中编写此检查代码。这样做有什么捷径吗?

@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;
        }
    }
}
分析解答

您可以使用过滤并将其应用于所有请求或仅应用于特定模式的请求。

要检查session,您将使用HttpServletRequest.getSession(false)并检查是否为空。