今回は、「データベースアプリケーションの作成(2)―コネクションプールの設定―」です。
引き続き、データベースアプリケーションの開発環境について見ていきましょう。
今回は、Tomcatのセットアップです。
MySQLに接続してみましょう。
■動画はこちら
■動画で使用しているソースコード
接続確認用のコード(サーブレット)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | package yurufuwa.prog.sample; import java.io.IOException; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.naming.InitialContext; import javax.sql.DataSource; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; public class Sv1 extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { Connection conn = null; try { //DBに接続 InitialContext ctx = new InitialContext(); DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/mysql"); conn = ds.getConnection(); //SQLを発行 Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("select now()"); //結果を取得 resp.getWriter().append("<html><header><meta charset=\"UTF-8\">"); resp.getWriter().append("</header><body>"); while(rs.next()) { resp.getWriter().append(rs.getString(1)).append("<br />"); } rs.close(); stmt.close(); resp.getWriter().append("</body></html>"); } catch(Exception e) { e.printStackTrace(); } finally { try { //接続を閉じる conn.close(); } catch(SQLException sqle) { } } } } |
context.xml
1 2 3 4 5 6 7 8 9 10 11 | <?xml version="1.0" encoding="UTF-8"?> <Context> <Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" username="yuruku" password="fuwatto" driverClassName="com.mysql.cj.jdbc.Driver" url="jdbc:mySQL://localhost/yuruku"/> </Context> |
web.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:web="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd" id="WebApp_ID" version="5.0"> <display-name>testWeb</display-name> <servlet> <description></description> <display-name>Sv1</display-name> <servlet-name>Sv1</servlet-name> <servlet-class>yurufuwa.prog.sample.Sv1</servlet-class> </servlet> <servlet-mapping> <servlet-name>Sv1</servlet-name> <url-pattern>/sv1</url-pattern> </servlet-mapping> </web-app> |