问题标签 [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.
java - 我可以在 Jetty 上使用 Tomcat 阀门吗?
是否可以将 Valve for Tomcat 也与 Jetty 一起使用?如果是,我如何使用 jetty.xml 和/或嵌入进行设置?
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");
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 等。我会很高兴听到这个消息。
非常感谢, 巴里斯
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”:
java - Tomcat 6 下的 Web 应用程序特定表单验证器
在您的帮助下,我成功地解决了我在这里提出的问题。我为 Web 应用程序开发了一个自定义的 Tomcat 身份验证器,目前该身份验证器及其配置文件位于该%CATALINA_HOME%\lib\
目录中。%CATALINA_HOME%\webapps\myapp
不幸的是,验证器配置文件几乎与为其开发验证器的 Web 应用程序的配置文件(位于 这很不方便,因为共享唯一的配置文件是最好的。
我认为可能有两种方法可以解决这个问题:
- 在Tomcat启动时以某种方式找到存在的
webapps
目录myapp
,然后读取应用程序配置文件(从当前情况开始,并且myapp\WEB-INF\web.xml
配置正确)。当然,不幸的是,这需要重新启动 Tomcat。 - 可能有一种方法可以将表单身份验证器放入相应的 Web 应用程序目录中,以便能够直接读取共享配置文件。也许这可能会消除 Tomcat 重新启动并允许简单的重新部署。
如果可能的话,我更喜欢第二种解决方案,但我不确定。如果两者都存在,哪种方式更好?或者是否有任何其他甚至更好的解决方案不将特定于 Web 应用程序的身份验证器放入其中%CATALINA_HOME\lib%
?
在此先感谢并为我的英语感到抱歉。
java - 我如何 Spring 启用 Tomcat 阀门
我写了一个 Tomcat 阀门并在 server.xml 中配置它。到目前为止,一切都很好。但是,我希望阀门的数据成员之一是 Spring 托管 bean。那么,如何使阀门也由 Spring 管理,以便让 Spring 的 IoC 将该依赖项注入到阀门中?
tomcat6 - Web 应用程序 WAR 文件中包含的自定义 Tomcat 阀门
我正在寻找实现自定义 Valve 并使用 META-INF/context.xml 对其进行配置。
但目前,当在部署期间解析 context.xml 时,Tomcat (6.0.32) 在我的自定义 Valve 实现中因 ClassNotFoundException 而死。
我的印象是我遇到了类加载上下文问题,我不是 100% 确定我理解它。
找不到我的类,因为它位于 WEB-INF/classes 文件中,并且上下文级别的类加载器由于层次结构而无法找到该类?
提前致谢。
tomcat6 - Apache Tomcat 6.0.20 中通过 IP 限制访问时出错
我想通过在我的 conf/Catalina/[host]/[app].xml 中配置以下内容来限制对 Tomcat 页面的访问
不幸的是,当我启动我的 tomcat 服务时,我遇到了以下错误:
tomcat6 - 实现 Tomcat 自定义阀门
我正在尝试valve
在 Tomcat 中实现一个自定义,比如MyValve
扩展BaseValve
. 我创建了一个项目的 jar 并将其添加到Tomcat\lib
文件夹中。
下一步是配置server.xml
or context.xml
。我都试过了。但是我的阀门类没有被检测到。
有人可以告诉我创建和使用阀门的步骤。
谢谢
tomcat - Tomcat中特定于应用程序的访问日志?
我正在尝试在 tomcat 中为我的 .war 应用程序配置独立的访问日志,但我不知道是什么失败了。
目的是为进入我的应用程序的请求提供单独的访问日志,而不必依赖 tomcat 的全局访问日志。
我知道为此我应该创建自己的上下文配置文件,并使用 AccessLogValve 指定我将写入的位置。
我在应用程序的 WAR 文件中创建了 META-INF/context.xml,其内容为:
启动tomcat时,我看到这个文件被复制到了conf/Catalina/localhost/Stubby.xml,但是在应用程序加载过程中出现了解析错误:
这里有什么问题?我是否遗漏了声明中的任何强制性属性?