这几天搞weblogic虚拟目录(虚拟路径)真郁闷,搞了两天也没有搞定baidu,google一阵狂搜,过程那个痛苦就不说了,呜呜呜呜。看网上人家都搞定了,直接复制再改动一下就下不行,郁闷啊。
刚才解决了吧,把出现的问题总结一下。
weblogic.xml文件内容如下
错误的配置如下
<weblogic-web-app>
<context-root>/</context-root>
<virtual-directory-mapping>
<local-path>Z:/message/upload</local-path>
<url-pattern>/message/upload/*</url-pattern>
</virtual-directory-mapping>
</weblogic-web-app>
正确的配置如下
<weblogic-web-app>
<context-root>/</context-root>
<virtual-directory-mapping>
<local-path>z:/</local-path>
<url-pattern>/*</url-pattern>
</virtual-directory-mapping>
</weblogic-web-app>
为啥第一个访问不了呢???
原因就在<context-root>/</context-root>上。
>>>>>>>>>>>>>>>>>>>>>>>>> 摘自文档开 始<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
context-root
context-root 元素定义该独立 Web 应用程序的上下文根。如果 Web 应用程序不是独立的,而属于某 EAR 的一部分,请在该 EAR 的 META-INF/application.xml 文件中指定上下文根。application.xml 中的 context-root 设置优先于 weblogic.xml 中的 context-root 设置。
注意,该 weblogic.xml 元素仅用于使用两阶段部署模型进行部署时。
确定 Web 应用程序的上下文根的优先级顺序如下:
1.在 application.xml 中检查上下文根;如果找到,则将其用作 Web 应用程序的上下文根。
2.如果 application.xml 中未设置上下文根,且 Web 应用程序是作为 EAR 的一部分部署的,则检查 weblogic.xml 中是否定义了上下文根。如果找到,则将其用作 Web 应用程序的上下文根。如果 Web 应用程序是独立部署的,则 application.xml 不参与该过程,而仅从 weblogic.xml 开始 context-root 的确定,如果其中没有定义,则默认使用 URI。
3.如果 weblogic.xml 或 application.xml 中没有定义上下文根,则将从 URI 中推断上下文路径,将 URI 中定义的值减去 WAR 后缀作为其名称。例如,如果 URI 为 MyWebApp.war,则上下文根的名称为 MyWebApp。
注意: 不能为 EAR 库中的各个 Web 应用程序分别设置 context-root 元素。只能针对 Web 应用程序库进行设置。
>>>>>>>>>>>>>>>>>>>>>>>>> 摘自文档结 束<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
这个标签作用是制定上下文根路径的,/ 表示的是当前路径,表示制定当前路径为根路径
也相当于一个虚拟目录的作用。
咱们现在要为Z:/message/upload目录设置为虚拟路径/message/upload/* 但是现在
咱们设置的虚拟路径中最前面的"/"其实已经是虚拟路径了,虚拟路径有覆盖作用(与在weblogic.xml出现的顺序无关),所以咱们现在设置的虚拟路径“/message/upload/*”的真实路径根本就不是Z:/message/upload。
weblogic虚拟路径的配置和使用(2)
最新推荐文章于 2021-07-27 19:19:40 发布