Ale*_*sev 9 java tomcat spring-boot
如何设置relaxedQueryChars
Spring Boot嵌入式Tomcat?
此处描述的连接器属性,但Spring Boot 文档没有列出此类参数.
如何设置Tomcat的Connector属性?
我不确定你是否可以使用属性文件执行此操作.我相信这应该有效
@Component
public class MyTomcatWebServerCustomizer
implements WebServerFactoryCustomizer<TomcatServletWebServerFactory> {
@Override
public void customize(TomcatServletWebServerFactory factory) {
factory.addConnectorCustomizers(new TomcatConnectorCustomizer() {
@Override
public void customize(Connector connector) {
connector.setAttribute("relaxedQueryChars", "yourvaluehere");
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
小智 7
最简单的方法是配置服务器(在 application.properties 中添加一行)。你可以添加这样的东西:
server.tomcat.relaxed-path-chars=<,>,etc
Run Code Online (Sandbox Code Playgroud)
我这样做是作为我的工作解决方案:
@Bean
public EmbeddedServletContainerCustomizer containerCustomizer(){
return new MyCustomizer();
}
private static class MyCustomizer implements EmbeddedServletContainerCustomizer {
@Override
public void customize(ConfigurableEmbeddedServletContainer factory) {
if(factory instanceof TomcatEmbeddedServletContainerFactory) {
customizeTomcat((TomcatEmbeddedServletContainerFactory) factory);
}
}
void customizeTomcat(TomcatEmbeddedServletContainerFactory factory) {
factory.addConnectorCustomizers((TomcatConnectorCustomizer) connector -> {
connector.setAttribute("relaxedPathChars", "<>[\\]^`{|}");
connector.setAttribute("relaxedQueryChars", "<>[\\]^`{|}");
});
}
}
Run Code Online (Sandbox Code Playgroud)
如果您使用的是Spring Boot 2.x,则需要使用WebSeerverFactoryCustomizer,如下所示。
@Bean
public WebServerFactoryCustomizer<TomcatServletWebServerFactory>
containerCustomizer(){
return new EmbeddedTomcatCustomizer();
}
private static class EmbeddedTomcatCustomizer implements WebServerFactoryCustomizer<TomcatServletWebServerFactory> {
@Override
public void customize(TomcatServletWebServerFactory factory) {
factory.addConnectorCustomizers((TomcatConnectorCustomizer) connector -> {
connector.setAttribute("relaxedPathChars", "<>[\\]^`{|}");
connector.setAttribute("relaxedQueryChars", "<>[\\]^`{|}");
});
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3253 次 |
最近记录: |