본문 바로가기
728x90
반응형

웹개발지식쌓기55

[back] ViewResolver decorator 오류 개발의 참맛 중 하나는 삽질하다가 해결됐을 때의 도파민이 아닐 까.....흑흑 아무튼 나는 - 사이트 구조의 통일성을 위해, 공통 헤더/푸터 파일이 있고, 기본 레이아웃에서 해당 헤더/푸터를 불러오도록 한 상황 - 위의 구조로 만든 레이아웃 파일이 모든 페이지에 적용되도록 web.xml과 decorators.xml 에 decorators 옵션값 세팅 ... sitemesh com.opensymphony.module.sitemesh.filter.PageFilter sitemesh /* ... /* ... 을 했으나 url을 호출해도 decorators 파일이 적용되지 않았다. 하루정도 버리고 해결했는데 .. @Controller public class TestController extends BaseCon.. 2024. 1. 8.
Git 설치하기 : 'git'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. Llama를 테스트해보기 위해 가이드를 따라하던 와중 'git'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 깃이 설치되어 있지 않다는 얘기라고 한다. 깃을 설치하러 가본다 참조가이드 : https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-Git-%EC%84%A4%EC%B9%98 Git - Git 설치 이 책은 Git 2.0.0 버전을 기준으로 썼다. 대부분의 명령어는 그 이전 버전에서도 잘 동작하지만, 몇 가지 기능은 아예 없거나 미묘하게 다를 수 있다. Git의 하위 호환성은 정말 훌륭하기 때문에 2.0 git-scm.com 1. 필요한 setup 파일 다운로드 & 실행 https://git.. 2023. 12. 10.
[back] 함수가 있는데 없다고 나와요 : The method METHOD() from the type CLASS is not visible The method METHOD() from the type CLASS is not visible 외부 프레임워크의 클래스에 정의된 함수를 사용하려고 했는데 저런 오류가 나길래 봤더니 함수가 protected 로 선언되어 있었다. 접근제어자를 바꿔주거나 내부 프레임워크에서 상속하여 사용해야 한다. 접근제어자 정리표. 출처 https://hongong.hanbit.co.kr/%EC%9E%90%EB%B0%94-%EC%A0%91%EA%B7%BC-%EC%A0%9C%ED%95%9C%EC%9E%90%EC%9D%98-%EC%A2%85%EB%A5%98%EC%99%80-%EC%B0%A8%EC%9D%B4public-protected-private/ 자바 접근 제한자의 종류와 차이(public, protected, priv.. 2023. 12. 8.
[back] Mybatis <association> 사용하기 - 게시글 + 게시글첨부파일 동시조회 (feat.부적합한 열) association 사용법 가져오려는 객체와 연결된 다른 정보들을 객체화해서 가져오기 위해 1:1 관계일 경우 association 기능을 이용한다. 예를 들어, 게시글 정보와, 게시글의 파일 정보를 개별 테이블로 구분하여 사용하고 있고 게시글을 가져올 때 게시글의 첨부파일 정보를 가져오려 한다면 게시글과 첨부파일 조회 쿼리매핑에 을 사용할 수 있다. 매핑쿼리 목적 : 게시글 조회 getArticleDetail 호출 시, getFileObject도 함께 호출되어 첨부파일까지 한번에 조회 1. association 추가하기 전 쿼리 : 단순 게시글 조회 SELECT ATC_SEQ , TITLE , REG_ID , REG_DTM , CTS , VIEW_CNT FROM TB_ATC_FILE WHERE ATC.. 2023. 11. 9.
[back] 클라이언트 오류로서 인지된 어떤 문제로 인하여, 서버가 해당 요청을 처리할 수 없거나 어쩌구 저쩌구 어제까지 순조롭게 작업을 어느정도 마무리하고 마지막에 input만 조금 수정한 후에 저장 오늘 작업을 마저 전개하려는데 테스트 차원에서 insert 하는 ajax 통신을 작동시켜봤는데 오류발생 클라이언트 오류로서 인지된 어떤 문제로 인하여, 서버가 해당 요청을 처리할 수 없거나, 처리하지 않을 것입니다. (예: 잘못된 요청 문법, 유효하지 않은 요청 메시지 framing, 또는 신뢰할 수 없는 요청 라우팅). 클라이언트 오류로서 인지된 어떤 문제로 인하여, 서버가 해당 요청을 처리할 수 없거나, 처리하지 않을 것입니다. (예: 잘못된 요청 문법, 유효하지 않은 요청 메시지 framing, 또는 신뢰할 수 없는 요청 라우팅). ... 이렇게만 나와서 뭐가 문제인지 바로 찾을 수가 없었다 진짜ㅡㅡ 역시나 오.. 2023. 10. 19.
[back] Mybatis 쿼리 작동 오류 Query Result[]: -1row 개발을 할 수록 익숙해지면서 썼던 소스 복붙을 점점 많이 하게 된다.. 나태해지고 있다 그러다보면 어처구니 없는 실수를 하곤 하는데 스스로 경각심을 가지고자 포스팅까지 하게 되었다 😥 게시글이 등록된 적이 있으면 update, 없으면 insert 되도록 하려 했는데 계속 호출한 Mybatis Merge 문이 2번 실행이 되고 Query Result[]: -1row 오류가 발생 10분 정도 삽질하고 처음부터 controller단 부터 다시 꼼꼼히 봤더니 에혀 DaoImpl.java에 selectOne을 적음 @Override public Integer editPolicyData(PolicyVO policyVO) { return sqlSession.selectOne(SQL_FILE_PATH + "editPo.. 2023. 10. 17.
[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.
728x90
반응형