본문 바로가기
블로그 이미지

방문해 주셔서 감사합니다! 항상 행복하세요!

  
   - 문의사항은 메일 또는 댓글로 언제든 연락주세요.
   - "해줘","답 내놔" 같은 질문은 답변드리지 않습니다.
   - 메일주소 : lts06069@naver.com


Spring15

Software caused connection abort: socket write error 해당 오류는 소캣이 끊어진 상태에서 끊어진 소캣을 다시 활용해서 응답(Response)하는 경우 발생하는 에러이다. ​ 일반적인 상황에서는 잘 발생되지 않으며, 사용자가 직접 구현한 소켓서버에서의 close현상 이라던지, 데이터베이스와의 연결에서의 문제로 인한 것 이라던지, 서버의 timeout이 짧아 발생하던지..3가지 정도가 구글링을 하니 찾을 수 있는 내용 이였다. ​ 하지만 이번에 만난 경우는 3가지 중 해당되는 것은 없었 던 것 같다. ​ 1. 상황 서블릿에서 제공되는 Filter를 상속받아 주고받는 데이터에 따른 필터링을 했었다. 주고받는 데이터를 확인하여 유효하지 않는 요청값은 데이터베이스나 컨트롤러에 아에 접근 못하게 하는 역할을 하는 기능이였었다. 처음에는 아무런 오류가 나지 않았는데, .. 2019. 4. 29.
Spring 또는 전자정부, AOP가 되지 않는 경우 스프링을 사용하는 주된 이유중 하나는 바로 AOP라는 강력한 기능 때문이다. 전자정부에서도 이러한 AOP를 사용해서 중복되는 작업을 분리하는데.. 간혹 AOP설정을 아무리 잘 했다고 생각하더라도 되지 않는 경우가 발생한다. 예를들어..컨트롤러에는 안걸리면서 인터페이스를 상속받은 서비스에만 걸리는 경우를 만나기도한다. 그 이유는..스프링 AOP는 2가지 방식이 존재한다. JDK Dynamic Proxy, CGLIB를 이용하여 프록시를 생성하는 방식이다. 돌아다니는 소스코드나 예제는 JDK Dynamic Proxy방식을 활용하는 경우가 많은데.. 해당 구현 방식은 인터페이스를 기반으로 프록시 객체를 생성하기 때문에 인터페이스에 정의되어 있지 않은 메서드에 대해서는 AOP가 적용되지 않는다. 그럴경우에는..C.. 2019. 4. 29.
페이징 처리, 페이징 클래스 관계형 데이터베이스와 관련된 프로젝트에서는, 대부분의 고객들이 페이징 처리를 무척이나 좋아하고 원한다. 페이징 알고리즘은 한번 만들어두면 나중에는 복붙형식으로 쓰이는데.. 한번 만들 때 워낙 햇갈리고 짜증나는일임에 틀림없다. 아래소스코드는 총 갯수, 크기, 보여질 갯수 및 현재 페이지수를 받아서 HashMap으로 페이징과 관련된 데이터를 리턴하는 클래스이다. import java.util.HashMap; public class PageUtilBean { /* total : 총 페이지 * pgSize : 한개 페이지에서 보여질 갯수, 리스트의 숫자 * ROWSIZE : 하단에 보여질 페이징 갯수, 클릭해서 이동할 페이지숫자 * curPage : 현재 페이지 */ public HashMap makePageD.. 2019. 4. 29.
스프링 Json 매핑(415, 400오류) Node.js나 php같은경우에..json 매핑하는 방법이 그리 어렵지 않다. 간단한 메소드 호출정도로 끝나는데.. 우리의 스프링님께서는 워낙 깐깐하셔서...요청하는(Request) 내용의 헤더와 바디가 모두 완벽해야 요청되는 데이터를 매핑해준다. 즉, 요청이 완벽하게 들어오지 않으면 조금이라도 다르게 들어 온 다면 에러를 내거나 빈 값을 받는 모습을 보이게 된다. ​ 그러다 보니 415오류 400오류같은 나쁜(?)요청이라고 자꾸만 리턴받게되고.. 구글링해서 여러방법을 써도 안되는 경우에는 초기설정, 요청하는 방법에 대해서 잘 살펴보아야 한다. ​ 1.먼저 서블릿 설정을 확인하여 본다. text/html;charset=UTF-8 위 내용처럼 메시지 컨버팅 내용을 주입하지 않으면 요청 또는 응답시에 매핑하.. 2019. 4. 29.
Spring, ResponseBody 오류, 406에러 전자정부프레임워크나 스프링 프레임워크 사용시..json 형식이나 list형식을 비동기 방식으로 받아오는 경우가 있다. 이럴때 406에러를 밷거나 안되는 경우가 있는데.. 아무리 리턴값을 바꾸고, string으로 단순하게 output하더라도 에러가 나거나 아니면 한글이 ????이런식으로 깨지는 경우가 있다. ​ 이러한 경우 응답하는 헤더문제가 존재하여서 생기는 오류로, 아래와 같이 서블릿 설정파일에 Body변환 설정 및 charector set을 설정하면 해결 가능 하다. text/html;charset=UTF-8 해당 방법은 스프링 3.1이상이며, 3.0이하는 구글링하면 쉽게 찾을 수 있다. 삽질 2시간.. 톡톡히 배운 것 같다. 2019. 4. 29.
전자정부 프레임워크(Spring) 파일 다운로드 스프링에서 파일 다운로드 요청이 들어오면 응답하는 방법은 여러가지이다. 그중 FileSystemResource 클래스를 활용한 방법과, 예전스타일의 stream으로 응답하는 방법 2가지가 존재 한다. 그런데, 전자정부 프레임워크 버전에 따라서 FileSystemResource으로 response를 하더라도 '파일을 찾을 수 없습니다' 라는 황당한 오류를 보게 되는 경우가 있다. 정확히 기억나지는 않지만 전자정부 2이하 버전 또는 비슷한 버전에서 간혹 생기기도한다.. 물론 다른 설정을 잘못한 버그일 수도 있겠지만.. 황당한건...오류 메시지나 버그 메시지가 나오지 않아서 디버깅 하기 어려운 경우도 있으니 말이다. 먼저 첫번째 방법은 FileSystemResource으로 들어온 요청에 대해서 파일을 전해주는.. 2019. 4. 29.