1

Eclipse では、Web アプリケーションからサーブレットを選択し、コンテキスト メニューから [Run As -> Run on Server] を選択できます。マイナーな問題の 1 つは、ブラウザーが間違った URL で開かれることです。たとえば、次のようなサーブレットを作成しました。

package mypackage;

@WebServlet("/append")
public class AppendTest extends HttpServlet {
@Override public void doGet(HttpServletRequest request, HttpServletResponse response) ... 
...
}

次に、次のような URL を使用してブラウザーでテストできます: http://127.0.0.1:8080/mywebapp/append

しかし、上記で説明したようにサーブレットを実行することを選択すると、ブラウザーは次のように指示されます。

http://127.0.0.1:8080/mywebapp/servlet/mypackage/AppendTest

これはアプリケーションをテストするための小さな問題ですが、実際にはこの問題によってデバッグすることはできません。[Debug As] -> [Debug on Server] を選択すると、同じ問題が発生し、404 http ステータスの後にデバッガが停止するためです。回答 (404 ステータスの後に URL を修正すると、デバッガーはアクティブではなくなります)。

私が使用しているサーブレット コンテナは JBoss です。

助けてくれてありがとう。

アップデート:

サーバーがEclipseで正しく構成されていなかったため、デバッグできませんでした(Eclipseではなく外部で管理されるように構成されています。ヒント@CarlosGavidiaに感謝します)。

これにより、最大の問題が明らかに解決されます。サーブレットを実行/デバッグするたびに煩わしくURLを修正するのではなく、サーブレットの正しいURLをすぐに開くようにEclipseを作成する方法を誰かが知っていれば、感謝します。

これはEclipseのバグだと思い始めています。web.xml で URL パターンを明示的に宣言すると、Eclipse は正しい URL を使用します。つまりWebServlet、サーブレット クラスを記述するときの URL を示すアノテーションの値は、アプリケーションの実行/デバッグ時に Eclipse によって無視されるだけです:(

4

0 に答える 0