gpt4 book ai didi

java - Tomcat:本地和实时设置的不同欢迎文件

转载 作者:行者123 更新时间:2023-11-28 22:09:16 24 4
gpt4 key购买 nike

我是 Tomcat/Java 的初学者;我有一个简单的 Web 应用程序,我想为其显示一个不同的 <welcome-file>web.xml取决于应用程序是在本地开发还是实时部署。

现在我有:

<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>

对于本地开发,我想要 <welcome-file>web.xml成为index-dev.html用于发展和index-live.html对于已部署的实时应用程序。原因是我想加载不同的 *.css*.js取决于我是本地人还是现场。

有什么方法可以实现此设置?

最佳答案

作为一个选项:制作一个 jsp 文件作为欢迎页面。

在该 jsp 文件中分析当前客户端位置(本地计算机或非本地计算机),并转发到相关页面。

附加编辑:

您的 jsp 有一个预定义的 request 对象。

用它来获取客户端ip,像这样:

<%
String remoteIp = request.getRemoteAddr();
%>

将其与本地主机地址进行比较,可以通过以下方式获得:

<%
InetAddress address = InetAddress.getLocalHost();
String localhostIp = address.getHostAddress();
%>

并使用jsp:forward 转发到相关页面。

<%
// getting jsp (servlet) client ip
String remoteIp = request.getRemoteAddr();

// getting local ip
InetAddress address = InetAddress.getLocalHost();
String localhostIp = address.getHostAddress();

// checking and forwarding
if(localhostIp.equals(remoteIp)){
%>
<jsp:forward page="localhost.html"/>
<%}else{%>
<jsp:forward page="remote.html"/>
<%}%>

附加编辑:

确保 localhostIp 仅包含 IP 地址,否则使用 String 方法获取包含 ip-address 的子字符串。

关于java - Tomcat:本地和实时设置的不同欢迎文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12512608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com