ServletContext 无法通过在 Spring MVC 中将其作为参数传递来注入

ServletContext not able to inject through by passing it as an parameter in Spring MVC

大家好,我正在尝试在我的以下方法中获取 ServletContext,但是在将它作为参数传递时没有被注入,因为它应该由 spring 自动注入,但它不工作不知道为什么 这是我想要 servletcontext

的以下代码
@RequestMapping(value="/savetodo", method = RequestMethod.POST)
    public String saveTodo(@ModelAttribute("todoEntity") TodoEntity todoEntity,Model m,ServletContext sc) {
        todoEntity.setTodoDate(new Date());

        ArrayList<TodoEntity> allTodosArrayList =  (ArrayList<TodoEntity>) sc.getAttribute("allTodos");
        if (allTodosArrayList==null) {
            allTodosArrayList = new ArrayList<TodoEntity>();
        }
        allTodosArrayList.add(todoEntity);
        sc.setAttribute("allTodos",allTodosArrayList);
        allTodosArrayList.stream().forEach(System.out :: println);
        m.addAttribute("page","viewtodos");
        return "home";
    } 

但是当我尝试通过将 ServletContext 声明为 class 变量以及像这样的自动装配注释并从方法

中删除参数来尝试使用自动装配时
@Autowired
ServletContext sc;

它工作得很好所以我的重点是为什么当我将它作为 参数.

传递时它不起作用

ServletContext 不是 Spring 控制器中的自动解析方法参数之一 https://docs.spring.io/spring/docs/5.0.5.RELEASE/spring-framework-reference/web.html#mvc-ann-methods