로그인 페이지에서 성공페이지로 이동같은 페이지 전환시키기위해 필요한 과정들
xml파일 > 디스패처에 > 해달패키지 포함
해당패키지에 Controller생성(=자바 클래스)
Controller 파일들을 분류할 폴더생성
폴더에 > 시작화면 파일, 전환화면 파일생성
ex) 아이디와 비밀번호의 값을 받고 아이디와 비밀번호가같을경우 성공페이지로 전환시키는 경우
Controller에는 @Controller 와 @RequestMapping을 이용하여
시작파일 ,전환 파일의 요청을 맵핑
또한 시작파일에서 전환파일로 보내는 요청또한 맵핑
======================아래는 응용해야하는 것들============================
@RequestMapping -옵션 { value = "맵핑할값지정" method =get/post방식 지정}
JSP에서 배운 vo방식으로 여러요청을 하나의클래스에 전부 받아들이는 vo클래스 생성후 매개변수로 전달받을수 있다
Model클래스의 활용 Model model을 객체로 전달받은후
model.addAttribute("키이름" , 넣을값) 으로 입력하면
viewreslover에서 키이름을 표현언어형식으로 해당화면에 사용가능하다
@ModelAttribute 어노테이션 이용하기
(ntmi.. form에서넘기는값은 다String타입이다)
매개변수에 @ModelAttribute("키이름") <--String a 이런식으로 쓰면 컨트롤러중간에도 값사용가능
반환받는 페이지에서 키이름을 표현언어형식으로 사용가능하다
이것을 응용하여 키이름에 vo객체를 넣는다면
${ 키이름.아이디} ${키이름.비밀번호} 처럼 응용이 가능하다
redirect페이지 스프링에서 구현하기
특징
- forward형식이 아니기때문에 요청경로가 url에뜬다
- JSP에서는 요청에담긴 값이 redirect시에 소멸하는것이 맞지만
스프링에서는 매개변수로 RedirectAttribute 변수명 을 전달받은후에
변수명.addFalshAttribute("키이름", 값); 을지정해 전환할페이지 값을전달하거나 새로운값을 전달할수있따
사용방법
- return 경로를 redirect:/ ~~형식으로 지정해주면 된다
- ~~형식이 폴더명/res_redirect 이였다면 res_redirect의 맵핑을 하나추가해주면 된다
JSTL이란 스크립트릿에서 if ,for문과같은것을 좀더 편하게쓰기위해 사용하는 라이브러리
ex) 디렉티브에
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 라고 입력후
<c:forEach> 태그형식을통해서 for문을 쓸수있다
<c:forEach var ="값을담을 객체명" items="${배열형태로 데이터를담은 객체명} varstatus="값을돌때마다 인덱스주소 를 저장한 변수명?"></c:forEach>
--------------------------------------------------------
처음에 연습처럼 컨트롤러 만 이용했다면 이제는 인터페이스,DAO,DO가 구현됐다 사용의미를 알아보자
인터페이스 - 다형성을위해
DO - 데이터를 하나의클래스에 담기위해
DAO - 전달받은 DO와 요청을통해 원하는값을 얻기또는 수정하기위해 DB에 접근하기위해
----------------------------------------------------------
경로개념 정리
* = 와일드카드
* 는 어떤경로든간에 모두포함 지금까지 tar.* <이런식으로 사용해서 tar로시작하는 모든경로를 다포함한다생각했다
맞는말이지만 엄밀하게는 tar.다음 첫번쨰 어떤경로가와도 그경로를포함한 모든경로를 다포함한다는것이다
이해를 돕기위한 예시로 tar/*/taa 라고 경로설정을 한다면
*에는 어떤것이와도 전부 포함이된다 하지만 tar/aaa/bbb/taa 처럼 2개이상의 경로가들어오면
tar/*/taa 는 tar/aaa/bbb/taa를 잡아낼수 없다
반면에 ** 를 썼을때는 모든경로를 다잡아낼수있다.