¿Cómo puedo evitar el código duplicado de la cartografía en el proyecto de la primavera?

Hong desarrollador:

Actualmente estoy mapeo páginas usando Page Controller.

Cada página debe comprobar si hay Session, que es un código duplicado .

¿Cómo puedo evitar la duplicación de este código?

@Controller
public class PageController {
...
    @RequestMapping("/view/List")
    public String list(Map<String, Object> model) {
        String session_chk = Utils.SessionCheck(); 
        if(session_chk.equals("none")){
            return "/view/manager/Login";
        }

        return "/view/member/List";
    }

    @RequestMapping("/view/Detail")
    public String detail(Map<String, Object> model) {
        String session_chk = Utils.SessionCheck();
        if(session_chk.equals("none")){
            return "/view/manager/Login";
        }

        return "/view/member/Detail";
    }
...
user7294900:

Añadir un filtro que redirigirá, y añadir cheque

@Component
public class SessionFilter extends OncePerRequestFilter {
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
    if (!request.getRequestURI().contains("view/manager/Login") && "none".equals(Utils.SessionCheck())) {
      httpResponse.sendRedirect("view/manager/Login.jsp");
      //....
    } else {
      doFilterInternal(request, response, filterChain);
    }
}

Puede agregarlo a todas las URL:

FilterRegistration sessionFilter = servletContext.addFilter("SessionFilter", SessionFilter.class);
sessionFilter.addMappingForUrlPatterns(null, false, "/*");

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=231547&siteId=1
Recomendado
Clasificación