java - 在 Java Filter 中获取方法名称

标签 java servlets filter

有一个 Java Filter 负责拦截一些端点。

在doFilter方法中,如下:

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException;

如何获取访问的方法名?

例如:

给定 2 个 Servlet,后跟操作名称:

LifeCycle
   create
   delete
SearchService
   findByName
   findById

LifeCycle.create 操作被前端调用时,filter 拦截了它,但是我不知道调用的操作是创建还是删除?

有没有办法在 Java 过滤器中获取“创建”操作名称?

提前致谢。

最佳答案

过滤器在向服务器(servlet 或 jsp)发出请求时由 Web 容器调用。它们不被 Servlets 或 jsps 调用。

您可以在下图中看到 Filter 的生命周期:

enter image description here

有关更多信息,请参阅 DOCUMENTATION

如果你想知道前端调用了哪个action,那么你可以使用一个请求参数,然后从ServletRequest中捕获它

关于java - 在 Java Filter 中获取方法名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30397691/

相关文章:

java - jvisualvm:卡在 “Loading Heap Dump...” 屏幕上

java - 如何显示通知栏?

java - 如何在 JPanel 上添加多个图层

java - 为什么导入 javax.servlet.*;尽管安装了 Java EE 仍无法解决 |面向 Java EE 开发人员的 Eclipse

javascript - 如何根据显示的结果更改 div 背景图像?

java - Apache CXF 2.7 上下文传递问题

java - 获取打印到 JPanel 中的 TextArea 的方法

java - 二进制内容响应 - 文件名无效?

java - 如何测试 JAX-WS Web 服务的启动和运行(从 servlet)

matlab - 音频信号滤波器设计