[SPRING] 게시판만들기 6 [ Spring MVC 적용]

🐷Jinie (juniorDeveloper)·2020년 12월 1일
0

JSP/MVC/SPRING

목록 보기
56/81

1. HandlerMapping 등록

  • HandlerMapping의 종류
    1. SimpleUrlHandlerMapping : URL과 컨트롤러 이름을 직접 매핑 한다.
    2. BeanNameUrlHandlerMapping : URL과 일치하는 이름을 갖는 빈을 컨트롤러로 사용한다.
    3. ControllerClassNameHandlerMapping : URL과 매칭되는 클래스 이름을 갖는 빈을 컨트롤러로 사용한다.
    4. DefaultAnnotationHandlerMapping : @RequestMapping 어노테이션을 이용하여 컨트롤러와 매핑한다.

2. 상세 Controller 수정 및 정리하기

  • 전부 다 스프링을 통해서 연결될 수 있도록 처리한다.
  • spring 프레임워크를 사용해 Controller를 만들고 handlerRequest메서드의 return형은 ModelAndView형
  • Model과 View를 함께 넘길 수 있는 것이 ModelAndView형이다.

    ModelAndView 형?

    • 데이터를 전송시킬 수 있는 리턴타입
    • setViewName : 어떤 페이지를 보여줄 것인지
    • addObject : key와 value를 담아 보낼 수 있는 메서드
      setAttribute를 여러개 썼던 것 처럼, addObject도 여러개 쓸 수 있다.

  • select 쿼리를 활용하기위한 Controller에서 기존에 이용하던 session.setAttribute 대신 ModelAndView.addObject("name","value");를 사용한다.
    ModelAndView.addObject("name","value");는 List형, Object형 모두 별도 지정없이 .addObject를 통해서 이용할 수 있다는 점이 특이한 점이다.

3. ViewResolver 활용하기

  • 사용자로부터 직접적인 JSP호출을 차단할 수 있다.
  • JSP를 View로 사용하는 경우 InternalResourceViewResolver를 사용한다.
  • 먼저 WEB-INF폴더에 새로운 분류폴더를 만들어서 JSP파일을 모아 이동한다.
  • viewResolver를 presentation-layer.xml 파일(ContextConfig)에 설정한다.
  • 접두어와 접미어를 이용해서 처리한다.
  • viewResolver 설정 후 viewResolver를 무시하고 바로 가도록 설정하려면 redirect: 를 넣어서 주소를 연결해야한다.
  • 확장자가 .jsp인 경우 viewResolver를 거쳐서 .jsp가 붙을 수 있도록 처리한다.

  • 이렇게 처리하면 /WEB-INF/에 폴더를 만들어 숨긴 JSP파일들은 사용자가 주소창에 주소를 입력해서 JSP페이지가 열리지않는다.
profile
ᴘᴇᴛɪᴛs ᴅᴇ́ᴠᴇʟᴏᴘᴘᴇᴜʀ. ᴘʀᴏɢʀᴀᴍᴍᴀᴛɪᴏɴ = ᴘʟᴀɪsɪʀ 💕

0개의 댓글