springMVC_02 원리 와 Controller 관련 주해 설정

3907 단어 controller
springMVC 기본 원리
 
    첫 번 째 단계: 사용자 가 요청 합 니 다. 예 를 들 어 "http://localhost:8080/springmvc/user/reg?method=reg&name=zs"    두 번 째 단계: 서버 에서 요청 을 받 았 습 니 다. Dispatcher Servlet 이 존재 하 는 것 을 발견 하면 Dispatcher Servlet 에 맡 깁 니 다.        Dispatcher Servlet 내 부 는 Handler Mapping 에 해당 하 는 URL 이 있 는 지 확인 하고 있 으 면 해당 하 는 Controller 에 맡 깁 니 다. 
  /** List of HandlerMappings used by this servlet */
  private List<HandlerMapping> handlerMappings;//      URL Controller     
 
           
세 번 째 단계: 대응 하 는 컨트롤 러 를 찾 은 후 대응 하 는 컨트롤 러 를 실행 합 니 다.
           
STEP 4: Controller 실행 완료 후:
            방법 이 String 으로 되 돌아 오 면 ViewResolver 보기 프로 세 서 를 통 해 처리 합 니 다.
           만약 방법 이 Model AndView 로 돌아간다 면 이 대상 은 모델 과 보기 의 정 보 를 포함 합 니 다. (모델 은 데 이 터 를 저장 하고 jsp 에서 EL 표현 식 으로 값 을 추출 합 니 다)
   
        다섯 번 째 단계: Dispatcher Servlet 는 View Resolver 나 Model AndView 에서 관련 정 보 를 얻어 서버 에 되 돌려 줍 니 다.
          
여섯 번 째 단계: 서버 가 결 과 를 클 라 이언 트 에 응답 합 니 다.
 
==============================================================================
 
@Controller
spring 의 Controller 는 singleton 의 것 입 니 다.
여러 요청 이 같은 콘 톨 러 를 공유 하 는 것 이다.
따라서 Controller 는 무 상태 여야 합 니 다 (구성원 변 수 는 service 대상 일 수 밖 에 없습니다)
springMVC 는 방법 매개 변 수 를 통 해 클 라 이언 트 가 전달 하 는 매개 변 수 를 받 습 니 다.
struts 2 는 Controller 에 구성원 변 수 를 설정 하여 인 자 를 받 습 니 다. struts 2 의 Controller 는 prototype 입 니 다.
 
spring 3 에 서 는 @ Controller 를 통 해 컨트롤 러 클래스 로 정의 할 수 있 습 니 다.
설정 파일 에 component - scan 을 추가 해 야 합 니 다. spring 에 해당 하 는 가방 의 종 류 를 스 캔 하고 @ Controller 를 설정 한 종 류 를 spring 용기 에 등록 하 라 고 알려 야 합 니 다.
<context:component-scan base-package="com.gc.springmvc.controller"/>

 
 @RequestMapping
클래스 에 설정 하면 URL 과 클래스 를 연결 합 니 다. 이 클래스 의 URL 전역 설정 으로 모든 방법 에 유효 합 니 다.
@ RequestMapping (params = "method = reg1") 을 통 해 이 컨트롤 러 의 어떤 방법 이 호출 되 었 는 지 구분 합 니 다.
 
방법 에 설정 하면 URL 과 방법 을 연결 합 니 다. 이 방법의 특유 한 설정 은 이 방법 에 만 유효 합 니 다.
 
 
@RequestParam
클 라 이언 트 가 전달 하 는 매개 변수 이름과 수신 매개 변수 이름 이 일치 하지 않 는 문 제 를 처리 합 니 다.
@ RequestParam 을 통 해 클 라 이언 트 매개 변수 와 일치 하 는 이름 을 설정 한 다음 springMVC 에서 방법 에 있 는 매개 변수 에 값 을 전달 합 니 다.
 
 @SessionAttributes
클래스 단계 에 정의 합 니 다. Model, ModelView, ModelMapping 에 key 를 저장 할 때 session 에 함께 저장 해 야 합 니 다.
@SessionAttributes({"loginUser","xxx"})
"loginUser" 키 를 Model 에 넣 으 면 session 에 저장 합 니 다.
 
@ModelAttribute
session 의 일부 값 을 추출 하여 할당 하 는 방법 에 사용 되 는 형 삼
public String userInfo2(@ModelAttribute("loginUser") User user) {...}
session 에서 key 가 "loginUser" 의 값 을 꺼 내 user 에 게 할당 할 것 입 니 다.
 
============================================================================== 
 
springMVC 의 방법 매개 변수 처리:
클 라 이언 트 가 들 어 오 는 매개 변수 라면 방법의 인삼 이름 은 param 이름과 일치 해 야 합 니 다.
클 라 이언 트 가 들 어 오 는 인자 이지 만 방법 이 일치 하지 않 으 면 @ RequestParam 을 통 해 변환 할 수 있 습 니 다.
만약 방법의 형 삼 이 하나의 대상 이 라면 클 라 이언 트 가 들 어 오 는 매개 변 수 는 대상 의 property 속성 과 완전히 대응 해 야 합 니 다.
 
Model, ModelAndView, ModelMapping, HttpServletRequest, HttpServletResponse 등 이 필요 하 다 면
방법 매개 변수 에 직접 쓸 수 있 습 니 다. springMVC 는 자동 으로 생 성하 고 들 어 옵 니 다.
 
springMVC 의 방법 반환 값 처리:
 일반적으로 String 이나 ModelAndView 로 돌아 가 고 ModelMapping, Map, List, Set, Object 등 도 지원 합 니 다.
String 을 되 돌려 줍 니 다. 보기 의 이름 을 표시 합 니 다. prefix 와 suffix 를 결합 하여 jsp 와 일치 합 니 다.
Model AndView 로 돌아 가면 보기 정보 와 데이터 정 보 를 동시에 포함 합 니 다.
 
 
==============================================================================  
 
springMVcd 의 퍼 가기 와 재 설정
return "forward:userlist"; 기본 값 forword
return "redirect:login";  리 셋 으로 지정
 
 
 
 
 
 
 
 

좋은 웹페이지 즐겨찾기