gpt4 book ai didi

Javamelody 与 Struts 2 。没有映射用于监控的操作

转载 作者:行者123 更新时间:2023-12-02 09:49:56 25 4
gpt4 key购买 nike

我有一个在 Wildfly 10 上运行的 Struts 2、Java 8 Web 应用程序,并且想要集成 Javamelody,但无论我在 web.xml 和 struts.xml 中的配置如何,我都无法访问监控页面

我使用以下 Maven 依赖项

<dependency>
<groupId>net.bull.javamelody</groupId>
<artifactId>javamelody-core</artifactId>
<version>1.77.0</version>
</dependency>

在我的 web.xml (web-app version="3.0") 中,我有以下配置:

<filter>
<filter-name>monitoring</filter-name>
<filter-class>net.bull.javamelody.MonitoringFilter</filter-class>
<async-supported>true</async-supported>
</filter>
<filter-mapping>
<filter-name>monitoring</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>ASYNC</dispatcher>
</filter-mapping>
<listener>
<listener-class>net.bull.javamelody.SessionListener</listener-class>
</listener>

在我的struts配置中如下

<interceptor-stack name="myStack">
<interceptor-ref name="monitoring"/>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>

并将 myStack 设置为默认值

<default-interceptor-ref name="myStack" />

当我尝试访问http://localhost:8080/myapp/monitoring时我收到以下错误:[org.apache.struts2.dispatcher.Dispatcher](默认任务3)找不到操作或结果:没有为命名空间/和操作名称监控映射的操作。 - [未知位置]

我在网上找不到很多关于此问题或 Struts 配置的资源。有什么想法吗?

注意:我又近了一步,但我不明白为什么会发生这种情况。我必须删除所有具有 url-pattern/* 的过滤器才能正常工作。这有解决方法吗?当然,使用此配置我无法再访问我的任何页面。

最佳答案

javamelody user's guide说要在 servlet 之前在 WEB-INF/web.xml 中编写 javamelody MonitoringFilter。但就 Struts 2 而言,there is no more servlet and Struts 2 is controlled by a filter .

因此,您必须在 WEB-INF/web.xml 中的 Struts 2 过滤器之前编写 javamelody MonitoringFilter。

关于Javamelody 与 Struts 2 。没有映射用于监控的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56391102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com