【发布时间】:2013-04-05 21:08:47
【问题描述】:
我正在处理一个需要 Weblogic 服务器的 Web 项目,并且在部署后(在我的 Macbook Pro 上)我可以查看该站点的唯一方法是将应用程序名称指定为整个站点的前缀。例如
http://localhost:7001/myapp-weblogic/
这会破坏大量使用根 URL 访问资源的样式和 JavaScript 代码(例如 /images/example.png)
虽然我可以以编程方式将“/my-app”添加到 .jsp 中的内容,但我无法在我的 .css 文件中执行此操作。
我尝试在 Weblogic > 控制台 > 环境 > 服务器 > myserver > 协议 > HTTP 中设置“默认 WebApp 上下文根:” - 但那不起作用。
这似乎应该是一件很简单的事情。在 IIS 中,我只需在本地主机文件中添加一行并将主机名添加到我的 IIS 容器中 - 总共花费了大约 42 秒。
127.0.0.1 myapp.local -> Let's me view my site at http://myapp.local
提前感谢您的任何见解!
更新!! 我终于把事情搞定了。其中一些是针对我的设置非常具体的,但希望仍然对其他人有所帮助。
为了让它发挥作用,我需要做 3 件主要的事情和另一件相关的事情:
- 在 Weblogic 中为服务器设置默认应用程序
- 在本地服务器上,转到控制台并登录
- 转到:Weblogic > 控制台 > 环境 > 服务器 > myserver > 协议 > HTTP
- 将“Default WebApp Context Root:”设置为“/”+您的应用程序(例如“/myapp”)
- 在 MyEclipse 中设置项目的上下文根目录
- 在 MyEclipse 中打开项目后,右键单击项目并选择属性
- 展开“MyEclipse”并选择“Web”并将Web Context-root设置为“/”
- 将项目weblogic.xml文件中context-root的值设置为“/”
- 此文件应位于项目的 WEB-INF 文件夹中
- 保存文件并构建应用程序
- 重新部署您的应用 - 您可能还需要重新启动服务器
将我的本地路径变量设置为“/”
所以我必须做的另一件事是设置一个路径变量,我引用“/”。当您请求路径 (request.getContextPath(); ) 时,它不会在路径前加上“/”,如果您尝试使用 <c:url context="${ _path }" 之类的东西,如果 _path 变量不以“/”开头,它将抛出异常。
最后一点是我在使用别人的代码时遇到的。
【问题讨论】:
标签: java weblogic clean-urls weblogic12c