이전 기사에서 Spring Learning Notes 1의 IOC에 대한 자세한 설명을 소개하고 가능한 한 주석과 Java 코드를 사용하려고합니다. 다음 으로이 기사는 Spring Learning Notes 2의 양식 데이터 검증 및 파일 업로드 예제 코드를 소개하는 데 중점을 둡니다. 자세한 내용은이 기사를 참조하십시오!
1. 양식 데이터 검증
등록 할 때 사용자는 계정, 비밀번호, 이메일 및 휴대폰 번호를 작성해야하며 특정 형식을 충족해야합니다. 예를 들어, 계정은 32 자리 미만이어야하며 이메일은 이메일 형식을 충족해야하며 휴대 전화 번호는 11 자리 번호 등이어야합니다. 등록시 확인 정보를 사용하거나 확인을 위해 특별히 도구 클래스를 작성할 수 있습니다. SpringMVC의 간단한 주석을 통해 양식 데이터 검증을 구현하는 방법을 살펴 보겠습니다.
Javax.validation.constraints 패키지에서 여러 주석이 정의됩니다. 예를 들어:
@NotNull : 주석이 달린 요소의 값은 무효가되어서는 안됩니다. 참고 : 양식의 데이터를 채우지 않으면 NULL이 아니라 빈 문자열이라는 것을 의미합니다.
@Size : 주석이 달린 요소는 문자열, 수집 또는 배열이어야하며 길이는 주어진 범위를 충족해야합니다.
@Past : 주석이 달린 요소의 값은 과거 시간이어야합니다.
@digits : 주석이 달린 요소는 숫자 여야하며 그 값은 지정된 숫자를 가져야합니다.
@Pattern : 주석이 달린 요소의 값은 주어진 정규 표현식과 일치해야합니다.
또한 org.hibernate.validator.constraints 패키지에 더 많은 주석이 정의됩니다. 예를 들어:
@Email : 이메일 형식을 일치시킵니다.
@url : URL 형식을 일치시킵니다.
SpringMVC에서 사용하는 방법을 살펴 보겠습니다.
1. 먼저 pom.xml 파일에 필요한 것을로드합니다.
<pectionency> <groupid> javax.validation </groupid> <tritifactid> validation-api </artifactid> <bersion> 1.1.0.final </version> </dependency> <prectionency> <groupId> org.hibernate </groupid> <artifactid> hibernate-validator </artifactid> 5.2.2.2.2.2.2.2.2.2.2.2.2.2.2
javax.validation은 검증 API 만 정의하고 org.hibernate.validator와 같은 API의 구현을 추가해야합니다. 그렇지 않으면 오류 가보고됩니다.
2. 클래스의 속성에 주석을 추가하여 user.java를 예로 들어 보겠습니다.
공개 클래스 사용자는 시리얼이즈 가능 {@size (min = 32, max = 32, message = "uuid가 32 비트 문자열이어야한다") 개인 문자열 id; @size (min = 1, max = 32, message = "계정 길이는 1-32-bit 사이에 있어야한다") 사립 문자열 사용자 이름; @notempty (message = "private strest") empty ")@email (message ="이메일이 비어있을 수 없다 ") 개인 문자열 이메일; @size (min = 11, max = 11, message ="휴대 전화 번호의 길이는 11 자리입니다 ") 개인 문자열 핸드폰;} 메시지 : 양식 데이터 확인이 실패하면 오류 메시지를 표시 할 수 있습니다.
3. USERCONTROLLER에 검증 기능을 적용하고 @Valid 주석을 추가하십시오.
usercontroller.java를 예로 들어 보자.
@controller@requestmapping ( "/user") public class usercontroller {private userervice userervice; @autowiredpublic usercontroller (useveriervice userervice) {this.userservice = userervice;}@regtient = "/register", method = register = register = public regitration (@valid user erours, error errors, errors errors, errors errors) (errors.haserrors ()) {// 양식 검증이 실패하면 등록 페이지로 돌아가면 "register";} if (user.getid () == "") user.setid (uuid.randomuuid (). toString (). replaceall ( "-" "); if (user.getRegdate ()). date (). gettime ()); userervice.adduser (user); reidirect :/user/" + user.getusername ();}} 4. JSP 파일을 작성하고 페이지를 표시하고 register.jsp를 예로 들어갑니다.
<%@ page contenttype = "text/html; charset = utf-8"language = "java"%> <%@ taglib prefix = "c"uri = "http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix = "sf" uri = "http://www.springframework.org/tags/form" %> < %@ page session = "false" %> <html lang = "en"> <head> <title> register </title> register </title> <link rel = "stylesheet"type = "text/css"href = "<c : url value ="/rougcess/style/sss "/>" >/head> <body> <sf : form method = "post"action = "/register/register/register"commandname = "user"> <%-양식 데이터 검증이 실패하면 오류 메시지가 표시됩니다-%> <sf : 오류 경로 = "*"요소 = "div"cssclass = "errors"/> <br/> <table align = "center"> <td> </td> <td> <sf : 입력 경로 = "사용자 이름"csserrorClass = "오류"/> </td> <tr> <td> 비밀번호 : </td> <td> <sf : "password"csserrorclass = "errors"/> </td> </td> <td> email : </td> <td> PATH = "이메일"CSSERRORCLASS = "오류"/> </td> </tr> <tr> <td> 휴대폰 : </td> <td> <sf : 입력 경로 = "휴대폰"csserrorClass = "오류"/> </td> </tr> </table> <입력 유형 = "제출" value = "register"/> </sf : form> </body> </html>
최종 효과는 다음과 같습니다.
2. 파일 업로드
봄에는 파일 업로드가 간단하며 3 단계 만 필요합니다.
1. DispartCherServlet이 AbstractAntationConfigDispatcherServleTinitializer를 상속하는 경우 CustomizerEGESSTRATION () 메소드를 과부하로 Multipart의 특정 세부 사항을 구성하십시오.
@OverRideProtected void customizeregration (servletregistration.dynamic 등록) {// 업로드 된 파일 크기를 2MB 이하로 제한하면 전체 요청이 4M을 초과하지 않으며 모든 업로드 된 파일은 디스크 등록에 기록되어야합니다 (New MultipArtConfigElement (New MultipArtConfigElement), 20971522, 20971522. 0));} 2. Multipart 파서를 구성하십시오.
// multipart Resolver 구성 @BeanPublic Multipartresolver Multipartresolver ()는 IoException {return new StandardserVletMultipartresolver ();} 3. 프로세스 멀티 파트 요청. 사용자가 업로드 한 파일과 같은 정보의 경우 BYTE [] 배열을 사용하여이를 표현할 수 있지만 Spring에서 제공하는 MultipartFile 인터페이스를 권장하는 것이 좋습니다. 파일 이름, 파일 크기, 파일 유형 등과 같은 더 많은 기능을 제공합니다.
@requestmapping (value = "/{username}", method = requestmethod.post) public String showuserInfo (@requestPart ( "ICON") multipartFile Icon) IoException {icon.transferto ( "/users/pingping/projects/spring/spring/register/src/main/webApp/up/up/up/up/upload/" + icon.getoriginalfilename ())); return "user";} Transferto (File Dest) 메소드 : 시스템에 파일을 작성합니다.
지정된 파일 디렉토리의 파일이 성공적으로 업로드되었는지 확인하기 위해 페이지 테스트를 작성하십시오.
<form method = "post"enctarpe = "multipart/form-data"> <label> 아바타 이미지를 업로드? </label> <입력 유형 = "file"name "name"= "icon"accept = "image/jpeg, image/png"value = "파일 선택"/> <button type = "제출"> 확인 </button> </form>
1. 참조 : 봄 실용 연습 (4 판).
2. github 주소 : https://github.com/everseeker0307/register.
위는 Spring Learning Notes 2의 양식 데이터 검증 및 파일 업로드 예제 코드입니다. 편집자가 소개했습니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!