我在Eclipse中开发了一个API,它部署在ApacheTomcat服务器上,修改保存在服务器根文件夹中的XML文件。
ApacheTomcat安装在我的系统中的D驱动器中,因此我在API中对该路径进行了如下硬编码
new File("D:\\Program Files\\Apache Software Foundation\\Tomcat 7.0\\webapps\\ROOT\\example\\example.xml")
此外,我还将服务器配置为使用端口8080,因此我还将URI路径硬编码到API中,如下所示
String uriPath = "http://localhost:8080/example/example2";
而且效果很好。
但现在我想在使用ApacheTomcat的不同系统上以WAR文件的形式部署相同的API。
如何以编程方式获取这些系统的Apache Tomcat根文件夹路径和端口号,以便一个API适用于所有系统?如何将其集成到API中?
JEE规范中有许多原因说明了为什么您不应该这样做,但是,除此之外,您可以获得一种与平台无关的方式来确定tomcat位置。
系统在启动时定义了两个变量:CATALINA_HOME和CATALINA_BASE。您应该能够使用系统从系统中获取CATALINA_基地。getProperty(“catalina.base”)
从那里你可以假设建立一条这样的路径:
final String catalinaBase= System.getProperty("catalina.base");
final File catalinaBaseDir= new File(catalinaBase);
final File exampleXML= new File(catalinaBase, "webapps/root/example/example.xml");
至于URI路径,本文应该为您提供足够的参考来做您想做的事情。
有没有可能在postgres中做这样的事情: 错误:运算符不存在:jsonb#>TEXT 没有与给定名称和参数类型匹配的运算符。您可能需要添加显式类型转换。
我想用定制的发布
问题内容: 通过带有jquery的ajax提交表单时,是否可以使用完整的服务器路径而不是url? 下面的示例不起作用,但是它将使您对我正在尝试执行的操作有所了解。我知道您无法执行跨域Ajax请求,但这都在同一台物理服务器上。 我不想设置代理或任何过于花哨的东西,如果没有办法轻松地做到这一点,我只会在服务器上移动一些文件,但我希望可能有一个简单的解决方案。 谢谢! 问题答案: 不,那行不通。这些不是
问题内容: 您经常会看到Node的示例hello world代码,该代码创建Http Server,开始侦听端口,然后执行以下操作: 但理想情况下,您希望这样做: 如何在调用前不将服务器号存储在变量中的情况下检索服务器当前正在侦听的端口? 我之前已经看过这件事,但是在Node文档中找不到。也许这是表达的特定内容? 问题答案: Express 4.x答案: Express 4.x(根据下面的Tien
我尝试了以下代码: 上述代码导致如下异常: 请注意: > 由于与远程服务器和linux服务器的连接成功,我尝试使用但它会引发异常。 一旦使用smb连接,我们将无法使用下面的url直接连接到共享路径吗<代码>字符串url=“//remotehost/SharedPath/Comp/NG/” 请注意:我使用jsch库连接到Linux服务器,并且我能够使用sftpChannel成功连接到Linux服务器