자바 팀 프로젝트 생성부터 게시판 구현까지 - jsp 사용하기 4 - 화면출력하기 연습
어제는 실컷 설정하고 공부하는 시간을 가졌고 ,
오늘은 화면에 출력하는 과정을 반복해서 머리에 넣는작업을 가질생각이다.
여러번 반복해서 머리속에 꼭꼭 집어넣자 !!
jsp 로 게시판을 구현하는것과 별개로
우리는 스프링 부트를 사용하기 때문에
컨트롤러를 사용해서 매핑을 해주는것은 똑같다!!
루트경로는
여기서는 webapp 디렉토리 이다.
이 이하의 하위 디렉토리로 우리는
WEB-INF 와
jsp를 보안상의 이유로 만들어 주었다.
만약 해당 디렉토리들을 만들지 않고
index.jsp를 컨트롤러에서 매핑해주고
localhost:8080 경로를 호출하면 어떻게 될까???
index.jsp 를 바로 화면에서 뿌려주겠지만
코드가 바로보이는 문제가 있겠지. 그래서 일종의 숨김과정을 준것이다.
일단 인덱스 페이지 코드를 살펴보자

버튼에 타입을 주고,
온클릭으로 경로를 주었다.
사이에 내용을 적어서
login-바로가기라고 적히게 만들어 주었다.

우리가 application.properties 에서

이렇게 접두사 접미사를 설정해 주었기 때문에
버튼 경로에서 ' 안의내용 '은 앞뒤로 해당 경로와 확장자가 붙게된다 !!
따라서
'login' 은
/WEB-INF/jsp/login.jsp 가 되는것@
이제 컨트롤러 패키지를
메인메소드가 들어있는 메인패키지 경로하에 만들어 줘야 스프링이
그 경로를 읽어준다는거 잊지말고 !!!!

이렇게 만들어 준다.
우리는 com.example.demo.controller 로 패키지를 만들어 줬고,
HelloController 클래스를 생성해서
@Controller 어노테이션으로 컨트롤러임을 선언해주고,
@RequestMapping("/")으로 맨 앞에
접미사로 / 를 넣어주도록 했다.
이 접미사는 앞으로
@GetMapping 이나
@PostMapping
뒤에 올 경로의 맨 앞에 기본처럼 붙게 될것이다.

/login 이라는 url 경로로 매핑을 해준 login()메서드
메서드를 만들때는 반드시 리턴타입을 지정해 줘야한다.
리턴값도 지정해 줘야한다.
만약 리턴할게 없으려면??? void
우리는 String 타입으로 리턴타입을 지정해줬고,
/ WEB-INF / jsp / login.jsp 의 경로로 이동하도록 할것이다.

/login url 일 때, 보여줄 페이지를 이렇게 출력해 주었다.
그러면 login.jsp 파일을 살펴보자

또다른 페이지로~ 라는 버튼이 있는
로그인 페이지의 코드는 이렇게 생겼다.
이렇게 또 다른 페이지로 보내고 싶으면 또 컨트롤러에서 해당부분을 매핑해주고,
경로는 onclick으로 location 지정해 주면 된다 !!