signoninterceptor.java.svn-base

来自「spring+hibernate做的网上订餐系统」· SVN-BASE 代码 · 共 44 行

SVN-BASE
44
字号
package com.pure.web.spring;

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

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.ModelAndViewDefiningException;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import org.springframework.web.util.WebUtils;

import com.pure.domain.Member;

public class SignonInterceptor extends HandlerInterceptorAdapter {

	/**
	 * 返回<code>true</code>链接将继续执行
	 */
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
			throws Exception {
		MemberSession memberSession = (MemberSession) WebUtils.getSessionAttribute(request, "memberSession");
		if (memberSession == null) {
			String url = request.getServletPath();
			String query = request.getQueryString();
			ModelAndView modelAndView = new ModelAndView("login");
			/**
			 * 初始化表单域
			 */
			request.setAttribute("member",new Member());
			
			if (query != null) {
				modelAndView.addObject("signonForwardAction", url+"?"+query);
			}
			else {
				modelAndView.addObject("signonForwardAction", url);
			}
			throw new ModelAndViewDefiningException(modelAndView);
		}
		else {
			return true;
		}
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?