JSP

하이버네이트 validator 설치 

 

class MyValidatorFactory


public class MyValidatorFactory {

	//유효성 체크
	public static Validator createValidaor(){
		ValidatorFactory factory =Validation.buildDefaultValidatorFactory();
		return factory.getValidator();
	}
	
}

 

class CreateUserServlet

package com.slipp.user;

import java.io.IOException;
import java.util.Iterator;
import java.util.Set;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.ConstraintViolation;
import javax.validation.Validator;

import com.slipp.db.Database;
import com.slipp.support.MyValidatorFactory;

@WebServlet("/users/save")
public class CreateUserServlet extends HttpServlet {

	@Override
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
			
		String userId=request.getParameter("userId");	
		String password=request.getParameter("password");
		String name=request.getParameter("name");
		String email=request.getParameter("email");
	
		User user=new User(userId, password, name, email);
		Validator validator=MyValidatorFactory.createValidaor();  
		Set<ConstraintViolation<User>> constraintViolations=validator.validate(user);
		if(constraintViolations.size() >0){
			String errorMessage=constraintViolations.iterator().next().getMessage();
			forwordJSP(request, response, errorMessage);
			return;
		}else {
			
		}
		
		Iterator<ConstraintViolation<User>> iterator =constraintViolations.iterator();
		while(iterator.hasNext()){
			ConstraintViolation<User> each=iterator.next();	
		}	
		//Database.addUser(user);
		UserDAO dao =new UserDAO();
		dao.insert(user);	
		response.sendRedirect("/");
		
	}
	
	private void forwordJSP(HttpServletRequest request, HttpServletResponse response,
			String errorMessage) throws ServletException, IOException{
		request.setAttribute("errorMessage", errorMessage);
		RequestDispatcher rd=request.getRequestDispatcher("/login.jsp");
		rd.forward(request, response);
	}
	

}

 

form.jsp


				<form class="form-horizontal" action="/users/save" method="post">
					<c:if test="${not empty errorMessage }">
						<div class="control-group">
							<label class="controls">${errorMessage }</label>
						</div>
					</c:if>
					<div class="control-group">
						<label class="control-label" for="userId">사용자 아이디</label>
						<div class="controls">
							<input type="text" name="userId" value="" />
						</div>
					</div>
					
					

 

지속가능한 삶, 프로그래밍, 프로그래머

로그인

반드시 최소값 2과(와) 최대값 12 사이의 크기이어야 합니다.

사용자 아이디

비밀번호

로그인

 

 

 

 

 

 

 

 

 

 

about author

PHRASE

Level 60  머나먼나라

다섯 가지 맛 중에서 절대로 없어서는 안 되는 것은 소금이다. 그러나 되도록 적게 가능하면 먹지 않는 것이 좋다. -동의보감

댓글 ( 4)

댓글 남기기

작성