I'm using tomcat 8.0.21 with the new Rfc6265 cookie processor. If there are cookies starting with a dot I'm getting the following error:
java.lang.IllegalArgumentException: An invalid domain [.db-app.de] was specified for this cookie
org.apache.tomcat.util.http.Rfc6265CookieProcessor.validateDomain(Rfc6265CookieProcessor.java:180)
org.apache.tomcat.util.http.Rfc6265CookieProcessor.generateHeader(Rfc6265CookieProcessor.java:122)
org.apache.catalina.connector.Response.generateCookieString(Response.java:959)
org.apache.catalina.connector.Response.addCookie(Response.java:907)
org.apache.catalina.connector.ResponseFacade.addCookie(ResponseFacade.java:392)
org.esigate.servlet.impl.ResponseSender.sendResponse(ResponseSender.java:70)
com.bahn.esiExtensions.ExtendedProxyServlet.doFilter(ExtendedProxyServlet.java:104)
Is there a way to prevent tomcat from throwing this error?
2
I'm using a new version of Tomcat 8 (from this last October) and after add the line to force use the legacy cookie processor, it works fine. On your ${catalina.base}conf/context.xml
:
<Context>
<!-- Default set of monitored resources. If one of these changes, the -->
<!-- web application will be reloaded. -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname="" />
-->
<!-- Force use the old Cookie processor (because this new tomcat version uses RFC6265 Cookie Specification) -->
<CookieProcessor className="org.apache.tomcat.util.http.LegacyCookieProcessor" />
I hope this may be your case. Just set this CookieProcessor, and your implementation will be working as was in previous versions of Tomcat 8.
相关推荐
在 Tomcat 安装目录 conf/Catalina /localhost 下,里面有 Tomcat 自带的三个应用,随意复制其中的一个 XML 文件,然后修改 docbase 指向你自己的应用程序,并把文件名改名,各参数参见方法二中的 <Context> 标签的...
除了上述基本配置外,还可以通过嵌套服务的方式在一个Tomcat实例中运行多个不同的应用。这种方式适用于希望在单个Tomcat实例中隔离不同应用程序的需求。具体来说,可以在`server.xml`文件中添加新的`<Service>`、`...
Apache Tomcat作为一款开源的Web应用服务器,提供了这两种功能的支持。本文将详细介绍在Tomcat中实现热部署和热加载的方法,以及它们之间的区别。 热部署是指当开发者更改Web应用的WAR文件并重新部署后,Tomcat能够...
在Web应用的`WebRoot/META-INF`目录下创建一个名为`context.xml`的文件,如果`META-INF`目录不存在,则需先创建该目录。在`context.xml`文件中添加如下配置: ```xml maxActive="50" maxIdle="30" maxWait=...
在Java Web开发中,Tomcat是一个广泛使用的开源应用服务器,特别是对于Servlet和JSP的应用。在处理数据库连接方面,Tomcat提供了自己的数据源实现——tomcat-jdbc.jar,这是一个高效且线程安全的连接池实现。同时,...
对于每个应用,还需要在`conf/Catalina/localhost`目录下创建一个XML文件,例如`testWeb.xml`,并在其中配置连接池参数。这一步是为了在特定的应用上下文中配置数据源。示例如下: ```xml ...
由于Tomcat默认情况下会占用固定的端口,因此在同一台机器上直接启动多个Tomcat实例会遇到端口冲突的问题。本文将详细介绍如何通过修改Tomcat的配置文件来实现在同一系统内同时启动多个Tomcat实例。 #### 二、...
在Tomcat中,虚拟主机是指通过配置,使得一个Tomcat实例能够响应不同域名的请求。这样可以在一台物理服务器上部署多个Web应用,并且每个应用都可以拥有独立的域名。这种配置方式可以极大地提高服务器资源的利用率,...
Apache Tomcat是一款开源的Java应用服务器,主要用于运行Java Servlet和JavaServer Pages(JSP)技术。在Linux操作系统中,它是部署Web应用程序的常见选择。"最新版linux apache-tomcat-10.0.0-M9.tar.gz"是Apache ...
10. **最佳实践**:始终将验证视为一个整体过程,不仅限于用户输入,还包括数据在系统内流动的每个阶段。遵循“尽早验证,多次验证”的原则,以减少潜在的问题。 通过上述内容,我们可以看到`validation验证`在Web...
- 将三个项目正常部署到同一个Tomcat服务器中,确保它们可以正常访问。 - 修改Tomcat的`conf`目录下的`server.xml`文件,对于Windows系统,路径一般是`%TOMCAT_HOME%\conf\server.xml`。 - 在`server.xml`中,将...
Apache Tomcat 8.0.36 是一个广泛使用的开源软件,它是一个实现了Java Servlet、JavaServer Pages(JSP)和Java EE的Web应用程序容器。这个版本是Tomcat服务器的一个特定发行版,专注于提供稳定性和安全性。在描述中...
Tomcat 是一个广泛使用的 Web 应用服务器,支持多种操作系统,包括 Linux 和 Windows。在实际应用中,我们经常需要配置 Tomcat 的虚拟路径,以便更好地管理和访问我们的 Web 应用程序。下面我们将详细介绍如何在 ...
查了一下,需要一个apr支持,然后按提示去 下载 http://tomcat.heanet.ie/native/1.1.9/binaries/win32//tcnative-1.dll 将这个文件复制到C:WINDOWSsystem32下面 或者将这个文件放到Tomcat下的bin目录下 再启动...
接下来,在`work/Catalina/localhost`目录下创建一个与应用同名的XML文件,例如`testWeb.xml`,并添加以下内容: ```xml <?xml version="1.0" encoding="UTF-8"?> name="jndi_test" type="javax.sql....
总结来说,Apache Tomcat 10.0.10是一个轻量级的Java应用服务器,适用于开发和部署Servlet和JSP应用。通过理解其目录结构和配置文件,开发者可以有效地管理和维护自己的Web应用程序。同时,随着版本的更新,Tomcat...