spring mvc 4 의 주석 에 대한 상세 한 설명 튜 토리 얼
8497 단어 springmvc4주해
본 고 를 시작 하기 전에 다음 과 같이 설명 하 겠 습 니 다.먼저 저 는 springmvc 를 처음 배 웠 습 니 다.인상 을 깊 게 하 는 목적 으로 springmvc 4 와 관련 된 주 해 를 정리 하 는 동시에 관련 조회 가 필요 한 독자 에 게 도움 을 주 고 싶 습 니 다.자,다음은 더 이상 말 하지 않 겠 습 니 다.상세 한 소 개 를 보 겠 습 니 다.
1.@Controller
Controller 컨트롤 러 는 서비스 인 터 페 이 스 를 통 해 정 의 된 접근 프로그램 을 제공 하 는 행위 로 사용자 의 입력 을 설명 하고 모델 로 변환 한 다음 사용자 에 게 바 치 려 고 합 니 다.Spring MVC 는@Controller 정의 컨트롤 러 를 사용 합 니 다.클래스 경로 에 정 의 된 구성 요 소 를 자동 으로 감지 하고 자동 으로 등록 할 수 있 습 니 다.자동 감지 가 적용 되 려 면 xml 헤더 파일 에 spring-context 를 도입 해 야 합 니 다.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:p="http://www.springframework.org/schema/p"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
<context:component-scan base-package="com.chen" />
</beans>
2.@RequestMappingRequestMapping 주 해 는'/admin'과 같은 URL 을 전체 클래스 나 특정한 처리 방법 에 투사 합 니 다.일반적으로 클래스 등급 의 주 해 는 폼 컨트롤 러 에 특정한 요청 경 로 를 매 핑 하고 방법 등급 의 주 해 는 특정한 HTTP 방법 요청("GET","POST"등)이나 HTTP 요청 매개 변수 로 만 매 핑 됩 니 다.
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
@RequestMapping("admin")
public class LoginController {
@RequestMapping(value = "login" , method = RequestMethod.GET , consumes = "text/html")
public String toLoginPage(){
return "/WEB-INF/jsp/login.jsp";
}
}
상기 url 의 방문 주 소 는 localhost:8080/proj/admin/login.html 입 니 다.consumes-요청 한 제출 내용 형식 을 지정 합 니 다.예 를 들 어 application/json,text/html.
produces-되 돌아 오 는 콘 텐 츠 형식 을 지정 합 니 다.request 요청 헤더 에 있 는(Accept)형식 에 만 이 지정 한 형식 이 포함 되 어 있 을 때 돌아 갑 니 다.
value-요청 한 실제 주 소 를 지정 합 니 다.지정 한 주 소 는 URI Template 모드 일 수 있 습 니 다.
A)일반적인 구체 적 인 값 으로 지정 할 수 있다.
B)특정한 변 수 를 포함 하 는 클래스 값(URI Template Patterns with Path Variables)으로 지정 할 수 있 습 니 다.
C)정규 표현 식 을 포함 하 는 클래스 값(URI Template Patterns with Regular Expressions)으로 지정 할 수 있 습 니 다.
다음 예제:
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class BlogController {
@RequestMapping(value = "blog/{nick}/{year:20\\d{2}}/{month:1|1[0-2]}/{day:[12][0-9]|30|[1-9]}" , method = RequestMethod.GET)
public String toBlogPage(@PathVariable String nick,
@PathVariable Integer year,@PathVariable Integer month,@PathVariable Integer day){
return "/WEB-INF/jsp/blog.jsp";
}
}
params-지정 한 request 에 일부 매개 변수 값 을 포함해 야 이 방법 을 처리 할 수 있 습 니 다.headers-지정 한 request 에는 지정 한 header 값 이 포함 되 어 있어 야 요청 을 처리 할 수 있 습 니 다.
다음 예제:
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class BlogController {
// request header “Refer” “http://www.ttyouni.com/”
@RequestMapping(value = "image", headers="Referer=http://www.ttyouni.com/" )
public String getImage(){
return "/WEB-INF/jsp/image.jsp";
}
}
3.@RathVariableSpring MVC 에 서 는@PathVariable 주석 방법 인 자 를 사용 하여 URI 템 플 릿 변수의 값 에 연결 할 수 있 으 며,이전 예제 에서 도 관련 표현 이 있 습 니 다.
4.@RequestParam
@RequestParam 은 요청 한 인 자 를 방법의 인자 에 연결 합 니 다.사실 이 인 자 를 설정 하지 않 아 도 주 해 는 기본적으로 이 인 자 를 사용 합 니 다.지정 한 인 자 를 사용자 정의 하려 면@RequestParam 의 required 속성 을 false 로 설정 할 수 있 습 니 다.
5.@RequestBody
@RequestBody 는 HTTP 요청 Body 에 방법 인자 가 연결 되 어야 한 다 는 것 을 말 합 니 다.
6.@SessionAttibutes
@Session Attibutes 는 ModelMap 대상 의 put 작업 설정 과 관련 된 session 을 통 해 attibute 대상 에 도 이 대상 이 있 을 수 있 습 니 다.
예 는 다음 과 같다.
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.SessionAttributes;
import com.chen.proj.service.UserService;
@Controller
@RequestMapping("admin")
@SessionAttributes("user")
public class LoginController {
@Resource
UserService service;
@RequestMapping(value = "doLogin", method = RequestMethod.POST)
public String doLogin(@RequestParam String username , @RequestParam String password, HttpServletRequest request,
ModelMap map ){
try {
User user = service.doLogin(username, password);
map.put("user", user);
} catch (Exception e) {
request.setAttribute("error", e.getMessage());
return "/WEB-INF/jsp/login.jsp";
}
return "/WEB-INF/jsp/loginsuccess.jsp";
}
}
7.@ResponseBody@ResponseBody 는@RequestBody 와 유사 합 니 다.반환 형식 을 HTTP response body 에 직접 입력 하 는 역할 을 합 니 다.@Response Body 는 JSON 형식의 데 이 터 를 출력 할 때 사용 합 니 다.
예 는 다음 과 같다.
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.chen.proj.bean.User;
@Controller
public class JsonController {
@ResponseBody
@RequestMapping("/getJson")
public User getUserInfo(){
User user = new User();
user.setPassword("1234");
user.setUsername("jsontest");
return user;
}
}
8.@RestControllerjson,xml 또는 다른 사용자 정의 형식 에 만 서 비 스 를 제공 하 는 컨트롤 러 가 REST API 를 실현 하 는 것 을 자주 볼 수 있 습 니 다.@RestController 는 REST 형식의 컨트롤 러 와@Controller 형식 을 만 드 는 데 사 용 됩 니 다.@RestController 는 이러한 유형 입 니 다.@RequestMapping 과@Response Body 를 반복 적 으로 쓰 는 것 을 피 할 수 있 습 니 다.
9.@ModelAttribute
@ModelAttribute 는 방법 이나 방법 적 매개 변수 에 작용 할 수 있 습 니 다.방법 에 작용 할 때 이 방법 을 표시 하 는 목적 은 하나 이상 의 모델 속성 을 추가 하 는 것 입 니 다.
방법 매개 변수 에 작용 할 때 이 매개 변 수 는 방법 모델 에서 검색 할 수 있 음 을 나타 낸다.이 매개 변수 가 현재 모델 에 없 으 면 이 매개 변 수 는 먼저 실례 화 된 다음 모델 에 추 가 됩 니 다.모델 에 이 인자 가 있 으 면 이 인자 의 필드 는 모든 요청 매개 변수 가 일치 하 는 이름 을 채 워 야 합 니 다.이것 은 spring mvc 에서 중요 한 데이터 바 인 딩 메커니즘 으로 모든 폼 필드 를 단독으로 분석 하 는 시간 을 절약 합 니 다.
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import com.chen.proj.bean.User;
@Controller
public class UserController {
@ModelAttribute
public User addUser(@RequestParam String number) {
return service.findUser(number);
}
@ModelAttribute
public void populateModel(@RequestParam String number, Model model) {
model.addAttribute(service.findUser(number));
// add more ...
}
}
주해 의 출현 은 xml 프로필 이 하늘 로 날 아 다 니 는 시 대 를 끝 냈 고 프로그램 이 더욱 높 은 가 독성 과 유연성 을 가지 게 했다.좀 더 깔끔 하고 명료 한 느낌 을 준다.총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
spring mvc 4 의 주석 에 대한 상세 한 설명 튜 토리 얼Controller 컨트롤 러 는 서비스 인 터 페 이 스 를 통 해 정 의 된 접근 프로그램 을 제공 하 는 행위 로 사용자 의 입력 을 설명 하고 모델 로 변환 한 다음 사용자 에 게 바 치 려 고 합 니 다.S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.