我正在尝试在weblogic上运行Java EE应用程序。该应用程序在Tomcat上运行正常。我已经定义了war文件以包含weblogic.xml。该文件包含以下代码: -
<container-descriptor>
<show-archived-real-path-enabled>true</show-archived-real-path-enabled>
</container-descriptor>
我还更改了应用程序的属性文件中的配置,以反映容器正在侦听的端口。 server.port = 7001 server.modjk.enabled =假
我的web.xml文件包含以下代码: -
<servlet>
<servlet-name>olatservlet</servlet-name>
<servlet-class>org.olat.core.servlets.OLATServlet</servlet-class>
<!-- Set the load order -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>olatservlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>olatservlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
当我最初在weblogic 11g上运行war文件时,我得到了一个nullpointer异常。但是,当我从lib文件夹中删除XerceImpl.jar时,我可以部署该文件。现在我能够成功部署应用程序。我将weblogic中的上下文根命名为war文件的名称。当我尝试在其测试选项卡中打开weblogic生成的链接时,出现以下错误: -
错误403 - 禁止
来自RFC 2068超文本传输协议 - HTTP / 1.1:
10.4.4 403禁止
服务器理解请求,但拒绝履行请求。授权无效,请求不应重复。如果请求方法不是HEAD并且服务器希望公开为什么请求没有得到满足,那么它应该描述实体中拒绝的原因。当服务器不希望明确拒绝请求的原因,或者没有其他响应适用时,通常会使用此状态代码。
我想知道是否有人可以告诉我如何解决这个问题。
答案 0 :(得分:8)
我知道回答这个问题已经很晚了。但我正在回答我的小知识,希望能帮助那里的人。
您应该在web.xml文件中的welcome-file-list中定义起始页。例如,如果client.jsp是运行项目时要显示的页面,那么welcome-file-list中的第一行是web.xml文件应该是
<welcome-file-list>
<welcome-file>client.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
答案 1 :(得分:3)
我知道这已经很晚了,但我也遇到了同样的问题,在谷歌搜索后,我发现原因,我决定只为其他可能遇到同样问题的人发布。这个网页给了我提示:
默认情况下,WebLogic会禁用目录浏览,因此如果您有一个网站(例如example.com),并将index.html作为主页并输入
http://localhost:7001/example.com,
默认情况下,weblogic不会自动为您检索主页。您需要输入完整路径,即
http://localhost:7001/example.com/index.html.
要么你需要在weblogic中启用目录浏览。无论如何,这就是发生在我身上的事。
答案 2 :(得分:2)
如果您错过了在weblogic.xml中添加相应的安全配置,您将获得“ 403 Forbidden。服务器理解该请求,但拒绝履行该请求。”错误。
因此,除了将 web.xml 配置为“ security-constraint ”,“ login-config ”和“< em> security-role “设置,您还 weblogic.xml 中的安全角色分配”配置,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.8/weblogic-web-app.xsd">
<wls:weblogic-version>12.2.1</wls:weblogic-version>
<wls:context-root>SomeApp</wls:context-root>
***************
***************
<wls:security-role-assignment>
<wls:role-name>someGroupeDefinedInWebLogicServer</wls:role-name>
<wls:principal-name>someUserDefinedInWebLogicServer</wls:principal-name>
</wls:security-role-assignment>
***************
***************
</wls:weblogic-web-app>
希望,这是理所当然的。
答案 3 :(得分:0)
请您检查一下您的web.xml文件,不遵循xml语法,意味着有效的xml文件,甚至是一个小错误,如extra&lt;或者&gt;引起这种问题(我遇到了同样的问题)
答案 4 :(得分:0)
我与我创建的服务提供商之一存在同样的问题。
我试图通过我的网络浏览器访问它,我无法找到我收到此错误消息的原因,直到我理解有效服务器真正了解请求但是为了让您获得响应,你必须指定正确的格式(或mediatype)才能读取它,然后服务器会给你回复。
为了改善,服务提供商提供了一个&#34; application / xml &#34;当我要求&#34; application / html &#34;直到我建立自己的客户消费者,期待&#34; application / xml &#34;然后服务器接受回复回复。
答案 5 :(得分:0)
这可能与问题无关,但是对于那些试图打开网站时来自Google的用户:在我的情况下,在链接标题中添加HTTPS://会有所帮助。访问航班网站时出现此错误。也许可以帮助其他来自Google的人解决同一问题。
答案 6 :(得分:-1)
您可以在web.xml文件的末尾添加此代码
<welcome-file-list>
<welcome-file>faces/my_page.jspx</welcome-file>
</welcome-file-list>
或者如果您使用的是JDeveloper,您可以转到Overview选项卡,Pages和欢迎文件,将路由添加到您想要通过defalut打开的页面。 此外,您应该在页面名称前添加“faces /”,这样做这是您创建页面的默认路径。