스프링 MVC 학습 과정에서 먼저 몇 가지 주요 매개 변수를 이해해야합니다.
@제어 장치:
클래스에 주석이 달리면이 클래스는 컨트롤러를 프로그래밍하며 프로젝트가 봄을 시작하면이 클래스를 자동으로 스캔하고 해당 URL 라우팅 매핑을 수행합니다.
@ControllerPublic 클래스 userAction {} @requestmapping
URL 매핑 경로를 지정하십시오. 컨트롤러에서 RequestMapping이 구성되면 특정 요청 메소드도 경로를 구성합니다. 매핑 된 경로는 두 경로의 오버레이입니다. 다음과 같은 일반적으로 사용되는 맵 : requestmapping ( "url.html")
매핑 경로 구성 :
@ControllerPublic Class UserAction {@requestMapping (value = "/get_alluser.html") public model 및 getAllUser (String id) {}} 위의 구성 매핑
http : // *** : 8080 : web1/get_alluser.html :
@controller에 @requestmapping (value = "/user")을 추가하면 맵 경로가됩니다.
http : // *** : 8080 : web1/user/get_alluser.html
@ResponseBody
주석 메소드에 해당하는 문자열을 직접 반환하십시오
@requestparam
URL에 해당하는 매개 변수를 동작 위의 값에 자동으로 매핑하고 요청 파람 기본값을 필수 매개 변수로 매핑하십시오.
@pathvariable
@requestmapping 구성의 지정된 형식의 URL 매핑 매개 변수 가져 오기
/ * * 직접 출력 html 또는 json 문자열 * 요청 경로 : * /web1/urlinfo/getcontent.html?key=rhythmk * /web1/urlinfo/getcontent.json?key=rhythmk * */@responsebody @requestmapping (value = "/getcontent._ook")) key, @RequestParam (value = "key2", required = false, defaultValue = "defaultValue") String key2) {System.out.println ( "getContent가 호출됩니다"); 문자열 결과 = "직접 컨텐츠 리턴 - 키 :" + key + ", key2 :" + key2; System.out.println (결과); 반환 결과; } / * * 요청 맵핑은 Ant-Style URL 구성을 지원합니다 : * 요청 경로 : */urlinfo/geturlant/config.html?key=adddd */@responsebody @requestmapping (value = "/geturlant/**") 공개 문자열 geturlant (httpervletrequest) {string result = "? request.getQueryString (); 반환 결과; } / * * 지정된 형식의 URL을 구성하고 해당 매개 변수 * 요청 경로 : /web1/urlinfo/geturlparam/12_1233.html */@requestmapping (value = "/geturlparam/ ({menuid} .html") public modelandview geturlview geturl geturlview geturlview @PathVariable ( "menuid") String MenuId) {modelAndView mode = new ModelAndView (showmsg); mode.adoBject ( "msg", "geted id :" + id + ", menuid :" + menuid); 반환 모드; } /** 후 요청 만 접수됩니다*/@ResponseBody @RequestMapping (value = "/posturl.html", method = requestmethod.post) public String urlMethod (@requestParam String id) {return "전용 사후 요청, eD :" + id; } / * * 쓰기 쿠키 */@requestmapping ( "/writeCookies.html") public model 및 writeCookies (@requestParam 문자열 값, httpservletResponse 응답) {response.addcookie ( "key", value)); ModelAndView Mode = New ModelAndView (showmsg); mode.adoBject ( "msg", "쿠키가 성공적으로 작성된 쿠키"); 반환 모드; } / * * @cookievalue */@requestmapping ( "/getCookies.html")을 통해 해당 키 값을 가져옵니다. public modelandview getCookie (@cookievalue ( "key") String CookValue) {ModelAndView Mode = new ModelAndView (showmsg); mode.adoBject ( "msg", "cookies =" + cookValue); 반환 모드; } / * * Servlet API를 매개 변수로 전달하십시오 * httpservletResponse, httpservletrequest */@requestmapping ( "/servlet.html") public string servlet1 (httpservletresponse 응답, httpservletrequest 요청) {boolean result = null); ModelAndView Mode = New ModelAndView (); mode.adoBject ( "msg", "result =" + result.toString ()); 반환 showmsg; }/ * * URL에 전달 된 매개 변수에 따라 객체를 인스턴스화합니다. * 예 : http://127.0.1:8080/web1/urlinfo/getobject.html?userid=1&username=ad */@requestmapping ( "getObject.html") getobview (userinfo) getObve "user id :" + user.getUserId (). toString () + ", 사용자 이름 :" + user.getusername (). toString (); ModelAndView Mode = New ModelAndView (showmsg); mode.adoBject ( "msg", "result =" + result.toString ()); 반환 모드; }
페이지 점프 구현 :
/ * * 페이지 점프 구현 * /web1/urlinfo/redirectpage.html * */@requestmapping ( "/redirectpage.html") public String redirectPage () {return "return"retudirect : getCookies.html? r = 10 "; } JSON을 직접 반환하십시오
요청 된 URL은 .json에서 끝나야합니다. 그렇지 않으면 예외입니다
로드 리소스 실패 : 서버는 406의 상태로 응답했습니다 (허용되지 않음) :이 요청에 의해 식별 된 리소스는 요청 "accept"headers ()에 따라 허용되지 않는 특성으로 응답을 생성 할 수 있습니다.
리턴 엔티티 :
@jsonserialize (포함 = jsonserialize.inclusion.non_null) public class userInfo {private integer userId; public integer getUserId () {return userId; } public void setUserId (Integer userId) {userId = userId; } public String getUserName () {return username; } public void setUserName (String username) {username = username; } 개인 문자열 사용자 이름; }반환 조치
@ResponseBody @RequestMapping ( "/getUser.json") public userInfo getUser () {System.out.println ( "getUser"); userInfo model = new userInfo (); model.setuserid (100); model.setusername ( "Wang Kun"); 리턴 모델; } 묻다:
/web1/urlinfo/getuser.json
산출:
{ "userId": 100, "사용자 이름": "Wang Kun"}위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.