【JavaサンプルWebアプリ#1】プロジェクトの作成とデータベースの準備

今回のチュートリアルではサーブレットとjspを使ってWebアプリケーション(Todoアプリ)を開発していく方法を解説します。この記事を読むことでサーブレットやjspの使い方そしてデータベースとどのように連携するのかということがわかります。

開発環境は以下のようになります。統合開発環境としてeclipseを使用します。また筆者はMySQLの環境をDockerを使って準備しています。詳しく知りたいかた、同じ環境で開発を進めたい方はこちらの記事も読んでみてください。

  • macOS Catalina 10.15.7
  • Java 8
  • Tomcat 8
  • mysql 8.0.22

 



事前準備

プロジェクトの作成

アプリの開発を進める前にまずは準備をしていきます。Eclipseを開いて新規プロジェクトを作成します。この時普通にJavaプロジェクトを作成するのではなく「その他」を選択します。

すると新しいタブが開くので「Web」の中にある動的Webプロジェクトを選択し「次へ」を押します。

プロジェクトの初期設定をするタブが出現するのでプロジェクト名を入力した後、ターゲット・ランタイムでTomcat8(Java8)を選択します。

次の画面は何もせず次へを選択します。

最後にチェックマークを入れて、完了をおします。

これでプロジェクトの作成が終わりました。次にデータベースの準備を進めていきます。



データベースの準備

まずはJDBCドライバを使えるようにします。今回はMySQLを使用するのでConnecter/Jをダウンロードします。詳しくはこちらの記事で解説しています。ここでダウンロードしたjarファイルをWebContent/WEB-INF/libの中にコピーします。

次にMySQLの方で設定を行なっていきます。ターミナルなどでMySQLにログインします。この後パスワードを入力してログインすることができます。「mysql>」みたいな感じになってたらログインできています。

mysql -u root -p

次にデータベースを作成します。今回はtododbというデータベース名にしました。

create database tododb;

ユーザの作成をします。ユーザ名はsampleUserとし、パスワードはsamplePassにします。

create user sampleUser identified by 'samplePass';

作成したユーザに権限を与えます。

grant all on tododb.* to sampleUser;

一度MySQLからログアウトして先ほど作成したsampleUserでログインします。

exit
mysql -u sampleUser -p

ログインし直した後テーブルを作成します。今回作るテーブルはそれぞれのTodo項目を管理するためのidをint型、todoをvarchar、期限を管理するtimeLimitをdate型として作成しました。

use tododb
create table todoTable( id int primary key auto_increment, todo varchar(100) not null, timeLimit date);

最初にデータをいくつか入れておきます。

insert into todoTable(todo, timeLimit) values('create todo app', '2021-06-30');
insert into todoTable(todo, timeLimit) values('Read book', '2021-05-31');
insert into todoTable(todo, timeLimit) values('Cook lunch', '2021-05-31');

正しくデータが入っているか確認してみます。

select * from todoTable;

以下のように表示されたら今回の作業は完了です。

+----+-----------------+------------+
| id | todo            | timeLimit  |
+----+-----------------+------------+
|  1 | create todo app | 2021-06-30 |
|  2 | Read book       | 2021-05-31 |
|  3 | Cook lunch      | 2021-05-31 |
+----+-----------------+------------+

 



次回予告

次の記事ではデータベースに接続するための準備を行なっていきます。

コメント

タイトルとURLをコピーしました