14

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=false

私の 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 を削除すると、ファイルをデプロイできました。これで、アプリケーションを正常にデプロイできます。war ファイルの名前として、weblogic のコンテキスト ルートに名前を付けます。テスト タブで weblogic によって生成されたリンクを開こうとすると、次のエラーが表示されます。

エラー 403 -- 禁止

RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1 から:

10.4.4 403 禁止

サーバーは要求を理解しましたが、要求を満たすことを拒否しています。承認は役に立たず、要求を繰り返すべきではありません。リクエスト メソッドが HEAD ではなく、サーバーがリクエストが実行されなかった理由を公開したい場合、拒否の理由をエンティティに記述する必要があります。このステータス コードは、サーバーが要求が拒否された理由を正確に明らかにしたくない場合、または他の応答が適用できない場合に一般的に使用されます。

誰かがこの問題を解決する方法を教えてくれるかどうか疑問に思っていました.

4

7 に答える 7

8

この質問に答えるのが非常に遅いことは承知しています。しかし、私はそれがそこにいる誰かを助けることを期待して、私の少しの知識で答えています.

web.xml ファイルのwelcome-file-list で開始ページを定義する必要があります。ファイルは

<welcome-file-list>
    <welcome-file>client.jsp</welcome-file>
    <welcome-file>index.html</welcome-file>
 </welcome-file-list>
于 2014-08-08T23:04:15.647 に答える
3

私はこれが非常に遅いことを知っていますが、私も同じ問題に出くわし、グーグルで調べた後、その理由を見つけ、同じ問題に遭遇する可能性のある他の人のために投稿することにしました. このウェブページは私にヒントを与えてくれました:

エラー 403 の説明

デフォルトでは、WebLogic はディレクトリ ブラウジングを無効にしているため、ホームページとして index.html を使用する Web サイト (example.com など) があり、次のように入力すると、

http://localhost:7001/example.com, 

デフォルトでは、weblogic は自動的にホームページを取得しません。フルパスを入力する必要があります。

http://localhost:7001/example.com/index.html.

いずれにしても、weblogic でディレクトリの参照を有効にする必要があります。とにかく、これが私に起こったことです。

于 2013-10-27T06:03:06.743 に答える
3

対応するセキュリティ コンフィグレーションを weblogic.xml に追加しないと、" 403 Forbidden. The server understand the request, but is refusing to fluid it. " エラーが発生します。

したがって、「security-constraint」、「login-config」、および「security-role」設定を使用してweb.xmlを構成するだけでなく、次のようにweblogic.xmlに「 security-role-assignment」も構成されていることを確認してください。 :

<?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>

うまくいけば、これは役に立ちます。

于 2015-12-15T10:55:54.760 に答える
-1

web.xmlファイルを確認してください。xml構文に従わず、有効なxmlファイルを意味します。余分な<や>などの小さなエラーでも、この種の問題が発生します(同じ問題が発生しました)

于 2012-06-19T08:49:30.870 に答える