我正在使用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)并检查是否为空。