リクエストマッピングを持つコントローラがあります@RequestMapping("/**")
これはどういう意味ですか?Spring MVCの@RequestMappingアノテーション
上記のマッピングから特定のURLパターンを除外したいのですが、どうすればいいですか?
誰かに光を当ててもらえますか?
リクエストマッピングを持つコントローラがあります@RequestMapping("/**")
これはどういう意味ですか?Spring MVCの@RequestMappingアノテーション
上記のマッピングから特定のURLパターンを除外したいのですが、どうすればいいですか?
誰かに光を当ててもらえますか?
あなたのURLは、 '/ **'と一致するすべてのリクエストを傍受します。これを定義している場所によっては、なぜこれをやりたいのか分かりません。クラスレベルでは、ベースパスを定義する必要がありますが、メソッドレベルでは特定の関数に洗練される必要があります。
あなたはここに/ ** '
を指定して、コントローラに高い優先順位で注文された別のコントローラを定義することができ、パターンを除外したい場合は、春のソースから2つの良いリファレンスです:
/**と/ *の違いは何ですか?私は/ *もカバーすると思う/ ** 私は正しいですか? –
それは逆です。 Googleの "ant style pattern"またはこれに類するもの... –
Regexの "否定先読み"構造の使用により、 "url exclusion"または "url matching not"を達成することができました。
静的リソース以外のもの(CSS/Images/JSなど)とエラーページをハンドラでハンドリングします。
エラーページのhandelingを防止するためには、あなたが/ /エラーとエラーのURLの接頭辞
あなたのコントローラでは以下を使用してください
@Controller
@RequestMapping(value = { "/" })
public class CmsFrontendController {
@RequestMapping(value = { "/" }, headers = "Accept=text/html")
public String index(Model ui) {
return addMenu(ui, "/");
}
@RequestMapping(value = { "{path:(?!resources|error).*$}", "{path:(?!resources|error).*$}/**" }, headers = "Accept=text/html")
public String index(Model ui, @PathVariable(value = "path")String path) {
try {
path = (String) request.getAttribute(
HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
return addMenu(ui, path);
} catch (Exception e) {
log.error("Failed to render the page. {}", StackTraceUtil.getStackTrace(e));
return "error/general";
}
}
}
また、@RequestMappingでURLパターンがどのように機能するかを教えてください。ありがとう。 –