728x90 반응형 웹개발지식쌓기59 [back] 엑셀 파일 생성 및 다운로드 소스 구조 엑셀 파일 생성 및 다운로드 소스 구조 를 이해하기 위해 레거시 코드를 분석해보았다 1. 엑셀 파일 생성(엑셀 라이브러리 POI 사용) 2. response 객체에 엑셀파일 출력 전체코드는 제일 아래에! 1. 엑셀 파일 생성(엑셀 라이브러리 POI 사용) 우선 먼저, 엑셀 파일을 생성해준다. 엑셀 파일 생성에 필요한 기본 메소드는 아래와 같다. - HSSFWorkbook workbook = new HSSFWorkbook(); : workbook 생성자로 엑셀 파일 객체 생성 - HSSFSheet sheet = workbook.createSheet(); : workbook 객체의 createSheet 메소드를 사용하여 시트 생성 - HSSFRow row = sheet.createRow(0); : sheet.. 2023. 9. 1. [back] 세션 끊길 때 http<->https 이동간 세션 복사 http -> https 이동 시에도 끊기는 증상이 있었는데, 이런 경우는 같은 https 끼리는 세션이 유지되니까 프로토콜을 변경해주는 조치를 간단하게 해줬었다. 예를 들어 url.replace("http://","https://"); 이런식으로.. 반대로 https -> http 로 넘어갈 때는 세션이 끊기지 않는다고 알고있었는데, 매번은 아니지만 간혈적으로 끊기는 증상을 발견했다. 그래서 최대한 세션이 끊기지 않도록 Https Filter를 만들어서 세션을 복사하는 필터를 걸어주도록 했다. 아래 소스는 구글에 세션공유 라고만 검색해보면 충분히 얻을 수 있는 소스들이다. 1. web.xml에 필터 등록 web.xml https 내가 만들 Https Filter 패키지 경로.필터클래스명 https /*.. 2023. 8. 22. [front] 스크롤 바닥까지 내렸을 때 다음 페이지 가져오기 (부제:웨일 브라우저 이슈) whale 브라우저 이슈 - scrollTop() 값 관련 스크롤을 바닥까지 내렸을 때, 다음 페이지를 가져오게 하려고 했다. $(window).scroll(function(){ if($("#nowPageIndex").val()) < $("#lastPageIndex").val() ) { var scrT = $(window).scrollTop();// 이렇게 하면 웨일 브라우저에서는 작동 x //var scrT = Math.ceil($(window).scrollTop());// 웨일브라우저 고려 if(scrT == $(document).height() - $(window).height()){ // 다음페이지 리스트 가져오는 함수 ... 생략 // 다음페이지 리스트 가져오는 함수 } } }) 근데 크롬, 엣.. 2023. 6. 1. [back] 세션 설정 파일의 위치들 (프로젝트, 서버, 리눅스 profile 의 세션 설정) 제목의 세가지 방법을 통해 세션시간을 설정하고 있다. 근데 이 중에 어떤게 실효가 있는지 당최 모르겠더라. 나중에 세션 유효 시간을 바꾸려면 어떤 항목을 바꿔야하는지 실제로 우리 프로그램에 적용되어 있는 것을 기준으로 확인해보았는데, 우리는 모든 설정값이 달라서 많은 테스트 없이 식별이 가능했다! 1. 프로젝트의 web.xml [ 경로 : 프로젝트/WEB-INF/web.xml ] 120 프로젝트의 WEB-INF 폴더 아래에 있는 web.xml 이게 적용되는거같음. 왜냐면 로그인 하고 나서 두시간 가까이 안건드리고 새로고침 했을 때 로그인 세션이 유효해서. 2. 서버 인스턴스의 설정파일인 web.xml [ 경로 : /usr/local/tomcat/서버 인스턴스/conf/web.xml ] 30 /usr/lo.. 2023. 6. 1. [back] association 과 collection 사용 역할 구분 ... 생략 ... ... 예시 매퍼파일 association 과 collection 사용 역할 구분하기! 매핑결과를 깔끔하게 해주는 association 과 collection 은 결과데이터 간의 n:n 관계에 따라 사용을 달리 해준다. 1. 네이버 영어사전.. 으로 이해해보기 association은 제휴, 연계, 유대(combination) collection은 (물건·사람들의) 무리, 더미 제휴는 어쨌든 1:1로 관계를 맺는 거니까, association은 1:1 관계에서 사용한다고 생각하기 무리나 더미는 여러가지를 한꺼번에 모아놓는 거니까, collection은 1:N 관계에서 사용한다고 생각하기! 결론은 association은 객체와 객체간의 관계가 1:1 매핑이 될 때 사용한다. collect.. 2023. 6. 1. [back] ORA-01861: literal does not match format string 진짜 가끔 발생하는 오류 ORA-01861: literal does not match format string 로컬에서는 잘만 되던게 서버에 올리니까 갑자기 오류를 내뿜는다. 나의 경우는 TO_CHAR(SYSDATE, 'YYYYMMDD')로 가져온 날짜 데이터를 빼기 계산해서 잔여 일수를 노출시키는 것이 목적이었는데, 여기에서 오류가 발생했다. 오류 쿼리 , (TO_DATE(TO_CHAR(SHOW_END_DT, 'YYYYMMDD')) - TO_DATE(TO_CHAR(SYSDATE, 'YYYYMMDD')) AS REMAINDER_DATE 원인 자체는 TO_CHAR, TO_DATE 함수에 날짜를 사용하려 할 때, 두번째 인자인 형식 지정을 해주지 않아서 그런거였다. TO_DATE를 사용할때, 두번째 인수를 .. 2023. 5. 26. [server] 리눅스 언어설정 locale - 테스트 서버에서 요일이 영어로 나올 때 로컬 환경/운영서버 환경에서는 쿼리로 가져온 요일이 한국어로 잘 나오는데 테스트 서버에서는 영어로 보인다. okky 랑 구글링을 해보았는데 DB 설정에서 설정값을 바꿔줘야 한다는데.. 운영DB와 테스트DB 둘의 값을 비교해보았을 때는 설정값이 똑같았다. select * from nls_session_parameters order by parameter; 그래서 다음단계! db문제가 아니라면 서버 문제겠지 리눅스 서버 설정이 필요해보인다고 판단. 보안팀 도와조요 ~~ 보안팀:😎등장 아래는 보안팀 동료의 처리과정을 보고 작성한 내용이다. 1. 돌리고 있는 시스템의 리눅스 서버에 접근 home 디렉토리 밑에, 톰캣 계정 디렉토리로 들어가줌 [tomcat계정@test-server ~]$ ll 2. 로케일 loc.. 2023. 5. 26. [front] Safari 날짜정보 NaN으로 나올 때 크롬에서는 잘만 출력되던 날짜 데이터가 아이폰에서 NaN으로 나온다는 문의가 들어왔다 😥 화면을 보니 진땀이 났다.. NaNNaNNaN .............................. 의 반복 구글링 해보니 IOS 쪽 문제는 아니었고, safari 브라우저의 문제였다. Safari 에서 Date를 생성할 때, 'YYYY-MM-DD' 형식은 먹지 않는다는 것을 알게되었다. 크롬, safari 에서 둘 다 정상적으로 노출 될 수 있도록, 앞으로는 웬만하면 날짜 형식을 'YYYY/MM/DD' 로만 가져와야겠다는 생각을 했다. 조회 쿼리에서 형식을 바꿀 수도 있겠지만 일단 응급조치로 // $("#startDate").val() == '2022-11-30 23:59' 일 때 var startDate = n.. 2023. 5. 19. [back] tomcat 새 프로젝트 연결 안될 때 git에서 새로운 프로젝트를 import를 해와서 기존에 쓰던 서버말고, 새로운 로컬 톰캣 인스턴스를 생성해서 거기에 새 프로젝트를 연동하려는데 프로젝트 연결 대상으로 안 뜬다 testWebProject 프로젝트 하단에 새 프로젝트이름이 보여야하는데.. 대상으로 안뜨고 있음 이클립스 프로젝트 import 오류라고만 검색햇도니 .project 파일에 대한 내용이 나와서 해당 파일을 열어봤당 .project 파일 내용이 비어있었다. 그래서 톰캣에서 돌아가는 프로젝트의 .project 파일을 참조하여 복붙했더니 됐음 다른 분들은 아예 .project 파일 자체가 없는 분도 계셨다 Q. 어떤 사람은 .project 파일이 없는 경우도 있다는데, .project 파일은 언제 생기는 건지? > ".project" .. 2023. 3. 3. [front] 크롬 인스펙터 HTTP/1.1 404 Not Found 2월까지 멀쩡하게 잘 썼던 크롬 인스펙터 오류 확인하려고 모바일 기기를 디버깅하려는데, 갑자기 크롬 인스펙터씨가 404를.. HTTP/1.1 404 Not Found 페이지만 뜨고 아무것도 안나왔다 😥 (문제화면) 사실 생각해보니 이때까지도 디버깅할 때 inspect 클릭하면 404가 떠서 inspect fallback만 클릭한 거 같음 Remote browser is newer than client browser. Try `inspect fallback` if inspection fails. 해석하면 원격 브라우저가 더 최신본이다. inspect 가 실패하면 inspect fallback 을 시도하라고 되어있는것 같은데 왜 inspect 를 하면 404가 나와서 디버깅이 안되고 inspect fallb.. 2023. 3. 3. 이전 1 2 3 4 5 6 다음 728x90 반응형