Spring MVC에서 사용자 입력 유효성 검사: 철저한 가이드
사용자 입력 유효성 검사는 웹에서 양식 데이터의 무결성과 신뢰성을 보장하는 데 중요합니다. 응용 프로그램. Spring MVC는 이 작업을 수행하기 위한 여러 가지 접근 방식을 제공하며 각각 장점과 단점이 있습니다.
방법 1: 주석 기반 유효성 검사
간단한 유효성 검사 요구 사항의 경우 Spring 3을 사용하세요. x 이상에서는 javax.validation.constraints 주석을 사용합니다. 이러한 주석은 Bean 속성에 직접 적용되어 필수 항목으로 표시하거나 특정 제약 조건이 적용되는 항목으로 표시됩니다. 예:
<code class="java">public class User { @NotNull private String name; ... }</code>
컨트롤러에서 @Valid 및 @ModelAttribute를 활용하여 유효성 검사를 수행할 수 있습니다.
<code class="java">@RequestMapping(value="/user", method=RequestMethod.POST) public createUser(Model model, @Valid @ModelAttribute("user") User user, BindingResult result){ if (result.hasErrors()){ // do something } else { // do something else } }</code>
방법 2: 수동 유효성 검사
보다 복잡한 유효성 검사 요구 사항의 경우 org.springframework.validation.Validator 인터페이스를 사용하여 유효성 검사 논리를 수동으로 구현하는 것이 좋습니다.
<code class="java">public class UserValidator implements Validator { @Override public boolean supports(Class clazz) { return User.class.equals(clazz); } @Override public void validate(Object target, Errors errors) { User user = (User) target; if(user.getName() == null) { errors.rejectValue("name", "your_error_code"); } // do "complex" validation here } }</code>
컨트롤러에서:
<code class="java">@RequestMapping(value="/user", method=RequestMethod.POST) public createUser(Model model, @ModelAttribute("user") User user, BindingResult result){ UserValidator userValidator = new UserValidator(); userValidator.validate(user, result); if (result.hasErrors()){ // do something } else { // do something else } }</code>
방법 3: 결합된 접근 방식
주석 기반 검증과 수동 검증을 결합하면 두 접근 방식의 장점을 모두 활용할 수 있습니다.
경고:
검증 처리를 예외 처리와 혼동해서는 안 됩니다. 유효성 검사는 애플리케이션의 비즈니스 규칙 및 데이터 제약 조건과 관련된 반면, 예외 처리는 시스템 오류를 해결합니다.
참고 자료:
위 내용은 Spring MVC에서 사용자 입력을 어떻게 검증합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!