3

2 つの URL の違いは何ですか:

http://localhost:8084/D_Nappster/NewServlet/

http://localhost:8084/D_Nappster/NewServlet

最初の URL では404応答が得られますが、2 番目の URL では期待どおりに動作します。

web.xmlから:

<servlet-mapping>
    <servlet-name>NewServlet</servlet-name>
    <url-pattern>/NewServlet</url-pattern>
</servlet-mapping>
4

3 に答える 3

2

通常、最初の URL はディレクトリとして扱われ、2 番目の URL はファイルとして扱われます。

あなたの場合、最初の URL のマッピングがないため、存在しないディレクトリとして扱われ、404 が発生します。

于 2013-01-27T07:30:39.957 に答える
0

通常/、最後に a があると、サーバーはそれがフォルダーであり、url-pattern で言及されているサーブレットではないと想定されます。

http://localhost:8084/D_Nappster/NewServlet/

したがって、上記の場合、NewServlet フォルダのデフォルト ページを見つけようとします。一方、2 番目の URL では、サーバーはそれがサーブレットであると正しく判断し、UI を完全にレンダリングします。

また、web.xml には url-pattern の定義が含まれていないNewServlet/ため、404 エラーが発生します。

于 2013-01-27T07:29:36.200 に答える
0

/ のない最初の URL は、NewServlet クラスにアクセスします。

/ を含む 2 番目の URL は、NewServlet というフォルダーを検索し、フォルダー内のデフォルト設定にアクセスしようとします。

于 2013-01-27T07:30:06.080 に答える