问题标签 [embedded-tomcat-7]
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.
web-applications - 嵌入式 Tomcat 和 Web 应用程序的不同 Log4j
我正在使用嵌入式 Tomcat(版本 7.028)。我的嵌入式 Tomcat 服务器是一个可配置的服务器,可以向其添加一个或多个 Web 应用程序。
我想将 Embedded Tomcat 中的错误/信息消息记录在一个日志文件中,并为 Embedded Tomcat 上部署的所有应用程序维护不同的日志文件。我在嵌入式 Tomcat 的类路径中放置了一个 log4j.properties 文件。它正在被正确读取,我能够记录 Tomcat 的信息和错误消息。我还将嵌入式 Tomcat 中的所有记录器声明为非静态的。
我已将 log4j.xml 放在 webapp 的 WEB-INF/classes 位置以覆盖嵌入式 Tomcat 的 log4j.properties(参考链接)。但是 log4j.xml 没有被启动。仅使用 Tomcat 的 log4j 设置。
请帮助我如何克服这个问题。是否有任何配置可以添加到 xml 或属性文件中?
trinidad-gem - 将 MIME 定义添加到特立尼达
我正在使用 trinidad gem 来托管我的 jruby 应用程序。
.woff
但是,任何对.ttf
字体文件的请求都会得到400 Bad Request
.
当我使用 jar-ing 项目warbler
并将 jar 文件转储到常规 Tomcat 实例中时,我能够在web.xml
.
但是,我不知道如何为 trinidad gem 使用的 Tomcat 实例执行此操作,并且文档似乎没有列出它。它确实提到了指定一个web.xml
文件用作 Web 应用程序的默认文件,但这似乎是放在WEB-INF
文件夹中的文件,当我为其放入 Tomcat 文件时,服务器没有启动conf/web.xml
。
我还尝试将以下行添加到config/initializers/mime_types.rb
:
但这似乎不会影响public
文件夹(如果确实如此,我会感到惊讶......)。
我在哪里可以找到如何做到这一点?
java - Tomcat 为 docBase 嵌入了 addContext 的正确用法
有谁知道如何在嵌入式 Tomcat 实例中设置上下文以从不在部署文件夹中的本地目录提供文件?
在标准 server.xml 中,它看起来像这样:
我尝试了以下 tomcat 嵌入式调用的不同变体,但均未成功:
我也试过:
看起来这个 grails 问题的思路是一样的:
但我没有使用 grails。(使用 Java)
这是我正在使用的完整启动代码:
java - 如何在 tomcat-maven-plugin 中应用上下文配置?
我的目标是使用 tomcat-maven-plugin 部署几个 webapps 并在它们之间进行一些跨上下文交互。这是出于原型设计的目的。所以我创建了两个war模块(核心和webapp1),将apropriate context.xml放入它们的META-INF文件夹并配置tomcat7插件。但是 webapps 是使用默认上下文配置部署的。当部署到通用 Tomcat 7 容器中时,一切正常——我可以访问另一个 webbapp 的上下文。
我的问题是我做错了什么?或者这可能是嵌入式 tomcat 的限制(尽管我没有发现任何区别)?
这是我的 context.xml:
tomcat插件的配置(不知是否重要,谁知道呢):
这是核心servlet的代码:
tomcat - 以编程方式启用 GZIP Tomcat 7(嵌入式)
我正在使用 Tomcat7(嵌入式)
像这样的东西...
我已经启用了到 jsp servlet 的 *.pdf 映射(我在 IE 上遇到的一些问题)有没有办法使用这个配置启用 GZIP(我没有 web.xml,但如果需要我可以添加以使其工作)到目前为止我只发现我需要将它添加到我的 web.xml (我没有!)
java - tomcat7-maven-plugin:运行多个 webapps 但端口 8080 已在使用中
我正在尝试使用tomcat7-maven-plugin
设置嵌入式 tomcat 容器,分阶段运行 webapps pre-integration-test
,运行集成测试,然后分阶段关闭 tomcat post-integration-test
。该项目是一个多模块 maven 项目(包含app1
、app2
等)。父母pom.xml
看起来像以下,
然后我就跑了mvn clean integration-test --projects=app1,app2
。当第二个应用程序启动时,我得到java.net.BindException
,
那么是否有tomcat7-maven-plugin
在嵌入式 tomcat 中运行多个 webapp 的配置?
java - 升级 tomcat 嵌入式版本后,基本登录身份验证失败
我的应用程序使用 Tomcat Embedded 公开 Web 应用程序。
它使用用户名和密码身份验证进行保护。从我的 web.xml
我正在实现自己的领域,并在我的 Tomcat 实例中对其进行配置:
一切正常,直到我不得不升级 tomcat 的版本(最低到 7.0.30)。升级 tomcat-embed-core.jar 和 tomcat-embed-jasper.jar 后,我无法访问我的 Web 应用程序。
身份验证窗口弹出,我插入我的用户名和密码,但它无法登录(似乎用户名\密码不正确的行为)。
我没有改变我的代码!如果我将罐子换回 7.0.22 一切正常。
顺便说一句,不推荐使用setDefaultRealm(),我不知道它是否有帮助。
如果有人以前遇到过这个问题,或者知道如何处理这个问题,那就太好了。
谢谢
tomcat7 - maven tomcat7:关机
我使用 mvn tomcat7:run 启动我的应用程序及其工作,但是当我使用 mvn tomcat7:shutdown 停止它时,它显示构建成功但嵌入式 tomcat 没有关闭我得到这个结果
任何帮助表示赞赏!
spring - 在测试应用程序和嵌入式tomcat之间共享spring容器
我们正在使用 cucumber-jvm 在我们的应用程序中编写集成测试层。我们发现的挑战之一是管理测试和 Web 应用程序之间的数据库。
一个典型的场景是,我们希望在场景的给定步骤中持久化一些实体,然后在用户界面上执行一些操作,这些操作反过来可能会持久化更多实体。最后,我们要清理数据库。因为 cucumber-jvm 测试在一个 jvm 中,而 Web 应用程序在另一个 jvm 中运行,所以我们不能共享事务(至少以我知道的方式),所以必须手动清理数据库。
我最初的想法是在与 cucumber-jvm 测试相同的 JVM 中使用嵌入式内存数据库 (HSQLDB) 运行的嵌入式 Tomcat 服务器。通过这种方式,我们可以共享一个 spring 容器,并且通过扩展一个事务,可以从中检索所有对象。
在我的初始测试中,Spring 似乎被加载和配置了两次:一次是在测试开始并读取 cucumber.xml 时,第二次是在嵌入式 tomcat 启动并且 Web 应用程序读取其 applicationContext.xml 时。这些似乎在两个完全独立的容器中,因为如果我尝试在一个容器中解析另一个容器中指定的对象,那么它不会解析。如果我复制我的配置,那么我会收到有关具有相同 ID 的重复 bean 的错误。
有没有一种方法可以告诉 Spring 为我的测试应用程序和嵌入式 tomcat 使用相同的容器?
我正在使用 Spring 3.2.2.GA 和 Embedded Tomcat 7.0.39(两个库的最新版本)。
我疯了吗?我需要提供更多技术细节吗?抱歉,如果我使用了一些不正确的术语。
谢谢
ps 如果您对我的问题很熟悉,并且您可以建议我正在尝试的解决方案的替代解决方案,请告诉我!
spring - 为嵌入式 tomcat 指定自定义 web.xml
使用嵌入式 tomcat 实例时,有没有办法指定不同于web.xml
标准的方法?WEB-INF/web.xml
我想web.xml
在我的src/test/resources
(或其他一些区域)中放置一个并web.xml
在启动嵌入式 tomcat 时参考它。
这是我现有的启动tomcat实例的代码
我从一个 tomcat 实例启动这个服务器,我想在运行单元测试时执行以下操作
- 关闭
contextConfigLocation
- 指定一个自定义
ContextLoaderListener
来设置嵌入式 tomcat 的父ApplicationContext
级。
这个文件可以这样指定:
编辑
在经历了很多挫折之后,我意识到无论我做什么,我都无法说服 tomcatWEB-INF
寻找web.xml
. 看来我必须完全忽略并以编程方式web.xml
设置项目。web.xml
我最终得到了这个配置:
cucumber.xml 用于配置测试
applicationContext-core.xml - 配置服务的地方
自定义 ContextLoaderListener
修改的嵌入式 Tomcat 包装器
步骤定义
动作类
有了这个,嵌入式 tomcat 可以正确启动,并且在我尝试导航到网页之前一切似乎都很顺利。在StepDefs
课堂上,EmployeeEntityService
正确注入了。但是,在Action
类中,EmployeeEntityservice
没有注入(它仍然存在null
)。
据我所知,我正在ApplicationContext
正确设置嵌入式 Tomcat 的父级。那么为什么服务器不使用父上下文来获取EmployeeEntityService
呢?