如何处理从DEV到LIVE环境的URL差异?

时间:2012-04-03 16:30:18

标签: spring-mvc java-ee-6

我对Java的经验不足。目前,在我的应用中,我的所有网址都设置为http://localhost:8080/cmt/content/3068fc93/edit.html

在线直播,我的网址需要转到http://www.domain.com/content/3068fc93/edit.html

这是我的第一个java应用程序,我不想重新发明轮子。我希望能够使用绝对路径(没有域)链接到页面,例如/content/3068fc93.html

更新

任何时候我<a href='/content/edit.html'>Edit Content</a>它都会在LIVE上工作但在DEV上没有,因为DEV需要额外的/cmt。如何在我的2个环境中修复此问题?

2 个答案:

答案 0 :(得分:0)

您可以使用Spring URL标记,这里是docs

所以对你的情况来说:

<spring:url value="/content/{contentId}/edit.html">
   <spring:param name="contentId" value="3068fc93" />
</spring:url>

答案 1 :(得分:0)

您使用jstl标记为:

<a href="<c:url value='/content/3068fc93.html'/>">Welcome</a>

其中'c'来自<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<强>更新

关于cmt部分,你应该重写url或在servlet映射上更改你的url参数

<强>更新 在prod你有:

<servlet-mapping>
    <servlet-name>web-servlet</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
在开发中你必须拥有:

<servlet-mapping>
    <servlet-name>web-servlet</servlet-name>
    <url-pattern>/cmt/*</url-pattern>
</servlet-mapping>