Web/JSP
JSTL 다운로드 및 사용
아래 사이트에서 jstl-1.2.jar 파일을 다운로드 한다. search.maven.org/artifact/jstl/jstl/1.2/jar Maven Central Repository Search search.maven.org 이클립스의 경우 : 다운로드 받은 jar 파일을 WEB-INF/lib 폴더에 복사한다. 인텔리제이의 경우 : Project Structure-Libraries에서 + 버튼으로 jar 파일을 추가한다.
커넥션 풀 - DBCP2 API 사용하기
JSP 페이지를 실행할 때 마다 커넥션을 생성하고 닫으면 시간이 소모되기 때문에 접속자가 많인 웹사이트에서는 전체 성능이 낮아진다. 그래서 일반적으로 커넥션 풀 기법을 사용한다. 커넥션 풀이란? 데이터베이스와 연결된 커넥션을 미리 생성해서 풀 속에 저장해놨다가 필요할 때 커넥션을 풀에서 꺼내 쓰고 다시 반환하는 기법이다. 커넥션을 생성하는데 드는 연결 시간을 줄일 수 있어서 속도가 빨라진다. 또한 커넥션을 재사용하기 때문에 커넥션 개수가 일정하게 유지된다. 때문에 동시에 접속자 수가 몰려도 웹 어플리케이션이 쉽게 다운되지 않는다. 그래서 많은 웹 어플리케이션이 커넥션 풀을 기본으로 사용한다. 다양한 커넥션 풀 라이브러리가 있는데, 그 중 오픈소스인 자카르타 프로젝트의 DBCP2 API를 사용해서 커넥션 ..
[MySQL] ERROR : The server time zone value ~ is unrecognized or represents more than one time zone.
mysql-connector-java 5.1 이후 버전에서는 KST 타임존을 인식하지 못하는 오류가 있다. 데이터베이스를 구분할 때 URL과 비슷한 형식을 갖는 JDBC URL을 사용하며, 일반적인 형식은 다음과 같다. jdbc:DBMS:데이터식별자 MySQL JDBC 드라이버의 형식은 다음과 같다. jdbc:mysql://HOST:PORT/DBNAME?param=value&... 기존코드의 JDBC URL에 &serverTimezone=UTC를 추가한다. String jdbcDriver = "jdbc:mysql://localhost:3306/jsptest?" + "useUnicode=true&characterEncoding=utf8&serverTimezone=UTC";
[Tomcat] 콘솔 한글 깨짐 해결
톰캣을 설치하고 startup.bat 를 실행했는데 아래와 같이 한글 깨짐 현상이 발생했다. logs 폴더에 가서 로그도 깨졌는지 확인해본다. 로그파일의 한글은 안깨졌다. 콘솔창의 인코딩 문제일 가능성이 크다. 톰캣 콘솔창을 우클릭해서 속성에 들어간다. 인코딩을 949 (ANSI/OEM - 한국어) 를 쓰기 때문에 깨진 것이다. 레지스트리로 편집해서 UTF-8로 바꿔보자. 톰캣 폴더가 없으니까 Console 폴더에서 생성한다. DWORD(32비트)를 새로 생성한 후 더블클릭해서 편집한다. 다시 startup.bat 를 실행하면 한글이 잘 뜨는 모습을 볼 수 있다. 속성 창에서도 UTF-8로 바뀌었다고 뜬다.
[JSP] Session 기본 개념
세션 : 클라이언트의 상태를 저장할 수 있다. ※쿠키와 다른점 : 웹 브라우저가 아니라 서버에 값을 저장한다. 세션은 오직 서버에만 생성된다. 서버는 세션을 사용해서 클라이언트 상태를 유지 할 수 있다. 로그인한 사용자 정보를 유지하기 위한 목적으로 세션을 사용한다. 웹 컨테이너는 기본적으로 한 웹 브라우저마다 한 세션을 생성한다. 같은 페이지라도 웹 브라우저에 따라 다른 세션을 사용한다. => 즉! 쿠키: 클라이언트 측의 데이터 보관소 세션: 서버 측의 데이터 보관소 * 세션 생성 page 디렉티브의 session 속성을 true로 설정 (디폴트값이므로 저절로 생성됨) 웹 브라우저가 처음 접속할 때 세션을 생성하고, 이후로 생성된 세션 사용 session 클래스의 setAttribute, getAttr..
[JSP] Cookie 기본 개념
쿠키 : 웹 브라우저가 보관하는 데이터 - 웹 브라우저, 웹 서버 양쪽에서 생성가능 - JSP 에서 사용하는 쿠키 : 웹 서버에서 생성하는 쿠키 쿠키를 사용하면 웹 서버와 웹 브라우저가 필요한 값을 공유하고 상태를 유지 할 수 있음 자주 쓰이는 정보를 쿠키로 저장하곤 한다. 1. 쿠키 생성 : 웹 브라우저가 웹 서버에 요청을 보낼 때 쿠키를 응답 데이터의 헤더에 저장해서 함께 전송한다. 2. 쿠키 저장 : 웹 브라우저가 쿠키를 메모리나 파일로 쿠키저장소에 저장한다. 3. 쿠키 전송 : 요청이 있을 때 마다 저장한 쿠키를 웹 브라우저 -> 웹 서버로 전송 * 쿠키 구성요소 : 이름,값,유효시간,도메인,경로 * 쿠키 생성 Cookie 생성자 이름과 값을 인자로 호출 해서 새로운 객체 생성 response 기..
[Tomcat] cookie domain error
http://www.somehost.com:8080/docs/config/cookie-processor.html#Legacy_Cookie_Processor_-_org.apache.tomcat.util.http.LegacyCookieProcessor Tomcat 8부터 쿠키 프로세서 사용시 쿠키 도메인이 숫자나 문자로 시작해야 한다. .somehost.com이 문제가 된 것임. 선행 점을 제거한다.