ViewResolver 화면이동 영향 및 담당하는 객체
-> 실질적인 이동은 DispatcherServlet이 담당한다.
Resolver에는 종류가 많기 때문에 이름(id)을 반드시 지정해야한다.
InternalResourceViewResolver 는 통상적으로 많이 사용하지는 않지만 실습용으로 많이 사용한다.
의존성 주입은 setter 주입을 해야한다.
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="viewResolver">
<property name="prefix" value="/"/>
<property name="suffix" value=".jsp"/>
</bean>
페이지에 데이터를 반드시 출력해야할때
>> 상세보기
페이지에 들어갈때 인증 반드시 해야할때
>> 관리자페이지
>> 마이페이지
WEB-INF 하위에 있는 파일은 브라우저, 클라이언트, 사용자가 찾아갈 수 없다.
WEB-INF/views 폴더를 생성하는 이유는 .xml 파일과 나누어 관리를 하기 위해 생성한다.
+ 접근, 인가, 허가 가 필요할때 많이 사용되는 방식이다.
만약 ViewResolver 가 필요없다면
Controller 코드에서 mav.setViewName("redirect:login.jsp"); 로 수정하여 사용해야한다.
이때 forward 방식을 사용할때 ViewResolver를 통과해야할때 mav.setViewName("main");
redirect: 작성 없이 사용이 가능하다.
(이때 redirect:Xxx.jsp 가 있다면 데이터가 없는 페이지구나를 알 수 있다.)
이때 ds-servlet.xml 에 schemal를 추가해야한다.
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context" <-- 추가해야한다.
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.2.xsd">
</beans>
@Component 일반 객체
@Repository DAO
@Service Service
@Controller Controller
@Controller("") -> 어노테이션을 추가하면 implements Controller를 할 필요가 없다.
implements 를 사용한다 사이즈가 큰 프로젝트다.
-> 개발자의 자유도가 낮아지므로 개발자가 편해진다.
@ 어노테이션을 사용한다 메서드가 자유롭고 성능이 좋다.
-> 개발자의 자유도가 높아지고 개발자가 생각해야하는 것이 많아진다.
이때 @Controller 어노테이션을 사용할때
handlrmapper 대신 @RequestMapping 어노테이션으로 대체하여 사용한다.
mav -> request 대신 가볍게 사용하기 위함
session -> web 전체에서 사용할 데이터들을 사용하기 위함
HandlerMapping에 의해
개발자가 new 해주지않아도 Spring 컨테이너가 객체를 생성해준다.
Ex) public String login(HttpServletRequest request, MemberDTO memberDTO)
이때 <use:Bean> 에서 setter 할때 *로 동일한 명칭에 데이터를 받아왔을때 자동으로 넣어준다.
팁 : HttpServletRequest request -> 에서 session 을 사용한다면 다운 캐스팅을 진행하여
HttpSession session로 사용이 가능하다.
Spring에서 MemberDTO memberDTO -> 커맨드 객체 라는 명칭으로 불린다.
'국비 내용 정리 > Spring' 카테고리의 다른 글
국비 65일 내용정리 (Spring 비동기) (0) | 2024.10.14 |
---|---|
국비 63일차 내용정리 (Spring MAV) (0) | 2024.10.10 |
국비 61일차 내용정리 (Spring MAV) (0) | 2024.10.07 |
jsp -> Spring까지의 복습 정리 (0) | 2024.10.07 |
국비 60일 내용정리 (Spring 의존성 주입 방법) (1) | 2024.10.04 |