Spring-对每个控制器调用执行自定义检查

Spring-对每个控制器调用执行自定义检查,spring,controller,Spring,Controller,我正在开发一个基于javaxservlet的应用程序,我们正在逐步迁移到Spring控制器。 所有其他Servlet扩展都有一个抽象Servlet,它为每个调用执行一些检查。这个抽象类还包含所有现有servlet使用的一些常用方法 我正在尝试为Spring版本复制相同的方法,但我正在努力创建一个为每个控制器执行的方法 现有的抽象BaseServlet有如下功能: protected abstract process(HttpServletRequest request, HttpServletR

我正在开发一个基于javaxservlet的应用程序,我们正在逐步迁移到Spring控制器。 所有其他Servlet扩展都有一个抽象Servlet,它为每个调用执行一些检查。这个抽象类还包含所有现有servlet使用的一些常用方法

我正在尝试为Spring版本复制相同的方法,但我正在努力创建一个为每个控制器执行的方法

现有的抽象BaseServlet有如下功能:

protected abstract process(HttpServletRequest request, HttpServletResponse response);

protected final doPost(HttpServletRequest request, HttpServletResponse response) {
  // check for specific items in session
  process(request, response)
}
在调用控制器的方法之前,Spring中是否有任何注释来执行某些操作?关于以下几点:

public abstract class BaseController {

  @DoBefore
  public void check(HttpServletRequest request) {
    // look for objects in session otherwise throw exception
  }
}

}

您可能正在寻找的是一个。在那里,您可以为所有控制器/处理程序实现公共预处理


另请参见

您是否尝试将代码移动到Spring控制器?我不想在所有控制器中重复该逻辑在Spring中,您将使用过滤器进行此类预处理。这不适用于所有控制器,无论它们是否扩展了我的BaseController?是的,它会。这真的取决于你想要实现什么。