본문 바로가기

개발관련/국비지원수업

0525 controller, jsp경로,컨트롤러에서 값 받아오기

728x90

디스패쳐서블릿이 동작한다.
서블릿에서 객체 관리 모델이 있는데
거기서 annotation 파일들을 주르륵 읽는다
나한테 해당되는 클래스들 마다 객체들을 생성한다.
그리고 거기다가 이름을 달아준다
그 안에 관리하고있는 RequestMapping을 갖다가
주소테이블을 하나 만든다
나한테 주소가 들어오면 주소요청 핸들러(이벤트핸들러)가
동작한다.
이 핸들러가 내가 가진 주소 테이블에서 
해당하는 주소를 찾는다.
주소를 찾으면 그 클래스를 찾아 매소드를 실행....

이런거 말해도 보여지지 않는 부분이라 이해못하니까

아래 그림을 이해하라고...

 

 

 

testweb에 script 폴더에 있는 jquery 붙여넣기

jsp파일 복사해서 해당 폴더에 붙여넣기

 

 

 

form 태그는 Entity 값들을 지정 주소에 전달한다. 이때 뭘 전달받는지 분별하기 위해 name=을 사용해서 값을 준다.

 

폴더가 달라 경로를 찾아가야하는 수고를 덜어준다. servelet context가 모든 경로를 /resources 아래로 인식하게 한다.

상대경로로 찾지 않아도 된다.

 

 

 

 

 

이렇게 안해도 된다.
이렇게만해도 인식하도록 했다.

 

 

모든주소들이 주소를 기반으로 한

 

 

mapping은 연결하겠다 이다.

 

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 

등록하면

${} 사용 가능 el tag도?

 

요청한 값을 getParameter로 가져와서 syso에 띄울 수 있다.

근데 이렇게하면 value가 생길 때 마다 getParameter로 가져와야한다.

 

 

그래서 RequestParam을 사용하면 변수에 값을 담아 가져올 수 있다.

 

 

 

 

근데 값을 바로 받을 수 있다.

 

 

값과 키를 잘 구분해야 할 것같다.

 

 

키...

 

 

문자열로 받아서 형변환 처리하면 된다. 문자열이 제일 쉬워서 중요하다.

그래서 해쉬맵으로 값을 받을 것이다

 

체크박스를 가져올 때는 list를 사용하게 될 것이다.

(여러값을 가져올 때만 사용해서 거의 체크박스로 사용할 확률이 크다)

@RequestParam ArrayList<String> txt 도 가능하다.

 

 

전체 흐름은 다음과 같다.

form 을 사용해서 web browser에서 데이터를 받아온다.

받아오는 방법은 헤더정보를 이용한 post, 주소를 이용한 get 이 있다.

설정파일에서 알아서 처리해서 controller로 데이터를 보내면

controller에서는 @RequestParam 등 을 이용해 데이터를 받는다.

controller에서 그 변경된 값을 받고

데이터를 추가하기위해서 model and View에 addObject를 사용하여 취득하고

추가한 데이터를 Controller 가 java server page에 보내주면

jsp는 전화면이나 controller나 자바?에서 값을 또 받아서

그걸 html 태그를 이용해서 web browser에 띄워 화면에 보여준다.

그럼 WB에서는 또 form에서 데이터를받고~~~ 반복