问题标签 [embedded-tomcat]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring-boot - 当我们在使用带有微服务的springboot时出现错误时如何隐藏嵌入式tomcat版本?
由于我们的 springboot 项目中有默认的 tomcat,因此无法在下面的 url 中设置。
https://www.inoks.com/hide-tomcat-version-from-the-error-message/ https://www.thegeekstuff.com/2013/08/hide-tomcat-version-number/
还尝试在 application.properties 中添加server.info=Application Server。
但它不工作。
java - 嵌入式 Tomcat 中数据源的 JNDI 查找失败
我正在尝试实现应该运行我的 HelloWorld-Servlet 的 EmbeddedTomcat (10.0.4)。我使用的是纯 Java,没有 Spring 等。
虽然在启动时,它无法查找在我的 context.xml 中定义的数据源(Oracle DB):
应用程序无法通过 JNDI 查找获取数据源
我假设在我的嵌入式 Tomcat 中,不会加载 context.xml - 有没有办法将 context.xml 添加到我的嵌入式 Tomcat 中?
上下文.xml
web.xml
应用上下文监听器
嵌入式Tomcat
spring-boot - Spring Boot:StackOverflowError HttpServletRequestWrapper getUserPrincipal
在我们的生产日志中,我们得到了以下非常长的堆栈跟踪:
和
不幸的是,我无法在本地或测试中重现此行为。在堆栈跟踪中没有引用我们的应用程序代码。所以也许这是弹簧引导与嵌入式tomcat和华夫饼相结合的配置问题?目前我们正在结合使用 Spring Boot 2.4.4 和 Java 11 以及 Angular 10。
异常似乎也不是由用户交互直接引起的(检查访问日志)。我已经尝试了不同版本的框架,但没有成功。
有任何想法吗?
spring-boot - 下载大型 zip 文件时出现异常 ClientAbortException: java.io.IOException
我正在尝试从 rest API 下载大型 zip 文件,但得到
org.apache.catalina.connector.ClientAbortException:java.io.IOException:连接被对等方重置。
由于连接关闭 - 下载的 zip 文件已损坏,我无法打开它。我尝试设置超时属性,但没有运气。该服务还具有nginx
api 网关配置。
这是堆栈跟踪:
配置文件:
这是带有 Tomcat 嵌入式服务器版本 9.0.38 的 Spring。
apache - Apache 和嵌入式 Tomcat JAR 应用程序,如何调试
我有一个 Spring Boot JAR 应用程序设置,可以在带有 SSL 的 Apache 服务器上使用嵌入式 Tomcat 作为 JAR 运行。我遇到的问题是我的应用程序在端口 8010(必需)上运行,Apache 需要将所有对应用程序的调用从 8443 重定向到 8010。
我在 Apache2 设置文件中尝试了以下重定向永久/mywebpage http://localhost:8010/mywebpage/
我正在使用安装了 Tomcat 的 Ubuntu 20.4 和 Apache2。我不确定如何调试此环境并设置所需的端口转发设置。
需要发生的是
- 调用 https://server/mywebpage/
- 上面的调用应该命中 Apache 服务器并且 Apache 需要将请求发送到 http://localhost:8010/mywebpage/。
- 来自此的响应需要发送到身份验证服务器 https://author (works)
- https://author 和 http://localhost:8010/mywebpage/ 之间的流量应该通过 Apache 保留标头详细信息。
关于如何设置它的任何指示都会很棒!我不是系统管理员,但有一个本地 Virtual Box 设置来测试它。
java - 嵌入式 Tomcat,如何用嵌入式 Tomcat 的新逻辑替换用于标准 Tomcat 的现有 web.xml
鉴于现有web.xml
:
我已经添加:
并试图做:
但不工作。
服务器启动,但有几件事无法正常工作。localhost:8080
导致错误页面。
也试过:
但这会导致错误,例如:
请注意,目前我是static void main
从 Intellij 内部开始的。
这里的方法e()
依赖于解析现有的 web.xml 文件,但这不起作用,并且似乎由于缺少类路径内容而失败。
第一种方法c()
依赖于尝试复制配置,但我缺少尝试正确复制它的方法。
例如,我无法以相同的方式添加侦听器,并且无法配置例如参数。 session-config
第一个没有类路径问题并启动,但我认为有些事情,比如监听器没有正确设置,也没有触发他们的事件。
编辑1:
也许这是添加侦听器的方式,在c()
:
但是事情又开始了,但在tomcat中仍然出错。不确定 classpath: ... 在原始web.xml
模仿中c()
是否也被准确应用。
编辑2:
现在大部分事情都搞定了,但是 WebSockets(在代码中注释)没有被拾取,以及 HttpSessionListener 没有被触发。
在web.xml
您可以定义一个实现多个接口的侦听器,例如ServletContextListener, HttpSessionListener
但使用嵌入式 Tomcat,这似乎不起作用。到目前为止,我也无法单独注册它们,但这应该是可能的。还是很烦。
我只是希望您可以将 web.xml 提供给它,它可以自行配置,就像独立的一样。我不明白为什么要这么难。
java - 如何从 Embeded Tomcat 9.0.41 中删除默认 Web 应用程序并删除未使用的连接器?
我的项目是使用嵌入式 Tomcat 和 Java Springboot 应用程序,客户要求 Tomcat 遵守强化指南以确保安全,其中包含以下内容,例如:
- 删除 Tomcat 中的默认 Web 应用程序
- 平衡器(在 CATALINA_HOME/webapps 中)- 删除
- jsp-examples(在 CATALINA_HOME/webapps 中)- 删除
- ROOT(在 CATALINA_HOME/webapps 中) - 删除
- sevlets-examples(在 CATALINA_HOME/webapps 中)- 删除
- tomcat-docs(在 CATALINA_HOME/webapps 中)- 删除
- Webdav(在 CATALINA_HOME/webapps 中)- 删除
- 主机管理器(在 CATALINA_HOME/servers/webapps 中) - 如果不使用则删除
- 管理器和主机管理器 XML 文件(在 CATALINA_HOME/conf/Catalina/localhost 中) - 如果不使用则删除
- 移除未使用的连接器
- HTTP/1.1 端口 8080
- SSL HTTP/1.1 端口 8443
- JK/JK2 AJP 1.3 端口 8009
- 代理 HTTP/1.1 端口 8082
在哪里可以找到嵌入式 Tomcat 服务器中的配置以实现合规性?我可以从哪里开始的任何想法?
如果您需要任何其他信息,请告诉我。提前致谢!补充一下,下面是我们如何在 java 应用程序 pom 文件中包含嵌入式 tomcat:
https://spring.io/blog/2014/03/07/deploying-spring-boot-applications
spring-boot - 如何以非特权用户身份运行嵌入式 Tomcat 并限制对 Tomcat 管理器和管理的访问
我的项目是使用嵌入式 Tomcat 9.0.41 和 Java Springboot 应用程序,客户要求 Tomcat 遵守强化指南以确保安全,其中包含以下内容,例如:
- 以非特权用户身份运行 Tomcat
- 以非特权用户身份运行 Tomcat
- 从特权组中删除 Tomcat 用户
- 将Tomcat安装在与操作系统不同的目录中。
- 限制 Tomcat 管理器和管理应用程序
- 限制 Tomcat 管理器(需要 Tomcat 管理器时适用),限制 Tomcat 管理器访问授权终端。要配置:在 /conf/catalina/localhost/manager.xml 下,添加以下行:<Valve className="org.apache.catalina.valves.RemoteAddrValve"allow="127.xxx"/>
- 限制 Tomcat 管理(适用于需要 Tomcat 远程 Web 管理员) 限制 Tomcat 管理器对授权终端的访问。配置: 在 /conf/catalina/localhost/admin.xml 下,取消注释以下行(默认情况下在文件中找到): <Valve className="org.apache.catalina.valves.RemoteAddrValve"allow="127.xxx" />
任何人都可以建议如何为嵌入式 Tomcat 实现上述目标?如果您需要更多信息,请告诉我。谢谢!
spring-boot - 从 IntelliJ 社区版启动 springboot 应用程序
我们如何在 IntelliJ 社区版中启动 Spring Boot 应用程序。我没有看到这里包含嵌入式 tomcat。当我从 SpringBootApplication 注释类启动应用程序时,仅在记录器中获取以下消息
2021-06-23 20:02:45.933 INFO 1086 --- [main] rerRestapplicationApplication:在 Antonys-MBP.home 上使用 Java 11.0.11 启动 RestapplicationApplication,PID 为 1086(/Users/robin/Documents/work/workspace/restapplication/由 robin 在 /Users/robin/Documents/work/workspace/restapplication 中启动的目标/类)2021-06-23 20:02:45.938 INFO 1086 --- [main] rerRestapplicationApplication:没有活动配置文件集,回退到默认配置文件:默认 2021-06-23 20:02:48.342 INFO 1086 --- [main] rerRestapplicationApplication :在 3.621 秒内启动 RestapplicationApplication(JVM 运行 4.888)
请帮助我如何在 tomcat 中启动应用程序并在 IntelliJ 的社区编辑中进行测试
java - org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter 不能在 Struts 2 中使用嵌入式 Tomcat 转换为 javax.servlet.Filter
我有一个 Struts 2.5.5 网络应用程序。我想用集成的 Tomcat 运行它。我正在使用以下插件
我的pom.xml
样子:
我的web.xml
:
我正在做一个 mvn cleam install 然后mvn tomcat7:run
但我收到以下错误: