769
No
하이버네이트 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>
로그인
|
댓글 ( 4)
댓글 남기기