問題タブ [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.
java - JSPでサーブレットマッピングを修正するには?
home
JSPページとサーブレットHelloServlet
Java クラスを含む動的 Web プロジェクトをセットアップしました。
ホームページは、jsp ページから入力値を取得し、入力値をサーブレット クラスに転送する送信ボタンがあります。
しかし、ホームページで送信をクリックすると、HTTP Status 500 - Error instantiating servlet class HelloServlet
これを設定する手順が不足しているかどうかは誰にもわかりませんか? または、web.xml 記述子に誤りがある場合は?
サーブレット クラスの doPost メソッドは次のとおりです。
これは、web.xml 記述子でマッピングを設定した方法です。
java - Spring MVC RequestMapping 末尾のダブル スラッシュの問題
したがって、次の URL に問題があります: http://example.com/something//?filter=something (2 つの末尾のスラッシュに注意してください)
リクエスト マッピングとして "/something" を処理するようにコントローラーを設定しましたが、末尾に 2 つのスラッシュがある場合、リクエスト マッピングは "/something" ではなく "/" になります。
私の web.xml ファイルには、"/" の URL パターンを持つサーブレット マッピングがあります。
ここのドキュメント: http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html。彼らの例には、私の「/」とは異なり、「/*」の URL パターンがあることに気付きました。
URL パターンを「/*」に変更したところ、すべてが正しく機能し、唯一の問題は、必要に応じて末尾のスラッシュをいくつでも追加できるようになったことです。
問題は何だと思いますか?また、url-pattern を "/*" に変更すると問題が解決すると思いますか?それとも、問題の適切な場所を探していませんか? 前もって感謝します。:)
編集:(リクエストごとにコントローラーを追加)
eclipse - [Myclass] および [mypropackage.Myclass] という名前のサーブレットは両方とも、許可されていない URL パターン [/myclass] にマップされています
サーバーを起動すると、次のエラーが発生します
localhost のサーバー Tomcat v7.0 サーバーを起動できませんでした。
コンソールでエラーを調べると、これは「[Myclass] および [mypropackage.Myclass] という名前のサーブレットが両方とも、許可されていない URL パターン [/myclass] にマップされている」という問題だと思います。
ここで何が問題で、どのように修正するのですか?
Web.xml コード
サーブレットクラスのコード:
これはコンソールのログです:
java - サーブレットマッピングでスラッシュを持たないパスの一致を避ける方法は?
の形式のリクエストを除いて、すべてのリクエストがサーブレットに送信されるようにサーブレットを設定しようとしてい/foo/*
ます。ただし、サーブレットではなく、サーブレットに行きたいです。web.xml の url-patterns だけでこれを行う方法はありますか?Foo
/foo/bar/*
Bar
/foo/bar
Foo
Bar
私のマッピング:
アスタリスクを削除して、他のいくつかのパターンを試してみましたが、これを行う唯一の方法は、 に特定のマッピングを/foo/bar
設定することですが、もっと良い方法があるはずです。