问题标签 [context.xml]

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.

0 投票
1 回答
155 浏览

spring - 浏览弹簧上下文

目前,我正在开发一个具有大量依赖项的项目。在开发过程中,我有时会遇到一些 spring bean 的问题。通常,堆栈跟踪可以告诉我 bean 的名称。但是,它没有显示哪个 context.xml 文件声明了 bean。此外,它没有告诉我哪个 .jar 文件包含上下文文件以及该上下文文件是如何导入到我的项目中的(我指的是导入链)。

由于有许多依赖关系,并非所有上下文文件都在使用,许多 bean 都被覆盖......我花了很多时间来搜索正确的上下文文件。一个简单的解决方案是将所有相关项目导入我的 Eclipse 工作区,然后一切都变得非常缓慢。

我正在考虑编写一个工具来加快这个过程:

给定一个spring bean的名称/bean的类,该工具将在应用程序的整个类路径中搜索并返回:

  • 声明 bean 的 spring 上下文文件。
  • 包含 spring 上下文文件的 .jar 文件。
  • 提取内容 spring 上下文文件并直接显示给用户
  • 如果用户提供了根弹簧上下文文件,该工具将显示到目标弹簧上下文文件的导入链。

实现这一点并不需要很多时间,但我只是想知道是否有人已经实现了它?我只是不想重新发明轮子。

我找到了这个项目https://github.com/julior/spring-inspector。这很有趣,但这不是我需要的。

如果您知道上述工具,我会很高兴知道它。

0 投票
0 回答
142 浏览

javascript - tomcat 无法访问脚本

从昨天开始,我意识到我无法让我的 Web 应用程序访问我服务器上的 javascripts 和某些样式表(离线工作)

它开始突然发生,在我尝试解决问题的过程中,我还制作了一个虚拟应用程序来测试它:

http://intra.gchss.edu.mt

即使脚本实际存在,也无法访问这些脚本。Tomcat 报告 HTTP 状态 404 - 请求的资源 (/scripts/javascript/script.js) 不可用。

在我的尝试中,我还尝试创建其他几个应用程序并调整 contents.xml 以停止 tomcat 缓存:

但他们都以同样的方式行事。(我知道这与新应用程序无关,但我还是尝试了)

我检查了目录和文件权限,它们是 777,因此任何人都应该可以访问和运行它们。但我仍然无法访问它们。

有两件事我还没有尝试过,也不想尝试

  1. 重新安装tomcat
  2. 将脚本放在主目录中。

有什么想法吗?我在 Debian 上运行 tomcat 5.5。

谢谢!

0 投票
1 回答
7349 浏览

java - CATALINA_BASE/conf/Catalina/localhost/.xml 与应用程序的 context.xml 不同

我一直在 Tomcat 上运行一个 Web 应用程序,当我对应用程序(包括 context.xml)进行一些更改并重新部署它时,我开始收到一个异常:

环顾四周后,我意识到 CATALINA_BASE/conf/Catalina/localhost 中的 appname.xml 与更新后的 context.xml 不同,因此当应用程序尝试查找 jndi 资源时,它找不到任何内容。据此 2个文件必须完全相同。对于这种情况,我提出了 2 个解释和问题:

  1. 重新部署期间存在使 appname.xml 不变的问题
  2. 尽管我更改了 context.xml,但 tomcat 仍然在某处存储旧版本并使用它而不是新版本

我想知道是否有人以前见过这些问题,如果有,我真的很感激任何解决方案。或者,如果您对我的情况有其他解释和/或问题,不客气!谢谢 :)

大号

PS:tomcat在我公司的服务器上,所以我不能直接去修改appname.xml :(

0 投票
0 回答
238 浏览

tomcat - 配置 Tomcat 7 领域中的错误

嗨,任何人都可以帮我解决这个问题,我花了整个晚上但无法让它工作:(这是我的 web.xml

当我输入一个磨损的用户名或密码时,它会导致错误的User.jsp(它必须连接到数据库),但是如果我输入正确的用户名和密码,它会显示: message Invalid direct reference to form login page description The request sent客户端在语法上不正确(对表单登录页面的直接引用无效)。

有人知道它有什么问题吗?提前致谢

0 投票
3 回答
7352 浏览

java - 设置 Tomcat 默认上下文路径

在我的context.xml文件中,我将以下内容设置为:<Context antiJARLocking="true" path="/" />

当我从 NetBeans 运行我的项目时,它可以正常工作并转到http://localhost:8080/login. 然后,当我清理和构建并进入 Tomcat 管理器并部署 war 文件时,由于某种原因它转到http://localhost:8080/appName/login. 我不确定它为什么要添加上下文路径,或者它甚至从哪里获取它,但是当我手动部署它时它会这样做。当我直接从 Netbeans 运行项目时,它不会。在我直接从 NetBeans 运行它之后,如果我转到 Tomcat 管理器,那么它会显示部署在/正确的上下文路径下的应用程序。当我手动部署 .war 时,它会部署在上下文路径下/appName

0 投票
1 回答
1356 浏览

tomcat - Tomcat:Web 应用程序中的自定义表单验证器,而不是作为独立 JAR 模块。可能的?

我们的 Web 应用程序需要内部具有特定逻辑的自定义表单身份验证。当前的表单验证器实现需要验证器模块,我们称之为它custom.auth.jar,在%CATALINA_HOME%/libWeb 应用程序启动之前存在。context.xmlWeb 应用程序使用以下指令使用该自定义身份验证器模块:

据我了解 Tomcat 的要求,在 Web 应用程序启动之前,该模块custom.auth.jar必须存在于 Tomcat 的lib目录中,因为 Web 应用程序似乎不需要与 Web 存档一起打包的身份验证器代码——它总是试图在%CATALINA_HOMA%/lib. 否则 Web 应用程序根本无法启动:

由于鉴权业务逻辑的特殊性和一些保护,我们被迫引入某种鉴权模块的版本控制,并在 Web 应用程序监听器中检查其版本——如果 Web 应用程序发现鉴权模块的版本不兼容(不检查 Tomcat 库目录中提供的 JAR 文件——我们使用反射代替)——它只是拒绝开始报告正在尝试启动的 Web 应用程序和身份验证模块之间的兼容性错误。同样,必须在 中指定现有的context.xml身份验证器模块。

尽管它保护了不兼容的版本,但这带来了一些主要困难:我们不能在同一个 Tomcat 实例中启动同一个应用程序的另一个版本,因为这两个应用程序需要不同版本的身份验证模块。lib但是在 Tomcat 的目录中可以有一个版本。

我的问题是:是否可以将自定义FormAuthenticator直接打包到 Web 应用程序中,而不需要在FormAuthenticator启动 Web 应用程序之前加载单个版本?这将允许启动我们想要的任意多个版本的 Web 应用程序,并且根本不接触%CATALINA_HOME%/lib

换句话说:如何让 Tomcat 从 Web 应用程序中获取自定义身份验证器模块,而不是从其主库目录中获取?谢谢。

0 投票
1 回答
15892 浏览

tomcat - tomcat 7 忽略我的 context.xml

我希望这是一件愚蠢的事情。但我已经盯着它太久了。

我在 Linux 上升级到 Tomcat 7(从 6),它忽略了我的 context.xml 文件。如果我在 server.xml 中包含上下文(数据源),它工作正常。但我想最终将这些东西从 server.xml 中取出。

我有 Tomcat 7 在 Windows/Eclipse 中运行,具有分离的上下文,它工作正常。

我已经尝试过 Host copyXML 参数。即使它确实复制了 context.xml,它也不会使用它......除非我将它包含在 server.xml 的主机中。当它失败时,它抱怨它无法获取我的 MySQL 连接:“无法获取连接,数据源无效”

我确信配置的其余部分很好,因为当我将它粘贴到 server.xml 中时它可以工作......

有人可以指出我缺少什么吗?不应该这么难。谢谢!

顺便说一句:它是 CentOS 5.9 (64) 上的普通 Tomcat7(不是 rpm)、JDK-7u11。

地点:

在 server.xml 中:

上下文.xml:

在 web.xml 中:

0 投票
2 回答
83 浏览

java - 有什么方法可以在运行时将字符串存储在 context.xml 中?

在我的网络应用程序的许多地方,我需要一个特定的字符串,它是:

有时一个简单的 java 类需要知道这个字符串。我不想每次都将这个字符串传递给类的函数。一种方法是将此字符串存储在 Web 应用程序一开始的文件中。每次我需要这个时,只需阅读文件即可。但这似乎不是一个很好的选择。还有其他出路吗?

可能是我可以存储在context.xml应用程序中。如果可能的话,我该怎么做?

如果有更好的方法请提出。

我使用tomcat作为服务器。

0 投票
2 回答
1961 浏览

java - 位于 $CATALINA_HOME/conf/[enginename]/[hostname]/ 中的单个 XML 文件

我正在使用tomcat 7
我想在context.xml我的战争之外使用自定义名称来开发 java web 应用程序。我在这个文件中定义了数据库资源。

根据tomcat文档,我将context.xml.default文件放在目录中CATALINA_HOME/conf/[enginename]/[hostname]/,我可以获得数据库配置。

现在,我想重命名context.xml.default并放置与我的上下文路径匹配的自定义文件名。如果这样做,我将无法再获取数据库配置,并且我的应用程序会抛出异常:

这是我的context.xml.default文件的内容:

0 投票
1 回答
1517 浏览

java - 如何在 context.xml 中为 java 应用程序设置上下文路径

当我在 tomcat 服务器的 server.xml 中创建上下文路径时,一切正常。但是我想在 context.xml 中编写上下文元素来为同一个应用程序定义不同的 URL,然后它就不起作用了。请说明如何修改 context.xml 以从 context.xml 读取路径。喜欢 :