1. Controller.java - PAGE 이동
@Controller
public class UserController {
@GetMapping("/user/joinForm")
public String joinForm() {
return "user/joinForm";
}
2. joinForm.jsp - PAGE
<script src="/blog/js/user.js"></script>
3. user.js - JS_AJAX 처리
$.ajax({
type: "POST",
url: "/blog/api/user",
data: JSON.stringify(data),
contentType: "application/json; charset=utf-8",
dataType: "json"
}).done(function(resp){
alert("회원가입 완료");
console.log(resp);
location.href = "/blog";
}).fail(function(error){
alert(JSON.stringify(error));
4. Restcontroller.java _JSON/JPA
@PostMapping("/api/user")
public ResponseDto<Integer> save(@RequestBody User user) {
userService.회원가입(user);
return new ResponseDto<Integer>(HttpStatus.OK.value(),1);
5. UserService.java
@Autowired
private BCryptPasswordEncoder encoder;
@Autowired
private UserRepository userRepository;
@Transactional
public void 회원가입(User user ) {
String encodePWD = encoder.encode(user.getPassword());
user.setPassword(encodePWD);
user.setRole(RoleType.USER);
userRepository.save(user);
}
6. HOME.jsp