플레이데이터 - 33일차 Spring Framework 학습(5)

Kim Hyen Su·2023년 8월 17일

🌟Spring Framework

스프링 제공 기능

  • 객체 관리(IOC)
  • 👉 MVC(DI) - 느슨한 결합력과 인터페이스
  • 트랜잭션 처리(AOP)
  • 인증과 권한(Servlet Filter)

🌟ViewResolver 사용하기

  • View를 ModelAndView 객체에 담을 때, 일부 경로 및 확장자(.jsp)가 반복 사용된다. 이러한 반복된 코드를 줄이기 위해 ViewResolver를 사용한다.
    Ex) ModelAndView mv = new ModelandView("/WEB-INF/views/idnex.jsp"); -> /WEB-INF/views/ XXX.jsp 코드가 반복됨.
  • dispatcher-servlet.xml 파일에 아래와 같이 ViewResolver를 빈으로 등록해주면, controller 안에서 view 설정 시 JSP 파일명만 입력해주면 출력된다.
▷ dispatcher-servlet.xml
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	<property name="prefix" value="/WEB-INF/views/"></property>
	<property name="suffix" value=".jsp"></property>
</bean>

▷ IndexController.java
public ModelAndView handleRequest(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
	ModelAndView mv = new ModelAndView("index");//※
    mv.addObject("data","Hello Spring MVC");//View에 Model 추가
    return mv;
}

🌟정적 파일 서비스하기

  • image, css, js와 같은 정적 리소스를 외부에서 인식하도록 해줘야 페이지가 완성된다.

  • 위 사진을 보면, mapping으로 설정된 url을 통해서 접근 시 location에 설정된 경로를 기준으로 서버 내부에 있는 정적 리소스에 접근이 가능하다.

  • 설정 방법

  1. dispatcher-servlet.xml 파일 내 mvc 처리기를 추가하기 위한 코드 추가.

  1. url mapping 경로를 "/**" , location을 "/static/"으로 지정하여, 전체 하위 url에서 요청 시, static directory 내 정적 리소스에 접근이 가능하다.

분량...

오늘 강의를 들으면서 정적리소스가 읽히지 않는 문제가 발생하여, 해당 문제를 해결하느라 시간이 다갔다... 원인은 context root 설정을 /로 변경하지 않아서 강사님이 제공해주신 html 소스에 설정된 경로와 맞지 않아서 읽어오지 못했었다...

context root 변경 후 페이지 정상적으로 출력했다.

profile
백엔드 서버 엔지니어

0개의 댓글