まじごみ日記

パチスロ・アニメ・特撮好きの日記です。最近の趣味は筋トレ。

今日こそ、簡単なWebアプリをつくれるか?

Eclipseはまともに動くのか

前回、PCスペックのあまりの低さに、Eclipseのダウンロードと解凍と起動だけで1日を終えてしまった。
すぐに新しいPCを買うのは(貯金額的に)厳しいので、しばらくはこのPCでやっていくしかない。とりあえずできるとこまでやってみよう。

プロジェクトの作成

まずはプロジェクトを作成。
いままで深く考えて無かったけど、そもそもプロジェクトとは何なのか?
いくつかのプログラムをまとめたもの。アプリケーションの管理単位。

・・・うん、まあそうでしょう。よくわかっていないのは、別プロジェクトのプログラムとの連携方法とか。おいおい試してみよう。

プロジェクト作成画面で、早速気になることが。 f:id:majigomi:20190802200035p:plain プロジェクト名って、一般的に頭文字大文字にすべきなの? どうでもいいことが気になってしまう。調べてみた。

一般的な命名ルール

■プロジェクト名
 ⇒特に一般的にコレ!というものはないみたい。testでもいいし、TESTでもTestAppでもtest_appでも。
■パッケージ名
 ⇒小文字で統一。アンダーバー(_)は使って良い。
■クラス名
 ⇒先頭大文字。単語の区切りは先頭大文字。TestApp(Pascal記法というらしい)
■メソッド名
 ⇒先頭小文字。単語の区切りは先頭大文字。testApp(camelCase記法というらしい)

気を取り直してプロジェクト作成。
・・・プロジェクト・レイアウトワーキング・セットてなんだ?

プロジェクト・レイアウト

「プロジェクト・フォルダーをソースおよびクラス・ファイルのルートとして使用」
 例)Eclipseインストールフォルダ\ワークスペース\example\パッケージ\test.java
 例)Eclipseインストールフォルダ\ワークスペース\example\パッケージ\test.class

「ソースおよびクラス・ファイルのフォルダーを個別に作成」
 例)Eclipseインストールフォルダ\ワークスペース\example\src\パッケージ\test.java
 例)Eclipseインストールフォルダ\ワークスペース\example\bin\パッケージ\test.class

全然知らんかった!いつものやつは、「ソースおよびクラス・ファイルのフォルダーを個別に作成」のほうだな。

ワーキング・セット

プロジェクト単位、ファイル単位などで設定できる。設定したワーキング・セットを指定して、表示項目をフィルタすることができる。

これも知らんかった!プロジェクトが増えてきたら設定してみよう。
さて今度こそ、プロジェクト作成。
f:id:majigomi:20190802203410p:plain module-info.javaってなんだ?やべえ、分からないことが多すぎる・・・

Java9のモジュール機能

module-info.javaは、Java9で追加されたモジュール機能の設定ファイル。
「どのモジュールを使うか」「どのパッケージを他のモジュールに対して公開するか」などを設定する。

・・・けっこう深そうだから、とりあえず『モジュールという管理単位がある』くらいの理解に留めて、先に進もう。
f:id:majigomi:20190802204732p:plain ようやくプロジェクト作成。とりあえず飯食おう。

サーバの設定

分からないことが多すぎて、時間がかかりすぎて飯をはさんでしまった。。
気を取り直して、サーバの設定を行おう。
サーバの設定をおこなうために・・・パースペクティブを「Java EE」にしておく。これで下のサブウィンドウに「サーバー」が現れた。 f:id:majigomi:20190802224658p:plain Tomcatって今バージョン9なんだな~、バージョン違うと何が違うんだろ?そのへんも別途確認しなきゃ。

動的Webモジュールバージョンって何だよ

しまった。tomcatアプリを作成するなら、プロジェクト作成で「動的Webプロジェクト」を指定すべきだった。。
さっき作ったプロジェクトは破棄して、新たに「動的Webプロジェクト」としてプロジェクト"TestWebApp"を作成。こんどはすんなり作れるでしょ。
ターゲット・ランタイムにはTomcat9を選択して・・・ f:id:majigomi:20190802225823p:plain ・・・動的Webモジュールバージョンって何だ?

ググっても、ズバリ説明しているサイトは見つけられたかった。こんなの説明するまでもねぇってことかよ。。
おそらく、アプリケーションサーバのバージョンを示していて、動かしたいアプリケーションサーバのバージョンとあわせておく必要があるのかな。
Tomcat9のweb.xmlで「version="4.0"」になってるから、ここで動かしたければ「4.0」を指定しておけばよいでしょ。 f:id:majigomi:20190802231947p:plain ようやく、準備がととのった!はず。。

Servletを作成

先ほど設定したTomcatに、今作ったプロジェクト"TestWebApp"を追加する。
f:id:majigomi:20190802232504p:plain Server.xmlに"TestWebApp"が追加された。

Servletクラスを作成する。「新規」⇒「サーブレット」を選択して、 f:id:majigomi:20190802233444p:plain 適当なパッケージ、クラス名を設定して完了。
f:id:majigomi:20190802233712p:plain ソースコードが自動生成された。Servletのコードの記載方法はいろいろ忘れちゃってるけど、とりあえず動かしてみよう。

URLは、
http://localhost:8080/[プロジェクト名]/[Servletクラスの@WebServletアノテーションの設定値]
でいける。なるほど。Servlet3.0から、web.xmlを設定しなくても動かせるようになったみたい。

f:id:majigomi:20190802234536p:plain

とりあえず、動いたから今日はおわり。
時間ばっかり掛かってるけど、今のところ全然進歩してねえ・・・
明日以降は加速して、いろいろ試せるようになるのか?とりあえず今日はもう疲れた。。

今日の出来事

f:id:majigomi:20190802193906j:plain
ゼロワンドライバー先行販売、落選!!