- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
목록스프링 (16)
드럼치는 프로그래머
로그아웃 동작 원리 모든 URL 요청은 서블릿 요청으로 리졸브 되기 전에 항상 스프링 시큐리티의 전체 필터 체인을 통과 시킵니다. 따라서 j_spring_security_logout에 대한 URL 요청이 시스템에 있는 JSP 페이지와 일치하지 않더라도 이 요청을 처리하기 위해 실제 JSP 나 스프링 MVC 대상 URL을 두지 않아도 됩니다. j_spring_security_logout 에 대한 URL 요청은 logoutFilter가 가로챕니다. logout-url 어트리뷰트에 지정한 로그아웃 URL을 감시하고 사용자를 로그아웃 시키는데 이때 다음 과정은 3단계로 나뉘어 집니다. 1. HTTP 세션 무효화(invalidate-session이 true로 설정된 경우) 2. SecurityContext 초기화..
multipart/form-data 경우 ?${_csrf.parameterName}=${_csrf.token} 일반 form sec:form 의 경우 생략 (다만 로그인 및 로그아웃은 일반 폼으로 지정해야하는 이상한버그) ajax var token = $("meta[name='_csrf']").attr("content"); var header = $("meta[name='_csrf_header']").attr("content"); $.ajax({ type : "POST", url : '', data : { userId : userId }, beforeSend: function(xhr) { // here it is xhr.setRequestHeader(header, token); }, dataType : ..
스프링 프레임웍 3.2 이상부터 @ControllerAdvice라는 어노테이션이 추가 되었습니다. 이 어노테이션을 사용하면 간단하게 익셉션 발생시 작업을 처리할 수가 있습니다. 방법은 간단합니다. 설정파일에 아래와 같이 설정합니다. 아래의 설정 내용은 따로 설명하지 않겠습니다. 이후 적당한 위치에 클래스를 하나 생성하여 @ControllerAdvice를 붙여주면 됩니다. package net.krespo.handler; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web...
간혹 스프링 트랜잭션을 적용하였는데 예외 발생 시 롤백이 되지 않을 때가 있다. 안되는 이유야 여러 가지가 있겠지만 난 그 중 한 가지 문제에 대해서 작성하려고 한다. 일단 테스트하는 스프링 애플리케이션 컨텍스트의 트랜잭션 AOP 설정은 다음과 같이 선언적 트랜잭션을 사용하였다. service 패키지 하위에 있는 모든 클래스 중 insert*, delete*, update* 이름에 매칭되는 메소드에 트랜잭션 설정 테스트 코드는 다음과 같다. 문제가 발생되는 원인에 대해서 보여주려고 실패 case에 대한 메소드를 생성하였다. @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"/test-application-context...
[출처] 새창으로 form을 submit 하기(새창으로 폼을 서브밋하기)|작성자 깜보
자바스크립트에서 배열에 새로운 값을 추가하고 싶은 경우가 있다면 어떻게 해야할까요? 원하는 값을 앞 또는 뒤 원하는 위치에 아래 두가지 함수를 사용해 간단히 추가할 수 있습니다. 만약 test라는 이름의 변수가 있다면 변수를 아래와 같이 추가할 수 있습니다. 사용방법은 아래와 같습니다. test.unshift('123'); // 앞에 새로운 배열값 추가 test.push('890'); // 뒤에 새로운 배열값 추가 보시는 것처럼 배열에 새로운 값을 추가할 수 있습니다. 배열을 선언 후 앞 또는 뒤에 추가하는 점만 차이점이고 나머지는 같습니다. 그럼 아래 예제를 봐주세요. 아래는 배열을 추가하는 방법에 대하여 자세한 예제와 함께 알아보겠습니다. ! unshift() 함수를 사용, 새로운 배열값 앞에 추가 ..
jQuery는 매우 짧은 코드만으로도 휼륭한 애니메이션 효과를 낼 수 있다는 장점이 있다. 이러한 일이 가능해진 이유는 jQuery가 굉장히 우수한 방법을 통하여 자바스크립트 기능을 리팩토링하였기 때문인데 개인적으로 jQuery의 소스를 통해 자바스크립트 리팩토링 과정을 공부하면 매우 유익할 듯 싶다. (물론 그 길고긴 소스를 직접 해독해야 한다는 사실은 곤욕이지만…) 오늘 우리는 jQuery에서 발생하는 애니메이션 중복문제에 대한 해결책을 알아보도록 할 것이다. 우선 다음과 같은 코드를 작성해 보도록 하자. 클릭하세요!숨겨진 메뉴1숨겨진 메뉴2클릭하세요!숨겨진 메뉴1숨겨진 메뉴2 이제 브라우져를 통해 작성한 코드를 확인해보자. 얼핏보기엔 기능이 매우 훌륭하게 동작하는 듯이 보이지만 사실 이 코드는 잠재..
JSTL forEach문에서 break 는 공식적으로는 없습니다. 하지만 변수선언을 통한 로직을 이용하는방법과 스크립릿을 사용하는 방법으로 구현은 가능합니다. 로직 사용방식은 아래와 같습니다. ${status.count} 스크립틀릿 사용방식입니다. break; [출처] http://luckybaby.tistory.com/173
다음과 같은 주소를 가진 웹페이지를 개발중이라고 가정한다. http://www.test:8080/contextPath/main.do 위 주소에서 http://www.test:8080 까지의 주소가 필요했다. HttpServletRequest 를 사용해서 위 주소를 추출해 보자. 방법은 여러가지가 있을 수 있다. 본 포스팅에서는 2가지 방법만 설명한다. 1. 각 정보들을 조합하여 만들기 1 request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort(); cs request 에는 서버의 정보들이 담겨있다. 그 정보중에서 scheme, server name, server port 를 가지고 주소를 조합할 수 있다. 물론 주소 중간에 ..
response.sendRedirect() 서버가 사용자의 브라우저를 지정한 URL 로 리다이렉트 시킬 수 있는 유용한 도구이다. Spring 에서는 Controller에서 반환 String에 "redirect:" 라는 prefix를 붙여주면 동일한 기능을 수행하게 되어서 Spring에서는 잘 사용하지 않고 있다. 그러나 interceptor와 같은 곳에서 redirect 시키도록 하기 위해서는 response.sendRedirect()를 반드시 사용해야한다. response.sendRedirect() 의 문제점 response.sendRedirect() 를 사용하면서 주의해야할 점은 저 메서드를 호출한다고 break가 걸리는게 아니라는것이다. 다시 설명하자면 throw new Exception() 을 ..