我只需要为我的 web 应用程序进行以下配置:
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>mappedfile</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>trimSpaces</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
到目前为止,我认为这是 Tomcat 的全局设置(即,它只能在 Tomcat 的 web.xml 中配置)。这是我不允许做的事情,因为 Tomcat 也有其他应用程序。
我做了一些实验,对我来说,当我在我的开发人员机器上本地运行应用程序时,即使这些设置仅在我自己的应用程序的 web.xml 中,也会发生。
谁能告诉我这里的确切机制是什么?
official docs还说 “实现 Jasper 的 servlet 是使用全局 $CATALINA_BASE/conf/web.xml 中的初始化参数配置的” 所以我很困惑这是否是预期的行为,只是一个“开发人员设置”或者它也可以在更严格的生产环境中工作。我能想到的是,servlet 生成器对所有应用程序都有不同的上下文,如果没有特定设置,那么它会继承全局 web.xml 中定义的上下文。
我们非常欢迎任何链接/指针/建议!
最佳答案
我已经联系了 tomcat-users 邮件列表,Christopher Schultz 提供了肯定的答复。
关于java - 修改应用程序 web.xml 中的 JspServlet 配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48420137/