개발 공부/전자정부프레임워크

[전자정부프레임워크] Controller 생성해서 jsp 연결

가이윤 2022. 5. 25. 13:46

이 게시물은 이전 게시물에서 이어집니다.

[전자정부프레임워크] 프로젝트 생성 전후에 설정하기

 

[전자정부프레임워크] 프로젝트 생성 전후에 설정하기

전자정부프레임워크로 프로젝트를 생성하고 MariaDB 연동해서 JSP로 출력해보는거까지 정리해보려고합니다. 시간이 지난후에 다시 참고했을때 빠르게 세팅하기 위해서 정리합니다. 처음 해본다

hansol94.tistory.com

 

이번에는 java 파일로 controller를 생성해서 JSP 파일을 URL로 매핑시키는 코드를 작성하겠습니다.

이걸 하면 주소창에 매핑시킨 URL을 입력하면 해당 JSP 파일을 웹 화면에 표시해줍니다.

 

우선 패키지를 생성합니다.

패키지는 패키지명 다음에 '.'(온점)을 입력하면 하위패키지로 구분이 가능합니다.

ex) 상위패키지.하위패키지

egovframework.example 패키지 밑에 controller 패키지를 추가합니다.

 

(참고)

패키지가 보이는 모습이 2가지가 있는데, 지금 보이는 모습은 'Hierarchical' 방식의 모습입니다.

그림에 표시된 세로로 점 3개 있는 것을 클릭해서 'Package Presentation' 클릭하면 선택할 수 있습니다.

 

controller 패키지에 controller 클래스를 생성합니다.

 

클래스에 다음 코드를 추가합니다.

@RequestMapping 사용하면 원하는 URL을 설정해서 해당 메소드를 실행할 수 있도록 합니다.

이렇게 하면 이제 서버를 실행해서 주소창에서 localhost:8080/view.do 입력하면 dbPage 메소드가 실행이됩니다.

URL은 .do 로 끝나야 됩니다. 프레임워크에서 그렇게 설정되어있기 때문입니다. 설정을 추가해주면 .do 없이 사용하는 것이 가능은 합니다.(저는 바꿔본적이 없어서.. pass)

dbPage 메소드에서 ModelAndView는 Model 객체를 반환하고 setViewName 메소드로 jsp 파일을 찾기 위한 실행하고 싶은 jsp 파일의 문자열을 설정할 수도 있습니다.

setViewName 메소드에 원하는 jsp 파일명인 문자열을 입력하면 됩니다.

이후에 view.jsp를 생성할 것이기 때문에 view를 넣었습니다.

 

jsp 파일을 생성하겠습니다.

src/main/webapp/WEB-INF/jsp 폴더 바로 밑에 생성했습니다.

 

jsp 파일에는 간단하게  <body> 태그 안에만 입력했습니다.

이렇게 해서 바로 서버 실행해서 localhost:8080/view.do 입력하면 실행이 되지 않습니다.

 

왜냐하면 설정되어 있는 jsp 파일을 찾는 위치가 다르기 때문에 수정을 해줘야합니다.

수정은 dispatcher-servlet.xml 에서 하면 됩니다.

매번 특정 파일들을 찾기 위해 하위폴더들을 여러 번 찾아서 실행하는것이 번거롭기 때문에 단축키를 이용하면 편합니다. ctrl + shift + R 을 눌러줍니다.

찾고 싶은 파일명의 일부만 입력해도 어느 위치에 파일이 있는지 보여줍니다.

저는 프로젝트가 1개 더 있기 때문에 목록에 2개가 표시되었습니다.

원하는 파일을 클릭해서 Open 합니다.

 

수정할 코드를 찾기 위해서 ctrl + f 를 누르고 prefix 를 입력해서 find 를 누릅니다.

 

prefix 부분의 코드를 수정해주면 됩니다.

이 코드가 위에서 ModelAndView의 setViewName에서 설정한 문자열과 그림의 prefix와 suffix에 있는 문자열을 조합해서 jsp 파일을 실행할 수 있도록 합니다. 

저는 jsp 폴더 바로 밑에 view.jsp를 생성했기 때문에 egovframework/example/ 부분을 지워줍니다.

수정 전
수정 후

저장하고 서버를 재실행해서 URL을 입력하면 결과물이 나옵니다.

jsp는 서버를 실행중인 상태에서 코드를 수정해도 서버를 재실행하지 않아도 웹에서 새로고침하면 바로 반영이 됩니다.

하지만 jsp 외에 *.java 파일이나 *.xml 파일들은 수정을 하면 서버를 재실행해야 반영이 됩니다.

 

 

다음에는 MariaDB를 연동하기 위한 설정을 해보겠습니다.

 

[전자정부프레임워크] MariaDB 연동 설정

 

[전자정부프레임워크] MariaDB 연동 설정

이 게시물은 이전 게시물에서 이어집니다. [전자정부프레임워크] Controller 생성해서 jsp 연결 [전자정부프레임워크] Controller 생성해서 jsp 연결 이 게시물은 이전 게시물에서 이어집니다. [전자정

hansol94.tistory.com