問題タブ [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.
servlets - Struts 1 ミックス URL パターン *.do と通常の URL web.xml
Struts 1 アプリケーションで次のような状況があります。
アプリケーションの古い機能は struts 1 で動作し、次のサーブレット マッピングがあります (標準的な方法だと思います)。
strutsアクションを使用して、struts 1にもいくつかの新しい機能(json Webサービス)を作成しました。
これらの URL を .do 拡張子なしで利用できるようにしたいのですが、古い URL は *.do 拡張子を付けても機能するはずです。
/ url パターンのようないくつかのことを試しましたが、これにより静的リソースの読み込みが中断されます。
誰もこれを行う方法を知っていますか?
jsp - 汎用サーブレットから JSP へのマッピング
多くの JSP ファイルを含む Web アプリケーションがあり、各サーブレットを同様のページ名にマップすることなく、.jsp 拡張子が URL に表示されないようにしたいと考えています。これを行うには、/Login を /Login.jsp にマッピングするなどの一般的な方法で、すべてのサーブレットを JSP ファイルにリダイレクトしたいと考えています。
以下のように、すべてのサーブレットをフィルターにマップしました。これは *.jsp へのリダイレクトに関して機能しますが、最終結果は URL にまだ .jsp 拡張子が含まれている空白のページになります。
spring - java.lang.IllegalArgumentException: 'dispatcher' という名前のサーブレットを登録できませんでした。同じ名前で登録されている別のサーブレットがあるかどうかを確認してください
私の初期化クラス
}
構成クラス
}
コントローラ
}
これは非常に単純なプログラムで、Spring MVC の JavaConfig をテストするために作成しました。「Spring in Action」ブックのすべての手順を正確に実行しました。
このコードを実行すると、このエラーが発生します
09:41:37,854 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 72) MSC000001: サービス jboss.undertow.deployment.default-server.default-host./spittr: org の開始に失敗しました。 jboss.msc.service.StartException サービス jboss.undertow.deployment.default-server.default-host./spittr: java.lang.RuntimeException: java.lang.IllegalArgumentException: Failed to register servlet with name 'dispatcher'.Check if同じ名前で登録された別のサーブレットがあります。org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:85) で java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) で java.util.concurrent.FutureTask. java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) で (FutureTask.java:266) を実行します。org.jboss.threads.JBossThread.run(JBossThread.java:320) で java.lang.Thread.run(Thread.java:745) で concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 原因: java .lang.RuntimeException: java.lang.IllegalArgumentException: 'dispatcher' という名前のサーブレットを登録できませんでした。同じ名前で登録されている別のサーブレットがあるかどうかを確認してください。io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:236) で org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:100) で org.wildfly.extension.undertow.deployment で.UndertowDeploymentService$1.run(UndertowDeploymentService.java:82) ... 6 つ以上 原因: java.lang.IllegalArgumentException: 'dispatcher' という名前のサーブレットを登録できませんでした。同名のサーブレットが他に登録されていないか確認してください。org.springframework.util.Assert.notNull(Assert.java:115) で org.springframework.web.servlet.support.AbstractDispatcherServletInitializer.registerDispatcherServlet(AbstractDispatcherServletInitializer.java:98) で org.springframework.web.servlet.support.AbstractDispatcherServletInitializer .onStartup(AbstractDispatcherServletInitializer.java:71) org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:169) で io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:186) で io.undertow .servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:171) at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.
エラーのハイライトは、「'dispatcher' という名前のサーブレットを登録できませんでした。同じ名前で別のサーブレットが登録されているかどうかを確認してください。org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java: 85)」
この問題を解決するのを手伝ってください。EclipseでWildFly-10を使用しています。