인터셉터 설정

✅ 인터셉터 지정

<beans:bean 태그에 xmlns설정을 아래가 먼저로 진행되게 변경

xmlns="<http://www.springframework.org/schema/mvc>"
<!--  
		인터셉터 설정
		-  LoginInterceptor 클래스를 빈트로 정의한다.
		설정한 클래스는 해당 위치에 존재해야 합니다. (패키지 구조에 맞는)
	 -->
	<beans:bean id="loginInterceptor" class="kr.or.ddit.controller.intercept.LoginInterceptor"></beans:bean>
	<interceptors>
		<interceptor>
			<mapping path="/login1"/>
			<beans:ref bean="loginInterceptor"/>
		</interceptor>
	</interceptors>erf

LoginInterceptor.java

package kr.or.ddit.controller.intercept;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;

public class LoginInterceptor extends HandlerInterceptorAdapter{

	@Override
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
			throws Exception {
		// TODO Auto-generated method stub
		return super.preHandle(request, response, handler);
	}

	@Override
	public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
			ModelAndView modelAndView) throws Exception {
		// TODO Auto-generated method stub
		super.postHandle(request, response, handler, modelAndView);
	}

	@Override
	public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
			throws Exception {
		// TODO Auto-generated method stub
		super.afterCompletion(request, response, handler, ex);
	}

}

아래의 작업은 위에 LoginInterceptor 클래스를 생성하고 HandlerInterceptorAdapter를 상속 받은 뒤 실행하면 저 위에 3개의 메소드가 오버라이드 된다.

Untitled

Untitled

LoginController.java

package kr.or.ddit.controller.login;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import kr.or.ddit.vo.MemberVO;

@Controller
public class LoginController {
	
	@RequestMapping(value="/login1", method = RequestMethod.GET)
	public String loginForm() {
		return "login/loginForm";
	}
	
	@RequestMapping(value="/login1", method = RequestMethod.POST)
	public String login(String userId, String userPw, Model model) {
		
		MemberVO member = new MemberVO();
		member.setUserId(userId);
		member.setUserPw(userPw);
		member.setUserName("홍길동");
		model.addAttribute("user", member);
		return "login/loginForm";
	}
}