※개인적인 정리용도로 문제해결에 도움이 되지 않을 수 있습니다.
#오늘의 개고생리스트1 (Mybatis 오류)
오라클에서 COMMIT이랑 ROLLBACK을 항상 습관화할 것 (특히 COMMIT을 해놓지 않으면 마이바티스가 제대로 작동하지 않을 가능성이 있다)
#오늘의 개고생리스트2 (ajax와 시큐리티)
스프링으로 폴더, 그리고 url마다 시큐리티를 적용해놓았는데,
Ajax를 통해 컨트롤러로 넘긴 url이 시큐리티 보안에 걸려 denied 에러를 계속 맞닥뜨렸다.
원인은 url 넘길 때 csrf 토큰을 같이 넘겨주지 않았기 때문이고 해결책은 역시 csrf 토큰을 url 넘길 때 같이 넘겨주면 된다. (밑에 코드 빨간글씨 참고)
#제이쿼리 클래스변경 (밑에 녹색 글씨 참고) --> $('#id').attr('class', 'class_name'); // class_name이 변경하고자 하는 클래스 이름
$(function() {
$('#userinfo-tab').click(function() {
// var info = $('#user_or_point').val();
var header = '${_csrf.headerName}';
var token = '${_csrf.token}';
$('#userinfo-tab').attr('class', 'nav-link active');
$('#pointinfo-tab').attr('class', 'nav-link');
if(token && header) {
$(document).ajaxSend(function(event, xhr, options) {
xhr.setRequestHeader(header, token);
});
}
$.ajax({
url: '${pageContext.request.contextPath}/profileViewAjax.u',
type: 'POST',
data: 'text',
success: function(result) {
$('#user_or_point').html(result);
},
error: function() {
alert('오류입니다.');
}
});
});
});
</script>
제이쿼리 클래스 변경방법은 해당 블로그를 참조했다
https://sharphail.tistory.com/45
댓글