问题标签 [tomcat-valve]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1015 浏览

java - 我可以在 Jetty 上使用 Tomcat 阀门吗?

是否可以将 Valve for Tomcat 也与 Jetty 一起使用?如果是,我如何使用 jetty.xml 和/或嵌入进行设置?

0 投票
2 回答
900 浏览

jboss - url重写时jboss阀门编码问题

我有一个应用程序,用 ejb3、jsf 和 maven 编码,在 jboss 4.2.2GA 上运行

我已经面临 2 天的问题是我无法转换在运行时添加到 url 的非英文字符。例如,有一个搜索文本框和一个按钮。当用户输入一个包含非英文字符的单词并按下按钮时,它会被添加到带有错误字符(如 %56 或 &347 等)的 url。

有什么方法可以实现我在这里尝试做的事情吗?顺便说一句,还有什么方法可以在 jboss 端配置而不是应用程序端(过滤器或 context.xml 等)解决这个问题?

任何帮助将不胜感激 非常感谢, Baris

-- 编辑:我已经通过使用 URLEncoder 解决了这个问题。当我将变量传递给操作方法时,我使用 URLEncoder 将其编码为正确的字符集。

示例: 从 URL 中获取参数: String someString = ServletActionContext.getRequest().getParameter("someStringFromURL"); 编码字符串; 字符串编码 = URLEncoder.encode(someString, "ISO-8859-9");

0 投票
1 回答
1237 浏览

mod-rewrite - 如何配置 jboss 重写阀门设置

我正在开发一个网络应用程序。如标题所示,使用 struts2 和 jboss url rewrite Valve。我想知道哪些是配置重写阀设置所需的 jboss 配置文件?此外,我在 url 重写时找不到任何信息来解决我的非英文字符问题。像 [NE] 这样的一些标志没有帮助。

让我为你理清案件;我的jsp页面上有一个链接,它的值为: http://localhost:8080/struts2Sample/redirectLogin/text/blahblah

在我的 rewrite.properties 文件中,我添加了这段代码;RewriteCond %{SERVLET_PATH} ^/redirectLogin/text/(. ) RewriteRule ^/redirectLogin/text/(. ) /redirectLogin.do?text=$1 [NE,PT,L]

如果 'text' 变量包含非英语字符,例如 'şçğüıö' 而不是 'blahblah',那么动作会得到一个不同的编码值 'şçğüıö',我的意思是它会得到一个像 '%C4%5F%' 这样的字符串或包括一些另一个奇怪的字符。

如果您对如何解决此问题有任何想法,例如,rewriteMap 或其他标志包括一段 perl 代码,或者(对我来说这是更有效的解决方案在 jboss 的 xml 文件中配置字符集或编码像 server.xml 等。我会很高兴听到这个消息。

非常感谢, 巴里斯

0 投票
2 回答
4892 浏览

tomcat6 - 自定义 Tomcat 阀门配置

我写了一个自定义的 Tomcat 阀门。(我使用的是 Tomcat 6.0.24 和 Java 1.6)这是我声明阀门的 XML 元素:

当我将此声明放入 server.xml 的 Host 元素中时。Tomcat 使用值“bar”调用我的阀门上的 setFoo() 方法。这就是我想要发生的事情。

但是,当我在我的 webapp 的 META-INF/context.xml 中的 Context 元素中放置相同的声明时,Tomcat 会加载阀门并且阀门运行良好。但是 Tomcat 从不调用 setFoo() 方法来提供阀门所需的“bar”值。

我不明白为什么 Tomcat 正确配置了 server.xml 中声明的阀门,但 context.xml 中没有。

有谁知道当我的 webapp 的 META-INF/context.xml 中声明 Tomcat 时如何让它正确配置我的阀门?

谢谢,丹

这会导致我的阀门加载并由 Tomcat 正确配置:

这会导致我的阀门加载,但 Tomcat 不会给它配置参数“bar”:

0 投票
2 回答
697 浏览

java - Tomcat 6 下的 Web 应用程序特定表单验证器

在您的帮助下,我成功地解决了我在这里提出的问题。我为 Web 应用程序开发了一个自定义的 Tomcat 身份验证器,目前该身份验证器及其配置文件位于该%CATALINA_HOME%\lib\目录中。%CATALINA_HOME%\webapps\myapp不幸的是,验证器配置文件几乎与为其开发验证器的 Web 应用程序的配置文件(位于 这很不方便,因为共享唯一的配置文件是最好的。

我认为可能有两种方法可以解决这个问题:

  1. 在Tomcat启动时以某种方式找到存在的webapps目录myapp,然后读取应用程序配置文件(从当前情况开始,并且myapp\WEB-INF\web.xml配置正确)。当然,不幸的是,这需要重新启动 Tomcat。
  2. 可能有一种方法可以将表单身份验证器放入相应的 Web 应用程序目录中,以便能够直接读取共享配置文件。也许这可能会消除 Tomcat 重新启动并允许简单的重新部署。

如果可能的话,我更喜欢第二种解决方案,但我不确定。如果两者都存在,哪种方式更好?或者是否有任何其他甚至更好的解决方案不将特定于 Web 应用程序的身份验证器放入其中%CATALINA_HOME\lib%

在此先感谢并为我的英语感到抱歉。

0 投票
1 回答
883 浏览

java - 我如何 Spring 启用 Tomcat 阀门

我写了一个 Tomcat 阀门并在 server.xml 中配置它。到目前为止,一切都很好。但是,我希望阀门的数据成员之一是 Spring 托管 bean。那么,如何使阀门也由 Spring 管理,以便让 Spring 的 IoC 将该依赖项注入到阀门中?

0 投票
1 回答
3686 浏览

tomcat6 - Web 应用程序 WAR 文件中包含的自定义 Tomcat 阀门

我正在寻找实现自定义 Valve 并使用 META-INF/context.xml 对其进行配置。

但目前,当在部署期间解析 context.xml 时,Tomcat (6.0.32) 在我的自定义 Valve 实现中因 ClassNotFoundException 而死。

我的印象是我遇到了类加载上下文问题,我不是 100% 确定我理解它。

找不到我的类,因为它位于 WEB-INF/classes 文件中,并且上下文级别的类加载器由于层次结构而无法找到该类?

提前致谢。

0 投票
0 回答
685 浏览

tomcat6 - Apache Tomcat 6.0.20 中通过 IP 限制访问时出错

我想通过在我的 conf/Catalina/[host]/[app].xml 中配置以下内容来限制对 Tomcat 页面的访问

不幸的是,当我启动我的 tomcat 服务时,我遇到了以下错误:

0 投票
3 回答
4099 浏览

tomcat6 - 实现 Tomcat 自定义阀门

我正在尝试valve在 Tomcat 中实现一个自定义,比如MyValve扩展BaseValve. 我创建了一个项目的 jar 并将其添加到Tomcat\lib文件夹中。

下一步是配置server.xmlor context.xml。我都试过了。但是我的阀门类没有被检测到。

有人可以告诉我创建和使用阀门的步骤。

谢谢

0 投票
2 回答
2425 浏览

tomcat - Tomcat中特定于应用程序的访问日志?

我正在尝试在 tomcat 中为我的 .war 应用程序配置独立的访问日志,但我不知道是什么失败了。

目的是为进入我的应用程序的请求提供单独的访问日志,而不必依赖 tomcat 的全局访问日志。

我知道为此我应该创建自己的上下文配置文件,并使用 AccessLogValve 指定我将写入的位置。

我在应用程序的 WAR 文件中创建了 META-INF/context.xml,其内容为:

启动tomcat时,我看到这个文件被复制到了conf/Catalina/localhost/Stubby.xml,但是在应用程序加载过程中出现了解析错误:

这里有什么问题?我是否遗漏了声明中的任何强制性属性?