[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>