問題タブ [servlet-mapping]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
14538 参照

tomcat - java.lang.IllegalArgumentException: サーブレット マッピングで不明なサーブレット名が指定されています

プロジェクトを実行しようとすると、エラーが発生します

私のweb.xml

0 投票する
1 に答える
198 参照

java - Spring xml-less config: URI を使用した HTTP リクエストのマッピングが見つかりません

コントローラーを備えた Spring MVC アプリがあります。

@Controller("/app")

@Controller("/app/page1")

@Controller("/app/page2")

AppInitializer があります。

このアプリを実行すると、アクセスできます

http://localhost:8080/app

しかし

http://localhost:8080/app/page1でエラーが発生する

警告: 「DispatcherServlet1」という名前の DispatcherServlet で、URI [/app/page1] の HTTP 要求のマッピングが見つかりません

http://localhost:8080/app/page2でエラーが発生する

警告: 「DispatcherServlet1」という名前の DispatcherServlet で、URI [/app/page2] の HTTP 要求のマッピングが見つかりませんでした

このように DispatcherServlet に厳密なマッピングを追加することで、これを修正できます

すべてのページが正常に動作します:

http://localhost:8080/app

http://localhost:8080/app/page1

http://localhost:8080/app/page2

しかし問題は、新しいページを追加するたびに DispatcherServlet へのマッピングを追加する必要があることです。たとえば、ページ 3 を追加するには、Controller を作成する必要があります

@Controller("/app/page3")

ディスパッチャ サーブレット マッピングを追加する dispatcher.addMapping("/app", "/app/page1", "/app/page2", **"/app/page3"**);

この最後のステップは避けたいと思います。

dispatcher.addMapping("/app/*");理想的ですが、上で述べたように機能していません。

何が欠けているか分かりますか?

0 投票する
2 に答える
570 参照

tomcat - java.lang.IllegalArgumentException: [foo] および [bar] という名前のサーブレットは両方とも、許可されていない URL パターン [/url] にマップされています

0 投票する
0 に答える
149 参照

java - tomcat での複数の戦争の同じ初期コンテキスト

Tomcat には 3 つの個別の戦争があり、各戦争にはいくつかの安らかなサービスが含まれています。たとえば、war1 でのサーブレット マッピングなど、それらのサービスを呼び出しているさまざまなクライアントが戦争に存在します。

アクセスURLはlocalhost:8080/projectName/services/someservice

同様にwar2で

アクセスURLはlocalhost:8080/differentProjectName/postprocessorservices/someotherservice

たとえば、同じ初期コンテキストが異なるクライアントで使用されるように、共通の初期コンテキストを提供する方法があることを知りたいだけです

どんな助けでも大歓迎です。

0 投票する
0 に答える
1453 参照

web-services - IBM WAS の web.xml での複数のサーブレット マッピング

私の Web サービス モジュールは、異なるクライアントを持つ複数の顧客によってアクセスされるため、次のような異なる URI でアクセスできる必要があります。

([serverAddress] を myorg.com または localhost に置き換えてください...申し訳ありませんが、StackOverflow では現在 2 つのリンクに制限されています ( http://localhostもカウントされます))

そこで、web.xml で 2 つのサーブレット マッピングを定義したいと考えました。StackOverflow で、次のヒントを見つけました

私は次の試みをしました:

#1を試してください:

SoapUI でのテスト結果:

  1. [サーバーアドレス]/MyHTTPRouter/PingService : わかりまし
  2. [serverAddress]/MyHTTPRouter/cet/PingService :エラー 404: java.io.FileNotFoundException: WSWS7147E: システムは /cet/PingService のエンドポイントを見つけられませんでした。

#2を試してください:

SoapUI でのテスト結果:

  1. [serverAddress]/MyHTTPRouter/PingService : エラー 500: javax.servlet.ServletException: com.ibm.ws.websvcs.exception.ConfigurationException: モジュールの Axis サーブレットで構成コンテキストを取得できませんでした: MyHTTPRouter
  2. [serverAddress]/MyHTTPRouter/cet/PingService :同上 (エラー 500)

ここでは、IBM Websphere Application Server 8.5 で実行される EJB 3.1 アプリケーションについて話しています。#1と#2の両方が機能しない理由と、 /cet/PingService と /PingService の両方でWebサービスにアクセスするために必要な変更はありますか?

0 投票する
2 に答える
9107 参照

tomcat - java.lang.IllegalArgumentException: 無効ですサーブレット マッピングの SolrServlet1

JSP ページを作成しました。このページからサーブレットを呼び出して何かを処理し、同じ JSP にリダイレクトします。

しかし、JSP のみをデプロイすると、すべて問題ありません。しかし、プロジェクトにサーブレットを含めると、Tomcat 8 が起動に失敗し、以下のエラーがスローされます。

次の方法でweb.xmlを定義しました

これを解決するのを手伝ってください

0 投票する
1 に答える
823 参照

servlets - 単純な正規表現を使用して Java サーブレットをマッピングする方法はありますか?

/Testサーブレット Test.java と/anything/Test同じサーブレットにもマップする必要があります。/*/Test正規表現を受け入れないため、web.xmlでは機能しないことを読みました。

フィルターを使用してそれを行う別の方法はありますか? ブロックの問題により、Tuckey URL フィルターを使用できません。また、サーブレットにもその「何でも」が必要です。マッピングできれば、そのための URL 文字列を処理する予定でした。

例えば

/ProjectName/Test テストサーブレットを開く必要があります

また、/ProjectName/xyz/Test テストサーブレットも開く必要があります

xyz は何でもかまいません。また、テスト サーブレットで xyz を取得したいと考えています。xyz をrequest.getRequestURI()取得して、URL からフェッチすることを計画しました。

0 投票する
0 に答える
120 参照

spring - Spring DispatcherServlet 複合マッピング

Spring Boot を使用して、次のアプリケーションを作成しようとしています。

サードパーティの HttpServlet は、次のように「/data/*」にマップする必要があります。

  • 「/data/Patient」として指定された「/Patient」
  • 「/data/_services/something」として指定された「/_services/*」

次に、新しいサービス オプションを追加する必要があります。「/data/_services/smart/」のリクエスト マッピングを使用していた RestController を使用して、これを実行したかったのです。

さらに、「/health」や「/management」などの他のエンドポイントをディスパッチャ サーブレットで処理する必要がありました。「/」にマッピングされたデフォルトのディスパッチャ サーブレットを使用すると、「/health」、「/management」が正常に機能します。

サードパーティのサーブレットに ServletRegistrationBean を追加すると、「/data/Patient」などのリクエストは正常に機能します。@Bean public ServletRegistrationBean data() { HapiFhirServlet サーブレット = new HapiFhirServlet(myAppCtx, metadataRepository); ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(サーブレット, "/data/*"); サーブレット登録Beanを返します。}

しかし、「/data/_services/smart」で RestController をマップできません。やっています:

この ServletRegistrationBean を追加するとすぐに、パス「/data/_services/smart/ 」が機能し、サード パーティのサーブレットのパスが機能しますが、他のディスパッチャー リクエスト (「/health」、「/management」) は失敗します。「/」または「/data/_services/smart/」のいずれかにしかディスパッチャを配置できないようですが、両方には配置できません。

誰かアドバイスしてもらえますか?

ここに私のアプリケーションクラスがあります: