Spring MVC 학습 - URL 매개 변수 전달 상세 정보
@Controller:
클래스에 주석을 달면 컨트롤러를 프로그래밍하고 프로젝트 시작Spring에서 자동으로 검색하여 URL 루트 매핑을 합니다.
@Controller
public class UserAction{ }
@RequestMappingURL 매핑 경로를 지정합니다. 컨트롤러에 RequestMapping을 설정하면 구체적인 요청 방법도 경로를 설정하면 매핑된 경로는 두 경로의 중첩 상용 매핑입니다. 예를 들어 RequestMapping("url.html")
매핑 경로를 구성하려면:
@Controller
public class UserAction
{
@RequestMapping(value = "/get_alluser.html")
public ModelAndView GetAllUser(String Id)
{
}
}
위 구성 매핑http://***:8080:web1/get_alluser.html:
@Controller에 @RequestMapping(value = "/user")을 추가하면 맵 경로가
http://***:8080:web1/user/get_alluser.html
@ResponseBody
메모 방법에 해당하는 문자열을 직접 반환합니다.
@RequestParam
URL에 해당하는 매개변수를 Action 위에 자동으로 매핑합니다. RequestParam은 기본적으로 필수 매개변수입니다.
@PathVariable
@RequestMapping 구성 지정한 형식의 URL 매핑 매개 변수 가져오기
/*
* HTML, JSON
* :
* /web1/urlinfo/getcontent.html?key=rhythmk
* /web1/urlinfo/getcontent.json?key=rhythmk
* */
@ResponseBody
@RequestMapping(value = "/getcontent.**")
public String GetContent(
@RequestParam("key") String key,
@RequestParam(value = "key2", required = false, defaultValue = "defaultValue") String key2) {
System.out.println("getcontent ");
String result = " - key:" + key + ",key2:" + key2;
System.out.println(result);
return result;
}
/*
* RequestMapping Ant URL :
* :
* /urlinfo/geturlant/config.html?key=adddd
*/
@ResponseBody
@RequestMapping(value = "/geturlant/**.html")
public String getUrlAnt(HttpServletRequest request) {
String result = "? :" + request.getQueryString();
return result;
}
/*
* URL,
* :/web1/urlinfo/geturlparam/12_123.html
*
* */
@RequestMapping(value = "/geturlparam/{id}_{menuId}.html")
public ModelAndView getUrlParam(@PathVariable("id") String id,
@PathVariable("menuId") String menuId) {
ModelAndView mode = new ModelAndView(ShowMsg);
mode.addObject("msg", " Id:" + id + ",menuId:" + menuId);
return mode;
}
/*
* Post
*/
@ResponseBody
@RequestMapping(value = "/posturl.html", method = RequestMethod.POST)
public String UrlMethod(@RequestParam String id) {
return " Post , Id:" + id;
}
/*
* cookie
* */
@RequestMapping("/writecookies.html")
public ModelAndView writeCookies(@RequestParam String value,
HttpServletResponse response) {
response.addCookie(new Cookie("key", value));
ModelAndView mode = new ModelAndView(ShowMsg);
mode.addObject("msg", "cookies ");
return mode ;
}
/*
* @CookieValue key
* */
@RequestMapping("/getcookies.html")
public ModelAndView getCookie(@CookieValue("key") String cookvalue) {
ModelAndView mode = new ModelAndView(ShowMsg);
mode.addObject("msg", "cookies=" + cookvalue);
return mode;
}
/*
* Servlet Api
* action HttpServletResponse,HttpServletRequest
* */
@RequestMapping("/servlet.html")
public String Servlet1(HttpServletResponse response,
HttpServletRequest request) {
Boolean result = (request != null && response != null);
ModelAndView mode = new ModelAndView();
mode.addObject("msg", "result=" + result.toString());
return ShowMsg;
}
/*
* URL
*
* : http://127.0.0.1:8080/web1/urlinfo/getobject.html?UserId=1&UserName=ad
* */
@RequestMapping("getobject.html")
public ModelAndView getObject(UserInfo user) {
String result = " ID:" + user.getUserId().toString() + ", :"
+ user.getUserName().toString();
ModelAndView mode = new ModelAndView(ShowMsg);
mode.addObject("msg", "result=" + result.toString());
return mode;
}
페이지 이동:
/*
*
* /web1/urlinfo/redirectpage.html
* */
@RequestMapping("/redirectpage.html")
public String RedirectPage()
{
return "redirect:getcookies.html?r=10";
}
JSON으로 바로 돌아가기요청한 URL 주소는 반드시 입니다.json 엔딩, 그렇지 않으면 이상
Failed to load resource: the server responded with a status of 406 (Not Acceptable) : The resource identified by this request is only capable of generating responses with characteristics not acceptable according to the request "accept"headers ()
반환 엔티티:
@JsonSerialize(include = 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;
}
private String UserName;
}
리턴 액션
@ResponseBody
@RequestMapping("/getuser.json")
public UserInfo GetUser()
{
System.out.println("getuser");
UserInfo model=new UserInfo();
model.setUserId(100);
model.setUserName(" ");
return model;
}
요청:/web1/urlinfo/getuser.json
출력:
{"userId":100,"userName":" "}
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
springmvc application/octet-stream problemmistake: Source code: Solution: Summarize: application/octet-stream is the original binary stream method. If the convers...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.