【问题标题】:How can I use Weblogic (12 C) without the application context in the URL?如何在 URL 中没有应用程序上下文的情况下使用 Weblogic (12 C)?
【发布时间】: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 件主要的事情和另一件相关的事情:

  1. 在 Weblogic 中为服务器设置默认应用程序
    1. 在本地服务器上,转到控制台并登录
    2. 转到:Weblogic > 控制台 > 环境 > 服务器 > myserver > 协议 > HTTP
    3. 将“Default WebApp Context Root:”设置为“/”+您的应用程序(例如“/myapp”)
  2. 在 MyEclipse 中设置项目的上下文根目录
    1. 在 MyEclipse 中打开项目后,右键单击项目并选择属性
    2. 展开“MyEclipse”并选择“Web”并将Web Context-root设置为“/”
  3. 将项目weblogic.xml文件中context-root的值设置为“/”
    1. 此文件应位于项目的 WEB-INF 文件夹中
    2. 保存文件并构建应用程序
    3. 重新部署您的应用 - 您可能还需要重新启动服务器

将我的本地路径变量设置为“/”

所以我必须做的另一件事是设置一个路径变量,我引用“/”。当您请求路径 (request.getContextPath(); ) 时,它不会在路径前加上“/”,如果您尝试使用 <c:url context="${ _path }" 之类的东西,如果 _path 变量不以“/”开头,它将抛出异常。

最后一点是我在使用别人的代码时遇到的。

【问题讨论】:

    标签: java weblogic clean-urls weblogic12c


    【解决方案1】:

    在 application.xml 中指定以下设置

           <web>
              <web-uri>yourweb.war</web-uri>
              <context-root>/</context-root>
           </web>
    

    现在您可以在没有上下文根的情况下拨打电话

            http://localhost:7001/
    

    【讨论】:

    • 感谢 Kumar - 如果 web.xml 不是应用程序,它是否也是如此?
    • @Sirius_B 该设置特定于 weblogic server 请参考context-root settings
    【解决方案2】:

    我假设因为您使用的是 weblogic,所以您部署了一个 java 应用程序。

    结构应该是一个“战争”文件。

    您可以在此处找到有关结构的更多信息。

    http://www.openscope.net/2010/01/25/war-deployment-file-structure/

    上下文根的名称(默认为战争名称)也可能被覆盖

    https://forums.oracle.com/forums/thread.jspa?messageID=10366462

    希望对你有帮助。

    【讨论】:

    • 感谢您的帮助。我用我的解决方案更新了上面的信息。
    • 请使用有效的 URL 更新 URL(现在正在重定向到 no)
    猜你喜欢
    • 2014-07-11
    • 2012-05-28
    • 2016-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多