、安らかなスタイル
1.各リソースのURIを表し
2.クライアントは、GET、POST、PUTを使用して、DELETE4動詞は、サーバーリソースの動作の動作モードを示します。リソースを取得するために使用されるGET、POST、新たな資源のために(リソースを更新するためにも使用することができます)、リソースを更新するために使用されるPUT 、リソースを削除するには削除します。
/ *のRESTful - >ユーザ/ 1.doの
方法:GET要求処理方法いることを示し
{ID}に割り当てられた1
( "UID" @PathVariableを使用して、{ID}(想定UID)とは異なるパラメータ名場合@PathVariable )
* /
@RequestMapping(値= "{ID}"、メソッド= RequestMethod.GET)// 示すそのパラメータはなく、パス パブリック文字列selectById(@PathVariable INT ID){ // 。変数は、これがパスであることを示す のSystem.out.println( "selectByName ===" + ID); リターン "メイン" ; }
/user/.doを追加しました。問題の安らか.doというサフィックスを持つスタイルとJSPは、そうでない場合は、POSTリクエストのエラーを使用して報告されることはありません、ここで.doという追加する必要があります
@RequestMapping( "行う"値=、方法= RequestMethod.POST) パブリック文字列インサート(ユーザユーザ){ System.out.printlnは(ユーザ)。 戻る「メイン」。 }
入れて、削除の実施形態は、web.xml内に配置されたフィルタが必要
< フィルター> < フィルタ名> hiddenHttpMethodFilter </ フィルタ名> < フィルタクラス> org.springframework.web.filter.HiddenHttpMethodFilter </ フィルタリングクラス> </ フィルタ> < フィルタマッピング> < フィルタ名> hiddenHttpMethodFilter </ フィルタ名> < のurl-pattern > / * </ のurl-pattern > </ のfilter-mapping >
変換ポストを置くか、または削除するには(「削除」)「置く」モード:要求では、必要にデータ_methodを追加します
値が値を追加することはできません/user/1.do修正、.doという
(値=「{ID}」、メソッド= @RequestMapping RequestMethod.PUT)を // responseBody @は、コンテンツの形式で結果を返すと結合されるように、唯一のAjax PUT要求である パブリック文字列更新(@PathVariable整数ID、ユーザユーザ){ System.out.printlnは(ユーザー + "に従って" + ID); リターン "メイン" ; }
/user/1.do、この値は、値を追加することはできません.doという
(値= "{ID}"、方法= @RequestMapping RequestMethod.DELETE)を @ResponseBody パブリック文字列の削除(@PathVariable整数ID){ するSystem.out.println( "删除ID" + ID)。 戻る「メイン」。 }
二、springmvc例外処理
今注釈を使用@ExceptionHandler
クラスを追加する1.controller方法
@ExceptionHandler 公共のModelAndViewエラー(例外例外){ のModelAndViewのMV = 新規のModelAndView()。 mv.addObject( "エラー" 、exception.getMessage()); mv.setViewName( "エラー" ); System.out.println( "局部处理异常" ); 返すMVを。 }
2.クラスのコントローラに加え、世界的なメモを追加
@ControllerAdvice パブリック クラスExceptionController { @ExceptionHandler 公共のModelAndViewエラー(例外例外){ のModelAndViewのMV = 新規のModelAndView( "エラー" )。 mv.addObject( "エラー" 、exception.getMessage()); 返すMVを。 } }
例外に捕捉例外がメソッドに転送されると、例外情報を収集し、例外ページに転送されます。しかし、もっと安らかなスタイルメソッドが例外ページ、一時的な方法にジャンプすることができない、一般的な問題が解決しない方法はそのようなではありません
三、springmvc共通コメント
@Controller:クラスラベルクラスは、制御層です。
@RequestMappint:要求されたアドレスをマーク
@ResponseBody:JSONオブジェクトにJavaオブジェクト。
@Valid:注釈データをチェック
@PathVariable:送付方法URIを割り当てられたパラメータ値を受け取ります
@SessionAttributes:セッション名フィールドに格納された設定し、デフォルトのキー値
@RequestParam:パラメータマッピング名として値リクエストパラメータ名を、パラメータが必要な場合に必要な;はdefaultValueパラメータ設定要求のデフォルト値
@ExceptionAdvice:クラスラベルクラスの例外処理
@ExceptionHandler:標識法は、例外処理のための方法です。
@InitBinder:処理パラメータの日時