[출처] 유용자료2) 예쁜 한글로된 색이름 * 색상코드 / 컬러코드|작성자 RUAIRI
'Programing > HTML' 카테고리의 다른 글
input 자동완성 끄기 HTML (0) | 2019.04.29 |
---|---|
Select2 Multiple 구성하기 (0) | 2017.12.12 |
[출처] 유용자료2) 예쁜 한글로된 색이름 * 색상코드 / 컬러코드|작성자 RUAIRI
input 자동완성 끄기 HTML (0) | 2019.04.29 |
---|---|
Select2 Multiple 구성하기 (0) | 2017.12.12 |
SPRING @RestController, @RequestBody, @ResponseBody, ResponseEntity, @PathVariable
@RestController :
- @RestController 어노테이션은 각 메소드에 @ResponseBody 어노테이션을 추가 할 필요 없이, @Controller와 @ResponseBody의 조합으로 기능한다.
- Spring version 4부터 새로운 @RestController 어노테이션을 사용할 수 있다.
@RequestBody :
- 메소드 매개 변수에 @RequestBody가 어노테이션 된 경우, Spring은 들어오는 HTTP request body를 해당 매개 변수에 바인드한다.
- 이를 수행하는 동안 Spring은 HTTP Message converter를 사용하여 요청에 있는 ACCEPT 또는 Content-Type 헤더를 기반으로 HTTP request body를 도메인 객체로 변환한다.
@ResponseBody :
- 메소드가 @ResponseBody로 어노테이션 된 경우, Spring은 반환 값을 나가는 HTTP response body에 바인딩한다.
- 이를 수행하는 동안 Spring은 요청 메시지의 HTTP 헤더에 있는 Content-Type을 기반으로 HTTP Message converter를 사용하여 반환 값을 HTTP response body로 변환한다.
ResponseEntity :
- 전체 HTTP 응답을 나타낸다.
- 상태 코드, 헤더 및 body를 지정할 수 있다.
- HTTP Response에서 보내려는 정보를 전달하는 여러 생성자가 제공된다.
@PathVariable :
- PathVariable 어노테이션은 메소드 매개 변수가 URI 템플릿 변수에 바인드 되어야 함을 나타낸다.
REF
- http://websystique.com/spring-boot/spring-boot-rest-api-example/
JAVA에서 강제로 Exception 발생시키기 (0) | 2020.03.12 |
---|---|
Spring + mybatis 환경에서 xml 파일 변경시 서버 재시작 없이 반영 방법 (1) | 2017.11.23 |
[JAVA] File - 하드디스크 정보 보기 JAVA / 개발 (0) | 2017.04.05 |
[JSP]getContextPath()와 getRequestURI(), request.getRealPath("/")의 차이 (0) | 2016.12.01 |
[Java] 문자열 포함여부 확인 - contains, indexOf, matches (0) | 2016.12.01 |
Spring에서 세션을 체크할때 보통 interceptor 를 씁니다.
지정된 URL 패턴일때 세션을 체크하여 로그인 화면으로 리다이렉트를 시켜주도록 구현을 하였다면
일반적인 form submit일때는 잘 동작합니다.
하지만 ajax 의 경우에는 다릅니다.
interceptor를 거치긴 하지만 바로 error 콜백함수를 호출하게 됩니다. 리다이렉트 시키지 않고 responseText 부분에 리다이렉트 페이지의 스트링이 오게 됩니다. 이럴때의 처리는 몇가지가 있습니다.
1. session 체크 함수
- ajax 로 session 이 살아있는지 체크를 하고 살아있다면 그 다음 ajax 호출을 합니다.
근데 이렇게 개발하는 건 정말 멍청한 짓입니다. 하지마세요.
2. Spring Security
참고 : http://lng1982.tistory.com/138 (간단한 세팅)
참고 : http://linuxism.tistory.com/671 (개념)
인증과 보안관련 프레임워크입니다. 설정과 이해가 까다롭긴 하지만 공부해서 적용하는게 훨씬 득. 개이득.
시큐리티 설정을 하면 인증정보가 Authentication 객체에 담기게 됩니다. 이 객체는 설정에 따라 HttpSession 에 담길 수도, 쿠키나 외부서버(redis 같은) 에 담길 수도 있습니다. 더이상 세션으로만 사용자 정보를 관리하는 것이 아닌 더 높은 수준의 보안설정을 할 수 있습니다.
(2016.01.29 기준 Spring Security 가 제일 나은듯)
3. Header 세팅
먼저 $.ajax() 호출 시 beforeSend 옵션에 header 정보를 세팅합니다.
beforeSend : function(xmlHttpRequest){
xmlHttpRequest.setRequestHeader("AJAX", "true"); // ajax 호출을 header에 기록
}
다음으로 interceptor에서 헤더정보를 확인.
String ajaxCall = (String) request.getHeader("AJAX");
ajaxCall 파라미터에 세팅한 "true"라는 문자열이 있으면 HttpServletResponse에 다음과 같이 세팅
response.sendError(500);
이 때 에러값은 int값으로 알맞게 정의하면 됩니다.
그리고 $.ajax() 의 error 콜백에 다음과 같이 정의합니다.
error:function(xhr, textStatus, error){
if(xhr.status=="500"){
alert("Login Session Expired");
location.href = "/";
}
}
서버에서 설정한 에러코드값(여기에서는 500)이 맞으면 로그인세션이 없다는 것으로서
index 페이지로 이동시켜주면 됩니다.
[출처] ajax 요청시 Session 체크방법|작성자 moonv11
IE만 가진 Jquery Cache 오류 (0) | 2016.11.24 |
---|