[jsp] 이클립스, mysql, db 커넥션 pool, jsp 개발환경 세팅
급하게 jsp 개발할 일이 있어서.. 간략히 남겨놓는다.
이클립스 설치
난 기존에 설치되어 있었음
mysql 설치
그냥 윈도우용 설치파일 설치했음
이클립스에서 프로젝트 생성
이클립스 실행 후, New > Dynamic Web Project
jdbc dirver 복사
C:\Program Files (x86)\MySQL\Connector J 8.0\mysql-connector-java-8.0.20.jar 파일을 이클립스 해당프로젝트 > WebContent > WEB-INF > lib 에 끌어다 놓음
혹은 톰켓설치위치\lib 밑에 복사해놔도 될 듯
DB connection pool 관련
필요한 파일다운로드 (commons-collections4-4.4.jar, commons-dbcp2-2.7.0.jar, commons-pool2-2.8.0.jar)
해당 파일을 이클립스 해당프로젝트 > WebContent > WEB-INF > lib 에 끌어다 놓음
이클립스 프로젝트 익스플로어에서 Servers > 해당 톰켓서버 > context.xml 열어 다음내용 추가
<Resource
name="jdbc/MysqlDB"
type="javax.sql.DataSource"
auth="Container"
maxActive="30"
maxIdle="3"
maxWait="3000"
username="mysqlusername"
password="mysqluserpass"
testOnBorrow="true"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mysqldbname?serverTimezone=UTC"
/>
잘 안되면, context.xml 파일을 해당프로젝트 > WebContent > META-INF 밑에 복사해본다.
DB pool 관련, WebContent\WEB-INF\web.xml 파일에 <resource-ref> 추가하는건 톰켓 5.0 부터인가는 안해도 된다 함. (나도 안했음.)
UTF-8설정
jsp page 상단에 charset UTF-8로 설정
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
누구는 request, response 도 설정해주라 하는데.. 나는 아래 톰켓 설정했더니, 이건 안해도 됐었음
<% request.setCharacterEncoding("UTF-8"); %>
<% response.setContentType("text/html; charset=UTF-8"); %>
톰켓의 server.xml 다음 태그에서 URIEncoding=”utf-8″ 추가 (잘 몰라서 8080으로 찾았음)
<!-- 수정전 --> <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/> <!-- 수정후 --> <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="utf-8"/>
톰켓의 web.xml 파일 수정. (난 찾아보니 주석처리 되어있길래 주석만 풀었음.
<filter>
<filter-name>setCharacterEncodingFilter</filter-name>
<filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<async-supported>true</async-supported>
</filter>