java 특수문자 (디렉토리 변경 공격) ../ 치환 replaceAll 은 문자 치환시 많이 쓰이지만 특수문자는 변경이 어렵다 정규식으로 아래와 같이 치환해야 디렉토리 변경 공격을 막을수 있다. String str = "../folder1/dd"; String prtStr = str.replaceAll("[.]{2}[/]", "").replaceAll("[.]{2}[\\\\]", ""); java 2016.11.01
자바 문자열 비교 3가지 1,2번은 문자를 소문자로 치환하고 3번째는 패턴으로 검출한다. 패턴 검출은 시안성이 좋지는 않다. 단순비교에선 1번이 좋은듯 String a = "fileImgTest"; //원본 String mat = "img"; //비교 System.out.println("a.contains : "+a.contains("img")); System.out.println("indexOf : "+a.indexOf("img")); System.out.println("a.contains : "+a.toL.. java 2016.09.28
mod_jk 예외 처리 JkMount /letech/* rubi1 //해당 경로 다 보냄 JkUnmount /letech/se2/* rubi1 //해당 경로는 안보냄 rubi1 = worker 명 네이버 웹에디터 예전 버전이 아파치 톰캣(root 사용 안하고 contextpath 개별 사용함)연동시 아파치에서 자꾸 주소를 못 찾는 다고 나와서 예외 처리를 하니 정상 나왔다. web·was 2016.09.12
tomcat java_opts 메모리 설정 catalina.sh cygwin=false darwin=false os400=false case "`uname`" in CYGWIN*) cygwin=true;; Darwin*) darwin=true;; OS400*) os400=true;; esac ===여기서 부터 입력= 2중 선택=== JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx2048m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+DisableExplicitGC" JAVA_OPTS=.. web·was 2016.09.09
apache-tomcat 이용한 session clustering(세션 공유) 이 방법은 일반적인 방법이 아닌 전체(개별 was)들 간의 세션을 하나로 묶는 방법이다. 일반적인 클러스터링이 1번 was 와 2번 was를 묶는 것이라면 이건 1~n 개 만큼의 was 세션을 하나로 묶는 것이다 일반적인 구성은 아래와 같다. tomcat은 8 jvm 8 을 기준 했다. WAS area 영역에서 multicast 를 통해.. web·was 2016.09.04
세션 클러스터링을 통한 공유시 스프링 @SessionAttributes 세션 데이터 주의점 세션 클러스터링을 통해서 여러 서버에서 세션을 공통으로 사용할때 일반적으로 세션에 태우면 Serializable 인터페이스를 구현한다 구현하면 private static final long serialVersionUID = 3447676620891264448L; 이런식으로 serialVersionUID 를 생성해서 사용하게 되는데 스프링의 SessionAttributes 를 이용해서 사.. java 2016.08.18
db2 colno 로 컬럼명 찾기 디비 import 시에 컬럼명으로 에러가 나오는게 아니고 no 로 나와서 정확하게 찾기가 어려울때가 있다 해당 컬럼 번호로 컬럼명을 아래와 같이 찾으면 된다. db2 "SELECT C.TABSCHEMA, C.TABNAME,C.COLNAME FROM SYSCAT.TABLES AS T, SYSCAT.COLUMNS AS C WHERE T.TBSPACEID = [테이블스페이스아이디] AND T.TABLEID = [테이블아.. db2 2016.08.16
rowbound 사용법 및 data 많을 때의 처리법 ===아래 서비스 영역 참조=== public void selectSampleBoardList(SampleBoardVO sampleBoardVO) throws Exception { // 게시판 등록 글 총 개수 구하기 sampleBoardVO.setTotalRecordCount(sampleBoardDAO.selectSampleBoardListCnt(sampleBoardVO)); //목록 조회 sampleBoardVO.setSampleBoardList(sampleBoardDAO.selectSampleBoardList(sampleBoardVO, new RowBounds(sampleBoa.. mybatis 2016.08.08
java 향상된 for 문 잘 사용하진 안았는데 좀더 깔끔한것 같아서 사용한다. 성능적으론 기존 for 보다 좀 느린걸로 아는데 거의 미비 한것으로 알고 있다. 아래와 같은 형태로 사용 for(String chr : list){ } java 2016.08.05