在Web应用程序的web.xml中获取当前域

时间:2014-01-10 09:56:00

标签: servlets web.xml

我有一个Web应用程序,它对不同端口上的Web服务执行ajax请求(即我的应用程序和服务器是on different domains)。
我无法访问服务器API,所以我无法使用JSONP
我使用Smiley's HTTP Proxy Servlet解析,因此我的web.xml文件包含此部分:

<servlet>
    <servlet-name>rs</servlet-name>
    <servlet-class>org.mitre.dsmiley.httpproxy.ProxyServlet</servlet-class>
    <init-param>
        <param-name>targetUri</param-name>
        <!-- my servlet is hosted at http://my_ip:my_port/webapp -->
        <param-value>http://my_ip:other_port/rest-services/rs</param-value>
    </init-param>
</servlet>
<servlet-mapping>
    <servlet-name>rs</servlet-name>
    <url-pattern>/rs/*</url-pattern>
</servlet-mapping>

不幸的是,我必须在不同的机器(开发,测试,生产)上部署Web应用程序,以响应不同的IP地址。
有没有办法让web.xml文件中的IP地址改变,或以某种方式检索当前域?或者我每次编译前都必须手动更改IP地址?

1 个答案:

答案 0 :(得分:1)

好的,我自己找到了解决方案。

我只需要用localhost替换IP:

<param-value>http://localhost:other_port/rest-services/rs</param-value>

(对于一个愚蠢的问题,这似乎是一个愚蠢的答案,但我确信我已经尝试了过去而失败了。现在它似乎有效。)