gpt4 book ai didi

tomcat - 在 tomcat 中使用不同的适配器

转载 作者:行者123 更新时间:2023-11-28 23:12:12 24 4
gpt4 key购买 nike

我想将 tomcat 7 配置为使用与默认 CoyoteAdapter 不同的适配器来处理一些格式错误的 cookie。这可能吗?

原因是我们低于异常

SEVERE: Error processing request
java.lang.IllegalArgumentException: Control character in cookie value or attribute.
at org.apache.tomcat.util.http.CookieSupport.isHttpSeparator(CookieSupport.java:205)
at org.apache.tomcat.util.http.Cookies.getTokenEndPosition(Cookies.java:530)
at org.apache.tomcat.util.http.Cookies.processCookieHeader(Cookies.java:377)
at org.apache.tomcat.util.http.Cookies.processCookies(Cookies.java:195)
at org.apache.tomcat.util.http.Cookies.getCookieCount(Cookies.java:119)
at org.apache.catalina.connector.CoyoteAdapter.parseSessionCookiesId(CoyoteAdapter.java:1089)
at org.apache.catalina.connector.CoyoteAdapter.postParseRequest(CoyoteAdapter.java:796)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:440)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

最佳答案

您不能更改 coyote 适配器,除非您实现自己的 org.apache.coyote.Processor。但是在tomcat-8中,你可以改变cookie处理器:

  1. 实现org.apache.tomcat.util.http.CookieProcessor
  2. 将jar放到tomcat的lib文件夹中
  3. 将 tomcat 配置为使用您自己的 cookie 处理器,方法是将其放入 context.xml 中:
<Context>
<CookieProcessor className="org.example.MonsterCookieProcessor"/>
<Context>

遗憾的是,您不能在 tomcat-7 中这样做,因为 cookie 处理器逻辑被硬编码在 CoyoteRequest 中:

    private Cookies cookies = new Cookies(headers);

关于tomcat - 在 tomcat 中使用不同的适配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56372696/

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