java - Spring Boot JspServlet 自动配置

标签 java spring spring-boot tomcat

我在 Tomcat 中运行一个 Spring boot 应用程序(请不要问 :))并且我有一些 URL 需要映射到/[a-z]*.jsp(同样是客户要求)。

当在 Tomcat 中运行应用程序时,JspServlet 类存在并自动配置为处理以 .jsp 结尾的所有内容。如何禁用此自动配置?

谢谢。

最佳答案

作为M. Deinum说,JspServlet 没有被我的 Spring Boot 应用程序注册,而是 Tomcat 的默认 web.xml 中存在的默认 JspServlet 处理请求。添加以下 bean 为我解决了这个问题:

@Autowired
private DispatcherServlet dispatcherServlet;

@Bean
public ServletRegistrationBean servletRegistrationBean() {
    // Necessary so that JSPs don't get handled by the default JspServlet present in the default web.xml
    return new ServletRegistrationBean(dispatcherServlet, "/", "*.jsp");
}

此外,我设置

server.servlet.jsp.registered=false

application.properties 中,尽管我不确定是否有必要。

关于java - Spring Boot JspServlet 自动配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54654790/

相关文章:

java - 如何在java中将ms-Excel文件转换为Pdf?

java - 在 @Application bean 中使用构造函数注入(inject)会导致循环引用

java - Spring Boot + JPA + Hibernate 不同表名前缀

java - 如何在 spring boot 应用程序中将用户添加到嵌入式 tomcat?

java - 使用 JNDI 作为我的数据源和属性文件的位置

java - 通过 domino api 使用条件日志记录

java - Maven- POM.xml 中依赖项排序的重要性

具有可变段数的 Spring 路径

java - 将RestTemplate与对象一起用作数据和application/x-www-form-urlencoded内容类型?

elasticsearch - 使用JAVA Api代码进行多个字段的Elastic Search文档更新的解决方案