小编n0r*_*m1e的帖子

如何在Tomcat中为Web应用程序提供上下文配置?

我有一个Web应用程序,它依赖于在安装后配置的一些资源和参数,如JDBC连接.

我提出的是在部署应用程序时提供由Tomcat META-INF/context.xml复制[engine-name]/[server-name]/[app-name].xml的内容.这样我所提供的是一个war文件,可以复制到appBase文件夹(webapps).Tomcat的文档如果有这样的文件,它将不会被覆盖,这真的很棒,因为部署后所做的更改不会丢失.

但是这里有一个微妙的问题:由于我们通过复制到webapps目录来部署应用程序,因此Tomcat将首先卸载现有应用程序以及配置文件.这样,配置文件将被丢失/覆盖,这是不可取的.据我所知,Tomcat 不会修改此行为.

问题是:有没有办法通过以Tomcat不会删除现有配置文件的方式安装应用程序来解决此问题.或者,有更好的方法来打包应用程序吗?

请注意,我们不希望将autoDeploy设置为false,并且我们不能使用人工干预进行安装(使用Tomcat Manager Web应用程序排除).

如果我从.war文件中获取配置文件并将其单独复制[engine-name]/[server-name]/[app-name].xml,Tomcat仍会将其与我的应用程序关联,并在复制新的.war文件后将其删除.

另一个假设是:我们事先并不知道配置的值.我们将仅提供样本配置(占位符,如果您愿意),而实际配置将在稍后的某个时间执行(不一定在安装时间内).

谢谢

java tomcat java-ee

49
推荐指数
3
解决办法
8万
查看次数

如何在字符串文字中添加补充Unicode字符?

如何在字符串文字中添加补充Unicode字符(例如,代码点10400)?我试过像这样放一个代理对:

String text = "TEST \uD801\uDC00";
System.out.println(text);
Run Code Online (Sandbox Code Playgroud)

但它似乎没有用.

更新:

好消息是,字符串构造正确.
UTF-8中的字节数组:54 45 53 54 20 f0 90 90 80
UTF-16中的字节数组:fe ff 0 54 0 45 0 53 0 54 0 20 d8 1 dc 0

但坏消息是,它打印不正确(在我的Fedora框中),我可以看到一个正方形而不是预期的符号(我的控制台不能正确支持unicode).

java unicode

18
推荐指数
2
解决办法
2万
查看次数

jquery.show和WebDriverException之后的元素:未知错误:无法聚焦元素

我的javascript行:

$('#name').show();
Run Code Online (Sandbox Code Playgroud)

我的webdriver代码行:

wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("name"))).sendKeys("Some Name");
Run Code Online (Sandbox Code Playgroud)

当我运行测试时,它会抛出以下异常:

WebDriverException: unknown error: cannot focus element
Run Code Online (Sandbox Code Playgroud)

所以,我一直在寻找解决方案.铬谷歌代码网站报告了一些问题.关于使用有很多建议JavaScriptExecutor.但它对我来说似乎不是一个更好的解决方案,因为它可以制作依赖于浏览器的代码.

javascript java jquery selenium selenium-webdriver

15
推荐指数
3
解决办法
3万
查看次数

如何将函数列表应用于Java 8中的值?

假设我有这个命令式代码:

    List<Function<T, T>> functions = ...
    T value = ...
    for (Function<T, T> function : functions) {
        value = function.apply(value);
    }
Run Code Online (Sandbox Code Playgroud)

我如何在功能样式中写这个(就像Scala中的折叠一样)?

java java-8

9
推荐指数
1
解决办法
2579
查看次数

用于运送Web应用程序的EAR与RPM?

将Web应用程序发布到生产环境时,您会考虑企业应用程序存档还是RPM?

每个人的缺点和优点是什么?

使用RPM,您可以跟踪版本控制并正确处理配置文件.

假设您的应用程序不会安装在Windows机器上,因此操作系统依赖性不是我们担心的问题.

java linux java-ee

5
推荐指数
1
解决办法
2331
查看次数

如何区分一个非常大的数组?

我有2个非常大的数组.

这段代码运行得很慢吗?


results1 = [1,2,3..]
results2 = [1,2,3,4 ... ]


for result1 in results1:
    if result1 not in results2:
        print result1

python algorithm

1
推荐指数
1
解决办法
129
查看次数