svn - 如何提取用于部署的 Tomcat URL?

标签 svn url web-applications tomcat deployment

我们有一个在本地运行的 Web 应用程序,因此在许多 jsp 中我都引用了类似 http://localhost:8080/MyApp/index.html 的内容.我们现在想创建一个部署,但是浏览许多不同语言(html、jsp、xml 等)的文件并手动将本地主机 URL 更改为实际部署 URL 似乎很不方便 - 比如 192.168.0.4:8080/MyApp/index.html.

人们在这里做什么?理想情况下,我希望选择同时使用这两个 URL,这样我就可以维护一个本地版本的 webapp 在我的机器上运行,并且还有一个已部署的机器在我的网络上运行。一个想法是使用 SVN 中的分支/标签作为部署,并仅在该分支中更改 URL。这可能适用于开发 + 部署服务器,但是否有更通用的方法来抽象 Web 应用程序中使用的 URL?

如有任何想法,我们将不胜感激!

最佳答案

不要对域名或上下文路径进行硬编码。

动态解决它们。此信息可以从 HttpServletRequest 获得。 .例如

String base = request.getRequestURL().toString().replace(request.getRequestURI().substring(1), request.getContextPath());
// ...

使用方法如下

<a href="${base}/index.html">

或者使用 HTML <base>标签。另见 Browser can't access/find relative resources like CSS, images and links when calling a Servlet which forwards to a JSP一些提示。

关于svn - 如何提取用于部署的 Tomcat URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7000202/

相关文章:

eclipse - 无法在 Eclipse 中安装 SVN 连接器

svndumpfilter - 不支持的转储文件版本

regex - 我们可以在 Tornado RequestHandler 中访问 URL 的路径参数吗?

jquery - 为什么我的正则表达式不起作用?

iphone - 从应用程序中添加到主屏幕?

javascript - 我如何在firebase数据库中检索多级数据--Webapp

java - oracle 11g xe 的本地主机是什么?

php - 我可以设置 Eclipse 以显示代码更改吗

javascript - 如何使用 javascript 将查询放入 url 中?

ios - Xcode 10 不支持 Subversion **[SVN]**