복붙노트

[SPRING] Spring MVC로 URL의 유효성을 검사하는 가장 좋은 방법은?

SPRING

Spring MVC로 URL의 유효성을 검사하는 가장 좋은 방법은?

내 웹 애플리케이션에 Spring MVC를 사용하고있다. 나는 사용자가 입력 한 URL이 유효한지 검증 할 필요가 있으며 나를 위해 기본 검사를 수행 할 수있는 뭔가가 Spring에 있는지 궁금해하고 있습니다 (예를 들어 http / https로 시작하고 도메인 이름 등).

ValidationUtils에는 매우 기본적인 검사 만 포함되어 있으며 validate () 메서드에서 정규 표현식을 작성할 수 있지만 다른 사람이 이미 완료 한 경우를 피하기를 선호합니다. :)

감사

해결법

  1. ==============================

    1.과거에는 항상 Hibernate Validator를 사용했습니다. 폼 빈의 해당 필드에 @URL 제약을 붙이기 만하면됩니다.

    과거에는 항상 Hibernate Validator를 사용했습니다. 폼 빈의 해당 필드에 @URL 제약을 붙이기 만하면됩니다.

    이전에 Hibernate의 ORM 부분을 사용 해본 적이 없다면, 그렇게 두려워하지 마십시오. Validator 부분은 ORM에 의존하지 않으며,이를 Spring으로 통합하는 것은 매우 간단합니다.

    어떤 이유로 든 당신이 Hibernate Validator를 사용할 수 없다면 ... 또는 당신이 편한 것을 고수하기를 원한다면, 정규 표현식을위한 좋은 장소는 RegExLib.com이다; URI와 일치 할 수있는 몇 가지 패턴이 여기에 나열됩니다.

  2. ==============================

    2.아파치 커먼즈에서 UrlValidator를 사용하여 종료되었습니다.

    아파치 커먼즈에서 UrlValidator를 사용하여 종료되었습니다.

  3. ==============================

    3.스프링 인터셉터 사용 :

    스프링 인터셉터 사용 :

    http://java.dzone.com/articles/using-spring-interceptors-your

  4. ==============================

    4.나는이 질문이 꽤 오래되었지만 SpringFramework의 PropertyEditors와 함께 갈 것이라고 생각합니다.

    나는이 질문이 꽤 오래되었지만 SpringFramework의 PropertyEditors와 함께 갈 것이라고 생각합니다.

    보다 정확하게 URLEditor가 있습니다.이 URLEditor는 String 표현을 실제 URL 객체로 변환하는 데 사용할 수 있습니다.

    다음은 해당 문서에 대한 링크입니다.

    http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#beans-beans-conversion

    http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/beans/propertyeditors/URLEditor.html

    필자의 경우, Spring Validator에서 다음 코드를 사용하여 사용자가 입력 한 문자열이 유효한 URL인지 여부를 확인합니다.

    try {
            PropertyEditor urlEditor = new URLEditor();
            urlEditor.setAsText(field.getValue());
        } catch (IllegalArgumentException ex) {
                errors.rejectValue("nameOfTheFieldToBeValidated", "url_is_invalid");
    }
    

    그러나 현재로서는 어떤 프로토콜이 유효한 것으로 구성 될지 여부를 확신 할 수 없습니다 (즉, URLEditor는 "classpath :"로 시작하는 URL도 허용하는 것으로 보입니다).

  5. from https://stackoverflow.com/questions/8989454/best-practice-for-validating-a-url-with-spring-mvc by cc-by-sa and MIT license