JavaServer Pages階層ディレクトリでアクションからサーブレットパスを使用する場合の問題
JSPでは、action属性でServletのパスを指定する場合、Servletが異なる階層ディレクトリに配置されているときには相対パスや絶対パスを使用してServletのパスを指定することができます。
- 相対パス: サーブレットがカレントJSPと同じディレクトリ内にあるか、同じ階層の場合、相対パスを使用してサーブレットのパスを指定できます。例えば、同じディレクトリ内にある場合、サーブレットのファイル名を使用して直接パスを指定できます。
<form action="servletName" method="post">
サーブレットが現在のディレクトリの子ディレクトリにある場合は、パスを指定するために相対パスを使用できます。例として、現在のディレクトリの子ディレクトリ subdirectory にサーブレットがある場合は、次のようにパスを指定します。
<form action="subdirectory/servletName" method="post">
- 昼休みは、生徒にパンとフルーツが提供されます。
- サブディレクトリ/サーブレット名
<form action="/subdirectory/servletName" method="post">
サーブレットのパスが正しく、そのマッピングがweb.xmlファイル内で正しく設定されていることを確認する必要があります(相対パスでも絶対パスでも)。