シリーズ (SpringMVC学習シリーズ(SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) URLリクエストからアクションまでのマッピングルール) では、単純な get リクエストを示し、単純な helloworld ページを返しました。この記事では、アクションの URL マッピング ルールを構成する方法を学びます。
シリーズ (SpringMVC学習シリーズ(SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) URLリクエストからアクションまでのマッピングルール) では、HelloWorldController に @RequestMapping(value = "/helloworld") を設定しました。これは、コントローラーへのすべてのアクション リクエストが "/helloworld" で始まる必要があることを意味します。
SpringMVC学習シリーズ(SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) URLリクエストからアクションまでのマッピングルール.URLパスマッピング
SpringMVC学習シリーズ(SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) URLリクエストからアクションまでのマッピングルール.SpringMVC学習シリーズ(SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) URLリクエストからアクションまでのマッピングルール. SpringMVC学習シリーズ(SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) URLリクエストからアクションまでのマッピングルールつのアクションに対して複数のURLマッピングを設定する:
前回の記事のHelloWorldControllerのindex()アクションメソッドの@RequestMappingを@RequestMapping(value={"/index ")に変更しました。 , "/hello"}、method = {RequestMethod.GET})、これは、/index と /hello の SpringMVC学習シリーズ(SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) URLリクエストからアクションまでのマッピングルール つのマッピングがこのアクションに対して構成されていることを意味します。次のようにテストを実行します:
/helloworld/hello リクエストも正常に一致していることがわかります。
SpringMVC学習シリーズ(SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) URLリクエストからアクションまでのマッピングルール.SpringMVC学習シリーズ(SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) URLリクエストからアクションまでのマッピングルール. URL リクエストパラメータマッピング:
これは、クエリを実行するときによく使用され、たとえば、ID または番号に基づいて特定のレコードを取得します。
HelloWorldController に getDetail アクションを追加します。コードは次のとおりです:
@RequestMapping(value="/detail/{id}", method = {RequestMethod.GET})public ModelAndView getDetail(@PathVariable(value="id") Integer id){ ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("id", id); modelAndView.setViewName("detail"); return modelAndView; }
where value="/detail/{id}"、その中の {id} はプレースホルダーであり、リクエストをマッピングできることを示します/detail/xxxx URL : /detail/SpringMVC学習シリーズ(SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) URLリクエストからアクションまでのマッピングルールSpringMVC学習シリーズ(SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) URLリクエストからアクションまでのマッピングルールSpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール など。
Integer id メソッドのパラメータ @PathVariable(value="id") は、URL 内のプレースホルダーに対応する変数を @PathVariable(value="id") の value の値にマッピングするために使用されます。 /{id} の中括弧内の値は、プレースホルダーと同じである必要があります。
取得したid値を表示するには、viewsにdetail.jspビューを追加します。ビューの内容は次のとおりです:
<%@ page language="java" contentType="text/html; charset=UTF-SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール" pageEncoding="UTF-SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール"%><!DOCTYPE html PUBLIC "-//WSpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルールC//DTD HTML 4.0SpringMVC学習シリーズ(SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) URLリクエストからアクションまでのマッピングルール Transitional//EN" "http://www.wSpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール"><title>Insert title here</title></head><body> ${id}</body></html>
テストを実行し、URLアドレスをリクエストしますhttp://localhost:SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール0SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール0/SpringMVCLesson/helloworld/detail/SpringMVC学習シリーズ(SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) URLリクエストからアクションまでのマッピングルールSpringMVC学習シリーズ(SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) URLリクエストからアクションまでのマッピングルールSpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール、結果は次のとおりです:
リクエストしたIDが正しく表示されていることがわかります。
SpringMVC学習シリーズ(SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) URLリクエストからアクションまでのマッピングルール.SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール. URL ワイルドカード マッピング:
ワイルドカード文字を使用して URL マッピングを設定することもできます。このうち、「?」は SpringMVC学習シリーズ(SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) URLリクエストからアクションまでのマッピングルール 文字、「*」は複数の文字の一致、「**」は 0 個以上のパスの一致を意味します。
例:
"/helloworld/index?" は "/helloworld/indexA" および "/helloworld/indexB" には一致しますが、"/helloworld/index" や "/helloworld/indexAA" には一致しません。 /helloworld/index*" は、"/helloworld/index"、"/helloworld/indexA"、"/helloworld/indexAA" には一致しますが、"/helloworld/index/A" には一致しません。
"/helloworld/index/* " 「/helloworld/index/」、「/helloworld/index/A」、「/helloworld/index/AA」、「/helloworld/index/AB」には一致しますが、「/helloworld/index」、「/helloworld /index」には一致しません/A/B";
"/helloworld/index/**" は、"/helloworld/index/" の下にある複数のサブパスと一致します (例: "/helloworld/index/A/B/C/D ";
今「/helloworld/index」と「/helloworld/*」があるとして、リクエストアドレスが「/helloworld/index」の場合はどうやってマッチングするのでしょうか? Spring MVC は最長一致第一の原則 (つまり、マッピング設定内で最も一致するもの) に基づいて一致するため、「/helloworld/index」と一致します。 テストを実行しましょう:
urlTest アクションを HelloWorldController に追加します。内容は次のとおりです:
@RequestMapping(value="/*", method = {RequestMethod.GET})public ModelAndView urlTest(){ ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("urltest"); return modelAndView; }
views フォルダーに新しいビュー urltest.jsp を追加します。index.jsp と区別するために、urltest.jsp の内容は次のとおりです。 http://localhost:SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール0SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール0/SpringMVCLesson /helloworld/index をリクエストして結果を表示します:
Index に対応するアクションがマッピングされていることがわかります。
結果を表示するには http://localhost:SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール0SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール0/SpringMVCLesson/helloworld/AAA をリクエストします:
urlTest に対応するアクションがマッピングされていることがわかります。
SpringMVC学習シリーズ(SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) URLリクエストからアクションまでのマッピングルール.4.URL 正規表現マッピング:
Spring MVC还支持正则表达式方式的映射配置,我们通过一个测试来展示:
在HelloWorldController添加一个regUrlTest的action,内容如下:
@RequestMapping(value="/reg/{name:\\w+}-{age:\\d+}", method = {RequestMethod.GET})public ModelAndView regUrlTest(@PathVariable(value="name") String name, @PathVariable(value="age") Integer age){ ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("name", name); modelAndView.addObject("age", age); modelAndView.setViewName("regurltest"); return modelAndView; }
在views文件夹中新加一个视图regurltest.jsp内容如下:
<%@ page language="java" contentType="text/html; charset=UTF-SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール" pageEncoding="UTF-SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール"%><!DOCTYPE html PUBLIC "-//WSpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルールC//DTD HTML 4.0SpringMVC学習シリーズ(SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) URLリクエストからアクションまでのマッピングルール Transitional//EN" "http://www.wSpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール.org/TR/html4/loose.dtd"><html> <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール"> <title>Insert title here</title></head><body> ${name}-${age}</body></html>
请求http://www.php.cn/:SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール0SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール0/SpringMVCLesson/helloworld/reg/Hanmeimei-SpringMVC学習シリーズ(SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) URLリクエストからアクションまでのマッピングルールSpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール查看结果:
请求http://www.php.cn/:SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール0SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール0/SpringMVCLesson/helloworld/reg/Hanmeimei-Lilei查看结果(会发现找不到对应的action返回404):
SpringMVC学習シリーズ(SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) URLリクエストからアクションまでのマッピングルール.限制action所接受的请求方式(get或post):
之前我们在HelloWorldController的index() action方法上配置的为@RequestMapping(value="/*", method = {RequestMethod.GET})我们把它改为@RequestMapping(value="/*", method = {RequestMethod.POST})再次请求http://www.php.cn/:SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール0SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール0/SpringMVCLesson/helloworld/index试一下:
这里可以看到结果映射到了urlTest这个action,这是因为我们在urlTest上配置的为@RequestMapping(value="/*", method = {RequestMethod.GET}),当index这个action映射不在符合时便映射到了urlTest。
我们也可以这样配置@RequestMapping(value="/*", method = {RequestMethod.GET, RequestMethod.POST})表示该action可以接受get或post请求,不过更简单的是不对method做配置则默认支持所有请求方式。
SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール.限制action所接受请求的参数:
我们可以为某个action指定映射的请求中必须包含某参数,或必须不包含某参数,或者某参数必须等于某个值,或者某参数必须不等于某个值这些限制。
SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール.SpringMVC学習シリーズ(SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) URLリクエストからアクションまでのマッピングルール.指定映射请求必须包含某参数:
在HelloWorldController添加一个paramsTest的action,内容如下:
@RequestMapping(value="/paramstest", params="example", method = {RequestMethod.GET})public ModelAndView paramsTest(){ ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("paramstest"); return modelAndView; }
在views文件夹中新加一个视图paramstest.jsp内容如下:
<%@ page language="java" contentType="text/html; charset=UTF-SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール" pageEncoding="UTF-SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール"%><!DOCTYPE html PUBLIC "-//WSpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルールC//DTD HTML 4.0SpringMVC学習シリーズ(SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) URLリクエストからアクションまでのマッピングルール Transitional//EN" "http://www.wSpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール"><title>Insert title here</title></head><body> paramstest!</body></html>
请求http://www.php.cn/:SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール0SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール0/SpringMVCLesson/helloworld/paramstest查看结果:
这里可以看到没有找到paramsTest这个action结果还是映射到了urlTest这个action。
请求http://www.php.cn/:SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール0SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール0/SpringMVCLesson/helloworld/paramstest?example查看结果:
这次可以看到请求映射到了paramsTest这个action。
SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール.SpringMVC学習シリーズ(SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) URLリクエストからアクションまでのマッピングルール.指定映射请求必须不包含某参数:
把刚才添加的paramsTest的@RequestMapping(value="/paramstest", params="example", method = {RequestMethod.GET}) 改为@RequestMapping(value="/paramstest", params="!example", method = {RequestMethod.GET})
重新请求http://www.php.cn/:SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール0SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール0/SpringMVCLesson/helloworld/paramstest?example查看结果:
可以看到又没有找到paramsTest这个action而映射到了urlTest这个action。
SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール.SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール.指定映射请求中或者某参数必须等于某个值:
把刚才添加的paramsTest的@RequestMapping(value="/paramstest", params="example", method = {RequestMethod.GET}) 改为@RequestMapping(value="/paramstest", params="example=AAA", method = {RequestMethod.GET})
http://www.php.cn/:SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール0SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール0/SpringMVCLesson/helloworld/paramstest?example=BBB に結果を表示するようリクエストします:
paramsTest アクションが見つからないが、urlTest にマップされていることがわかります。アクション。
Request http://localhost:SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール0SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール0/SpringMVCLesson/helloworld/paramstest?example=BBB 結果を表示します:
今回は、リクエストが paramsTest アクションにマップされていることがわかります。
SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール.4. マッピング リクエストのパラメータが特定の値と等しくてはならないことを指定します: @RequestMapping(value="/paramstest", params="example", method =
{RequestMethod.GET) を変更します。 }) @RequestMapping(value="/paramstest", params="example!=AAA", method ={RequestMethod.GET}) に変更されました Request http://localhost:SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール0SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール0/SpringMVCLesson/helloworld/ paramstest ?example=AAA 結果を表示します:
リクエストが paramsTest アクションにマッピングされていることがわかります。
Request http://localhost:SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール0SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール0/SpringMVCLesson/helloworld/paramstest?example=AAA 結果を表示します:
paramsTest アクションが見つかりませんが、urlTest アクションにマップされていることがわかります。
4. アクションによって受け入れられるリクエスト ヘッダー パラメーターを制限する:
アクションによって受け入れられるリクエスト パラメーターを制限するのと同じように、アクションのマップされたリクエスト ヘッダーに特定のパラメーターを含める必要があるかどうかを指定することもできます。特定のパラメータが含まれているか、パラメータが特定の値と等しくなければならない、またはパラメータが特定の値と等しくなくてはなりません。
4.SpringMVC学習シリーズ(SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) URLリクエストからアクションまでのマッピングルール. マッピング リクエスト ヘッダーに特定のパラメーターを含める必要があることを指定します:
@RequestMapping(value="/headerTest", headers = "example")。リクエストパラメータを制限するのと同じです。テストには上記の例を参照してください。
4.SpringMVC学習シリーズ(SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) URLリクエストからアクションまでのマッピングルール. 指定されたマッピング リクエスト ヘッダーには、特定のパラメータ
@RequestMapping(value="/headerTest", headers = "!example") が含まれていてはなりません。リクエストパラメータを制限するのと同じです。テストには上記の例を参照してください。 4.SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール. マッピングリクエストヘッダーの特定のパラメータが特定の値に等しい必要があることを指定します:
@RequestMapping(value="/headerTest", headers = "Accept=text/html")。リクエストパラメータを制限するのと同じです。テストには上記の例を参照してください。
4.4. マッピング リクエスト ヘッダー内の特定のパラメーターが特定の値と等しくないことを指定します:
@RequestMapping(value="/headerTest", headers = "Accept!=text/html")。リクエストパラメータを制限するのと同じです。テストには上記の例を参照してください。
注: headers={"exampleSpringMVC学習シリーズ(SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) URLリクエストからアクションまでのマッピングルール", "exampleSpringMVC学習シリーズ(SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) URLリクエストからアクションまでのマッピングルール"} など、ヘッダーに複数のパラメーターを指定すると、and 関係が表されます。つまり、SpringMVC学習シリーズ(SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) URLリクエストからアクションまでのマッピングルール つのパラメーター制限を同時に満たす必要があります。
上記は、SpringMVC 学習シリーズ (SpringMVC学習シリーズ(3) URLリクエストからアクションまでのマッピングルール) の URL リクエストからアクションへのマッピング ルールの内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.ん)!

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。
