signoninterceptor.java

来自「Spring +Web 的完整 MyEclipse 项目源码,使用者可以作为入门」· Java 代码 · 共 33 行

JAVA
33
字号
package org.digitstore.web.struts.form;

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;

public class SignonInterceptor extends HandlerInterceptorAdapter {

    public boolean preHandle(HttpServletRequest request,
            HttpServletResponse response, Object handler) throws Exception {
        UserSession userSession = (UserSession) WebUtils.getSessionAttribute(
                request, "userSession");
        if (userSession == null) {
            String url = request.getServletPath();
            String query = request.getQueryString();
            ModelAndView modelAndView = new ModelAndView("SignonForm");
            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 + -
显示快捷键?