2024. 6. 14. 14:48ㆍIT 개발 관련(Java, Spring, JavaScript)
인터셉터
Intercept의 뜻은 "낚아채다" 라는 의미가 있다. 컨트롤러의 핸들러를 호출하기 전과 후에 요청과 응답을 참조하거나 가공할 수 있는 일종의 필터이다.
ex) preHandle() / postHandle() / afterCompletion()
사용자의 요청에 의해 서버에 들어온 Request 객체를 컨트롤러 핸들러로 도달하기전에 개발자가 추가적인 작업을 한 후 핸들러로 보낼 수 있도록 해준다.
그렇다면 왜 사용하는걸까?
이유는 특정 url을 호출 하기전이나 후에 추가적인 작업을 원할때, 로그인 체크, 권한체크 등 이 필요할 때 이다.
참조 : https://kimvampa.tistory.com/127
사용법
아래 예시는 권한별로 메뉴를 나타내고 싶을때 사용하는 예시이다.
servlet-context.xml에 url을 설정해준다.
ex)
<mvc:interceptor>
<mvc:mapping path="/user/**"/>
<bean class= interceptor을 처리할 패키지 및 파일 명(test.java)>
test.java
public class test extends HandlerInterceptorAdapter {
private final Logger log = LoggerFactory.getLogger(test.class);
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
request.setAttribute("menu", "");
//active 설정을 주게 되면 메뉴 글자가 빛남.
request.setAttribute("menu2", "active");
.
.
.
.
return super.preHandle(request, response, handler);
View Resolver
View Resolver 는 Spring MVC에서 사용자가 요청한 URL에 따라 어떤 뷰를 렌더링 할지 결정하는 역할을 한다.
ex) testController
public ModelAndView hello() {
ModelAndView mav = new ModelAndView();
// 뷰이름
mav.setViewName("hello");// setViewName() 메서드를 이용하여 뷰 이름을 지정한 모습
mav.addObject("greeting", getGreeting());
return mav;
}
ex) servlet-context.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!-- Enable Spring MVC -->
<mvc:annotation-driven/>
<!-- View Resolver Configuration -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="WEB-INF/view"/>
<property name="suffix" value=".jsp/>
// 이는 ViewResolver가 "WEB-INF/view/뷰이름.jsp"를 뷰 JSP로 사용한다는 것을 의미한다.
// 즉, 앞의 예에서 HelloController는 뷰 이름으로 "hello"를 리턴하므로, 실제로 사용되는 뷰 파일은 "WEB-INF/view/hello.jsp"파일이 된다.
</bean>
</beans>
출처: https://devbox.tistory.com/entry/Spring-ViewResolver-설정
[Spring] ViewResolver 설정
ViewResolver 설정 뷰 영역 구현컨트롤러는 최종적으로 결과를 출력할 뷰와 뷰에 전달할 객체를 담고 있는 ModelAndView 객체를 리턴한다.DispatherServlet은 ViewResolver를 사용하여 결과를 출력할 View 객체를
devbox.tistory.com
'IT 개발 관련(Java, Spring, JavaScript)' 카테고리의 다른 글
CSRF 토큰 (0) | 2024.06.14 |
---|---|
Tiles (0) | 2024.06.14 |
<form:form>태그 (0) | 2024.06.14 |
소스 반영 (1) | 2024.06.14 |
MyBatis 2개이상 연결 (1) | 2024.06.14 |