WebLogic虚拟目录映射不起作用

时间:2011-07-22 22:15:17

标签: weblogic

在我非常简单的WebLogic 11g应用程序中,我遇到了令人沮丧的虚拟目录映射问题。我安装了WebLogic 11g OEPE,它安装了WebLogic Server 10.35。我相信这是正确安装的,因为我能够部署一个更复杂的应用程序,工作正常...除了我的虚拟目录映射问题。

我想从Web应用程序之外的目录H:\ Backup。

访问文件

以下是我的整个应用程序,这些是我的完全文件。

wl_test / index.html中

<html>
<head><title>WebLogic Test</title></head>

<body>
<h1>This is another new test<br>
</body>
</html>

wl_test / WEB-INF / web.xml中

<web-app>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
</web-app>

wl_test / WEB-INF / weblogic.xml中

<weblogic-web-app>
    <virtual-directory-mapping>
         <local-path>H:/Backup/</local-path>
         <url-pattern>/files/*</url-pattern>
         <url-pattern>*.txt</url-pattern>
    </virtual-directory-mapping>
</weblogic-web-app>


当我访问HTML文件' http:// localhost:7002 / wl_test / index.html '时,它加载完全正常。

但是,当我尝试加载以下两个URL中的任何一个时,它们都会因HTTP 404错误而失败。是的,这两个文件,one.ini和asdf.txt都存在于H:\ Backup目录中。

  1. 的 'http://本地主机:7002 / wl_test /文件/ one.ini'
  2. 的 'http://本地主机:7002 / wl_test / asdf.txt'
  3. 这个琐碎的设置可能有什么问题?

    我开始认为我不明白这是如何起作用的。

3 个答案:

答案 0 :(得分:4)

我想我明白了改变了什么以及如何解决所有问题。

虚拟目录映射存在两个问题。

首先, local-path 不能是MS-DOS SUBSTed驱动器。我不明白为什么,但WebLogic不喜欢它。

其次,当 url-pattern 包含 / files / * 等文件夹时,该文件夹必须存在于 local-path 中。目录

这些都是在JRun服务器中允许的,这是从它移植的。

叹息, 兰迪斯蒂鲍尔

答案 1 :(得分:0)

我认为关于多个url-pattern元素的组合有一点傻瓜。这是一个示例,显示了我的档案中的共享404文件。

NotFoundWeb.war / WEB-INF / web.xml的一部分如下所示:

<error-page>
<error-code>404</error-code>
<location>/error/404.html</location>
</error-page>

NotFoundWeb.war / WEB-INF / weblogic.xml的一部分如下所示:

<wls:virtual-directory-mapping>
<wls:local-path>d:\temp\notfound</wls:local-path>
<wls:url-pattern>*.html</wls:url-pattern>
</wls:virtual-directory-mapping>

我在文件系统上有一个文件: d:\ TEMP \ NOTFOUND \错误\ 404.html

所以在运行时输入类似的内容: http://localhost:7001/NotFoundWeb/somebadurl

我从文件系统中获取了错误页面。

答案 2 :(得分:0)

GeneratedReports和/ app / reports是文件系统中的本地文件夹。这样,您可以将任何类型的文件放入生成的“报告”文件夹中:

<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">
    
<weblogic-web-app>
    <container-descriptor>
        <index-directory-enabled>true</index-directory-enabled>
    </container-descriptor>
    <virtual-directory-mapping>
         <local-path>/app/reports</local-path>
         <url-pattern>/generatedReports/*</url-pattern>
    </virtual-directory-mapping>
</weblogic-web-app>