Spring Security 시작전 요청주소 변경
UserController.java
@GetMapping("joinForm")
public String joinForm() { // 회원가입 폼 띄우는 메서드
return "user/joinForm";
}
@GetMapping("loginForm")
public String loginForm() { // 로그인 폼 띄우는 메서드
return "user/loginForm";
}
header.jsp
<nav class="navbar navbar-expand-md bg-dark navbar-dark">
<a class="navbar-brand" href="/">LWJ</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#collapsibleNavbar">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="collapsibleNavbar">
<!-- JSTL 태그 라이브러리 -->
<c:choose>
<c:when test="${ empty sessionScope.principal }"> <!-- 로그인이 안돼있을때 -->
<ul class="navbar-nav">
<li class="nav-item"><a class="nav-link" href="/loginForm">로그인</a></li>
<li class="nav-item"><a class="nav-link" href="/joinForm">회원가입</a></li>
</ul>
</c:when>
<c:otherwise>
<ul class="navbar-nav"> <!-- 로그인 돼 있을때 -->
<li class="nav-item"><a class="nav-link" href="/board/form">글쓰기</a></li>
<li class="nav-item"><a class="nav-link" href="/user/form">회원정보</a></li>
<li class="nav-item"><a class="nav-link" href="/logout">로그아웃</a></li>
</ul>
</c:otherwise>
</c:choose>
</div>
</nav>
application.yml
server:
port: 8001
servlet:
context-path: /
encoding:
charset: UTF-8
enabled: true
force: true
user.js
$.ajax({
// 회원가입 수행 요청
type:"POST",
url:"/api/user",
data:JSON.stringify(data), // 데이터를 JSON형식으로 보낸다.
contentType: "application/json; charset=UTF-8", // body 데이터가 어떤 타입인지(MIME)
dataType:"json" // 요청을 서버로 해서 응답이 왔을 때 기본적을 문자열 (생긴게 json이라면 ) => javaScript 오브젝트로 변환
}).done(function(resp){
alert("회원가입이 완료되었습니다.");
console.log(resp)
location.href="/";
}).fail(function(error){
alert(JSON.stringify(error));
});
////////////////////////////////////////////////////////
$.ajax({
type:"POST",
url:"/api/user/login",
data:JSON.stringify(data),
contentType: "application/json; charset=UTF-8",
dataType:"json"
}).done(function(resp){
alert("로그인이 완료되었습니다.");
console.log(resp)
location.href="/";
}).fail(function(error){
alert(JSON.stringify(error));
});
joinForm.jsp
<script src="/js/user.js"></script>
<%@ include file="../layout/footer.jsp"%>
loginForm.jsp
<script src="/js/user.js"></script>
<%@ include file="../layout/footer.jsp"%>