본문 바로가기

분류 전체보기116

Cross Site Scripting (XSS, 크로스 사이트 스크립팅) 자바스크립트를 이용하여 다른 사용자의 쿠키 정보를 빼와서 해킹에 사용된다는 의미이다. 예방법 1. xssProtect-0.1.jar 이용 http://code.google.com/p/xssprotect/ Google Code Archive - Long-term storage for Google Code Project Hosting. code.google.com public String protectAgainstXSS(String html) { StringReader reader = new StringReader(html); StringWriter writer = new StringWriter(); try { // Parse incoming string from the "html" variable HTML.. 2011. 9. 11.
Struts2 + Spring2.5 WAS 재기동 없이 수정된 파일 적용하기 웹서버 재기동 없이 클래스, xml, properties 파일 추가 가능 struts.propertiesstruts.class.reloading.watchList = /WEB-INF/classesstruts.devMode = true web.xmlcontextClassorg.apache.struts2.spring.ClassReloadingXMLWebApplicationContext /WEB-INF/libcommons-jci-fam-1.0.jar 파일 추가 끝. 2011. 9. 11.
SQL Server 2005 전체 텍스트 검색 전체 텍스트 검색검색 엔진char, nchar, varchar, nvarchar, text, ntext, xml, image, varbinary(max) 등이 대상나중엔 text, ntext, image 데이터 형식은 제외. 따라서 가급적 사용하지 않는 방향으로... 수행 단계모든 단어들은 전체 텍스트 인덱스에 저장카탈로그는 위 인덱스들을 저장하고 있는 개념 Contains 함수와 Containstable 함수Contains 함수 WHERE 절에 문자열 필드에 대한 검색조건을 수행Containstable 함수는 FROM 절에 문자열 필드에 대한 검색조건을 수행Contains 함수 사용예로 select * from A where a = 1 and contains(b, '테스트') 쿼리를 수행할 시 실행계획.. 2011. 9. 11.
Java에서 DB Stored Procedure 정보 알아내기 public static void main(String[] args) throws Exception { String url = "jdbc:sqlserver://localhost;databasename=bbs"; String user = "bbs"; String password = "bbs"; Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Connection con = DriverManager.getConnection(url, user, password); // 디비 정보 DatabaseMetaData dbmd = con.getMetaData(); ResultSet rs = null; // parameters : catalog(디비명), s.. 2011. 9. 11.
Struts2 + Freemarker 상수 TIP (이 중 몇가지는 최신버전인 2.3.18 에서만 되는 것도 있음)${.version} : 프리마커 버전 ${.template_name} : 템플릿 파일 이름 ${.locale} : 언어_국가 ${.lang} : 언어 ${.now} : 현재 날짜 + 시간 ${.now?date} : 현재 날짜 ${.now?time} : 현재 시간 ${base} : context path -> sturts2에서는 base 속성 값이 자동추가 되어 존재하지만 spring은 없음 끝. 2011. 9. 11.
Struts2 + Freemarker 성능 튜닝 freemarker.properties프리마커에서 ftl 파일 리로딩이 기본적으로 0.5초로 설정되어 있음.ftl 파일을 직접적으로 수정할 일이 있을 경우 적당한 값을 지정하고 없을 경우엔 큰 값을 두어 성능 향상. - 기본 : template_update_delay=500 (명시 안했을 때) - 개발 : template_update_delay=0 - 서비스 : template_update_delay=60000 (ftl 수정한 파일이 바로 적용될 필요가 없으면 큰 값으로) struts.propertiesstruts.freemarker.templatesCache=trueWEB_APP/templates 생성하면 이 폴더에 build 된 ftl 파일들이 복사되어짐. 수정된 날짜를 비교하여 사용하는 걸로 보임... 2011. 9. 11.